原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Devstack MCP

作者:IsaiahDupree版本 1.0.0i★ –i在云端运行
注册名称io.github.IsaiahDupree/devstack-mcp

安装

概览

作者提供的说明(英文原文)

Dev-registry data: npm/PyPI/Docker/VS Code packages, dep graphs, vulns, 50+ ecosystems.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在云端运行
  • 传输方式: Streamable HTTP
  • 分类: 开发者工具

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://devstack-mcp.vercel.app/mcp

在终端中运行这条命令

claude mcp add --transport http devstack https://devstack-mcp.vercel.app/mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "devstack": {
      "url": "https://devstack-mcp.vercel.app/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "devstack": {
      "type": "http",
      "url": "https://devstack-mcp.vercel.app/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://devstack-mcp.vercel.app/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 IsaiahDupree 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“开发者工具”中的其他服务器比较i

  • 星标数多于此分类中其他 1387 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1387 个服务器的 37% 更新
  • 基础检查结果等于或优于此分类中其他 1387 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Devstack MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.0)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:GitHub, Desktop Commander, Cloudflare MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

电脑或云端★ 34,245MIT3天前更新
安装

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

在你的电脑上运行★ 10,225MIT15天前更新
安装

Cloudflare MCP

作者:cloudflare

Cloudflare MCP servers

在云端运行★ 4,446Apache-2.014个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

devstack-mcp

A remote MCP (Model Context Protocol) connector for DevStack API — the libraries.io successor: one keyless, normalized view of the whole developer registry across npm, PyPI, Docker Hub, and the VS Code Marketplace (search, package details, versions, download/pull stats), plus resolved dependency graphs (deps.dev), per-version vulnerabilities (OSV.dev), OSSF Scorecard insights (deps.dev), and cross-registry lookups over 50+ ecosystems (ecosyste.ms).

Target deploy: https://devstack-mcp.vercel.app/mcp — 10 tools. Since the upstream DevStack deployment is metered (RapidAPI/Apify) and gates /v1/* behind a RapidAPI proxy-secret guard, this connector authenticates its own outbound calls with that same proxy secret (DEVSTACK_MCP_PROXY_SECRET, sent as the X-RapidAPI-Proxy-Secret header) and applies a soft per-IP rate limit (DEVSTACK_MCP_RATE_LIMIT, default 30 tool-calls/hour, in-memory) so the free MCP tier stays a discovery channel rather than an unmetered bypass of the paid listing — see lib/ratelimit.js.

What this is, and why it's a separate connector

DevStack API is a plain REST API. Any HTTP client can already call it directly. This repo exists because MCP clients (Claude, ChatGPT, and other MCP-aware agents) don't consume arbitrary REST APIs — they consume MCP tools. devstack-mcp is a thin adapter layer that:

  • Exposes each DevStack endpoint as a discoverable, typed MCP tool (name, description, zod input schema, annotations) that an LLM can reason about and call directly, instead of having to be taught the REST surface out-of-band.
  • Speaks the MCP streamable-HTTP transport at a single /mcp endpoint, so it can be registered as a connector in Claude, ChatGPT, or any other MCP client with one URL.
  • Does nothing else. It has no business logic of its own — every tool call is a pass-through fetch to DevStack, and the JSON response DevStack returns is handed back verbatim as the tool result.

Authentication: None on the MCP side (deliberate)

DevStack's data has no per-user dimension at all — it's public developer-registry metadata (package listings, versions, download counts, dependency graphs, published CVEs). There is nothing to gate per-caller, so this connector intentionally ships with:

  • No OAuth, no login, no per-user bearer tokens
  • No Supabase / database
  • No demo-vs-real account split — every caller gets the same real, live data

The one server-side secret it carries (DEVSTACK_MCP_PROXY_SECRET) is not per-caller auth — it's how this connector, as a single consumer, gets past the upstream's RapidAPI proxy-secret guard to reach real data. Combined with the soft per-IP rate limit, that keeps this a free discovery tier over the metered DevStack product rather than an unmetered bypass of the paid RapidAPI/Apify listing.

Tool list

One tool per DevStack /v1 endpoint (from devstack-api/openapi.yaml):

ToolDevStack endpointDescription
get_packageGET /v1/packageNormalized package details by registry + name (registry=all fans out).
search_packagesGET /v1/searchSearch npm/Docker/VS Code (or all); PyPI has no search API.
get_versionsGET /v1/versionsPublished versions / image tags / extension versions.
get_downloadsGET /v1/downloadsDownload / pull statistics (npm + PyPI only).
get_dependency_graphGET /v1/depsFully resolved dependency graph for one exact version (deps.dev).
get_vulnerabilitiesGET /v1/vulnsKnown CVEs/GHSAs per package/version (OSV.dev).
scan_vulnerabilities_batchPOST /v1/vulnsBatch/lockfile vulnerability scan — up to 100 queries in one call (OSV.dev).
get_insightsGET /v1/insightsOSSF Scorecard + repo signal + licenses/advisories (deps.dev).
search_ecosystemsGET /v1/ecosystems/searchCross-registry exact-name lookup across 50+ ecosystems (ecosyste.ms).
get_ecosystems_packageGET /v1/ecosystems/packageOne package on one registry, with reverse-dependency counts (ecosyste.ms).

All 10 tools are read-only and annotated { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }. scan_vulnerabilities_batch is an HTTP POST but is a read-only *query* (it mutates nothing), so it carries the same read-only annotations.

How it wraps devstack-api

Each tool handler does a plain fetch(\${DEVSTACK_MCP_API_BASE_URL}${path}\, ...) against the real DevStack REST API and returns the parsed JSON as MCP tool-result content:

{ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }

Upstream HTTP errors (4xx/5xx) are caught and surfaced as a typed MCP error result via an asError helper rather than crashing the request.

Environment variables
Env varPurposeDefault
DEVSTACK_MCP_API_BASE_URLUpstream DevStack base URL.https://devstack-api.vercel.app
DEVSTACK_MCP_PROXY_SECRETRapidAPI proxy secret, sent as X-RapidAPI-Proxy-Secret to pass the upstream /v1/* guard."" (omitted)
DEVSTACK_MCP_RATE_LIMITSoft per-IP tool-calls/hour cap for this free tier.30

Project layout

api/mcp.js       MCP endpoint (StreamableHTTPServerTransport, stateless, no per-caller auth)

api/health.js GET /api/health lib/tools.js All 10 tool definitions (zod schemas + fetch-and-forward handlers) lib/ratelimit.js Soft per-IP tools/call cap (free discovery tier) local-server.js Plain-Node http server for local dev / smoke testing (not deployed) test/smoke.mjs Real end-to-end smoke test (initialize, tools/list, tools/call) vercel.json Routes /mcp -> api/mcp.js, /health -> api/health.js server.json MCP registry publish manifest

Local development

npm install

npm run dev # starts local-server.js on http://localhost:3900

Endpoints locally: POST http://localhost:3900/mcp, GET http://localhost:3900/health.

To point at a self-hosted / open DevStack instance instead of production (useful for a fully keyless end-to-end run, since production's /v1/* is behind the RapidAPI proxy-secret guard):

# In devstack-api (guard is inert when RAPIDAPI_PROXY_SECRET is unset):

node server.js # listens on :8080

In devstack-mcp:

DEVSTACK_MCP_API_BASE_URL=http://localhost:8080 npm run dev

Smoke test

npm run dev &                 # terminal 1

npm run smoke # terminal 2

test/smoke.mjs drives the running server over real HTTP/JSON-RPC and verifies:

  1. GET /health returns { ok: true, ... }
  2. initialize succeeds and reports serverInfo.name === "devstack"
  3. tools/list returns all 10 tools with their zod-derived JSON schemas
  4. tools/call for get_package with { registry: "npm", name: "react" } returns real package data fetched live (not mocked)

Against production, step 4 needs DEVSTACK_MCP_PROXY_SECRET set (the RapidAPI proxy guard); against a locally self-hosted devstack-api with no RAPIDAPI_PROXY_SECRET, the guard is inert and real data flows keyless.

Deploy

Not deployed by this build. Once ready:

cd /Users/isaiahdupree/Software/devstack-mcp

npx vercel --yes --prod

After deploy, set DEVSTACK_MCP_PROXY_SECRET in the Vercel project so the connector can reach the guarded production /v1/*, then register the MCP connector URL in Claude/ChatGPT/any MCP client:

https://<deployment-domain>/mcp
问 PopNx