Devstack MCP
What it does
Dev-registry data: npm/PyPI/Docker/VS Code packages, dep graphs, vulns, 50+ ecosystems.
- Connects 클라우드에서 실행
- Account or key No key needed
- Category 개발자 도구
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 4/5 통과 · 내가 묻는 내용은 제작자 서버(devstack-mcp.vercel.app)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
Claude의 Connectors 페이지 열기
CustomizeConnectors
“Add” → “Custom” → “Web”를 누르고 이 2칸 채우기
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Name · 이름Devstack MCPRemote MCP server URL · 주소https://devstack-mcp.vercel.app/mcpClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
채팅에서 켜기
+ConnectorsDevstack MCP
해 보기
Devstack MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Devstack MCP을 쓰고 있다고 하거나 답에 Devstack MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
웹 ChatGPT에서 MCP 추가 페이지 열기
Plugins+Add custom MCP server
이름과 주소 입력
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Name · 이름Devstack MCPConnection · 주소https://devstack-mcp.vercel.app/mcp채팅에서 Devstack MCP 고르기
새 채팅을 열고 입력 전에 플러그인 목록에서 Devstack MCP을 고르세요
해 보기
Devstack MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Devstack MCP을 쓰고 있다고 하거나 답에 Devstack MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
터미널 열기
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
이 명령을 붙여 넣고 Enter
claude mcp add --transport http --scope user devstack https://devstack-mcp.vercel.app/mcpClaude Code에서 /mcp 입력
Devstack MCP이 목록에 있고 연결됨으로 보이면 돼요
해 보기
Devstack MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Devstack MCP을 쓰고 있다고 하거나 답에 Devstack MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Cursor에서 AI 채팅을 Agent 모드로 열기
해 보기
Devstack MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Devstack MCP을 쓰고 있다고 하거나 답에 Devstack MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
VS Code에서 AI 채팅을 Agent 모드로 열기
해 보기
Devstack MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Devstack MCP을 쓰고 있다고 하거나 답에 Devstack MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://devstack-mcp.vercel.app/mcpJSON 설정은 아래 “개발자용”에 있어요
개발자용: 터미널 명령과 JSON 설정
웹으로 연결
Claude Code
claude mcp add --transport http --scope user devstack https://devstack-mcp.vercel.app/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"devstack": {
"url": "https://devstack-mcp.vercel.app/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"devstack": {
"type": "http",
"url": "https://devstack-mcp.vercel.app/mcp"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
한눈에 보기
어떤 앱에서 쓸 수 있나요
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
할 수 있는 일
도구 이름과 설명은 서버가 2026년 11월 10일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
get_packageFull normalized details for one package by registry + name, in a single unified Package shape across npm, PyPI, Docker Hub, and the VS Code Marketplace. name handles scoped npm ids (e.g. @types/node), Docker namespaces (e.g. library/nginx or a bare nginx for official images), and
search_packagesSearch a registry for packages matching q. registry=all fans out to npm, Docker Hub, and the VS Code Marketplace and merges the results. PyPI has no public search API, so registry=pypi returns 400 not_supported — look a PyPI package up by name via get_package instead. Results are
get_versionsList published versions (npm/PyPI), image tags (Docker Hub, most recent 25), or extension versions (VS Code) for a package. registry=all is NOT supported here — pick a single registry. Each item carries version and released, plus registry-specific extras (files for PyPI, size for
get_downloadsDownload statistics for a package. Only npm (via api.npmjs.org) and PyPI (via pypistats.org) support this; any other registry returns 400 not_supported. npm returns a period window with downloads, start, and end; PyPI returns last_day, last_week, and last_month totals.
get_dependency_graphThe fully resolved dependency graph for one exact package version, via deps.dev. Returns a flat nodes[] array plus integer-index edges[] (walk from/to to rebuild the tree). Each node carries relation (self | direct | indirect) and a direct boolean; node[0] is always the queried r
get_vulnerabilitiesKnown vulnerabilities (CVE / GHSA / PYSEC / GO advisories) for a package, via OSV.dev. Pass version to filter to advisories affecting that exact version, or omit it for the package's full advisory history. Each result carries the OSV id, cross-id aliases, a severity word grade (L
scan_vulnerabilities_batchScan many packages in one call — ideal for a whole lockfile. Pass a queries[] array (max 100) of { ecosystem, name, version? }; results are returned positionally aligned, one row per query, each with a count and a hydrated vulns[] array. Advisories are de-duplicated and hydrated
get_insightsHealth and security insights for a package's source project, via deps.dev. Returns the linked source repository, GitHub stars/forks/openIssues, licenses, resolved dependencyCount, security advisories, and the full OSSF Scorecard (ossfScore 0..10 plus the per-check breakdown). Omi
search_ecosystemsLook a package name up across 50+ registries at once, via ecosyste.ms. This is an EXACT-name lookup (not fuzzy full-text): q=react returns the react package everywhere it exists (npm, cargo, nuget, pub, bower, …), each as a normalized ecosystemsPackage with reverse-dependency cou
get_ecosystems_packageFull normalized metadata for one package on one of 50+ registries, via ecosyste.ms — including the fields v1 registries can't give you: dependentReposCount and dependentPackagesCount (reverse dependencies), ecosystem, and vulnerabilityCount. Scoped/namespaced names are handled au
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 14일 점검
토론
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
사용자 리뷰
아직 리뷰가 없어요
개발자 도구 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5888개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 5888개 중 24%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5888개 중 50%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Devstack MCP, 안전한가요?
해당하는 기본 점검 5개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 3개월 전 변경됐고, 최신 버전(1.0.0)은 3개월 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리의 다른 것
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
제작자의 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
/mcpendpoint, 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
fetchto 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):
| Tool | DevStack endpoint | Description |
|---|---|---|
get_package | GET /v1/package | Normalized package details by registry + name (registry=all fans out). |
search_packages | GET /v1/search | Search npm/Docker/VS Code (or all); PyPI has no search API. |
get_versions | GET /v1/versions | Published versions / image tags / extension versions. |
get_downloads | GET /v1/downloads | Download / pull statistics (npm + PyPI only). |
get_dependency_graph | GET /v1/deps | Fully resolved dependency graph for one exact version (deps.dev). |
get_vulnerabilities | GET /v1/vulns | Known CVEs/GHSAs per package/version (OSV.dev). |
scan_vulnerabilities_batch | POST /v1/vulns | Batch/lockfile vulnerability scan — up to 100 queries in one call (OSV.dev). |
get_insights | GET /v1/insights | OSSF Scorecard + repo signal + licenses/advisories (deps.dev). |
search_ecosystems | GET /v1/ecosystems/search | Cross-registry exact-name lookup across 50+ ecosystems (ecosyste.ms). |
get_ecosystems_package | GET /v1/ecosystems/package | One 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 var | Purpose | Default |
|---|---|---|
DEVSTACK_MCP_API_BASE_URL | Upstream DevStack base URL. | https://devstack-api.vercel.app |
DEVSTACK_MCP_PROXY_SECRET | RapidAPI proxy secret, sent as X-RapidAPI-Proxy-Secret to pass the upstream /v1/* guard. | "" (omitted) |
DEVSTACK_MCP_RATE_LIMIT | Soft 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:
GET /healthreturns{ ok: true, ... }initializesucceeds and reportsserverInfo.name === "devstack"tools/listreturns all 10 tools with their zod-derived JSON schemastools/callforget_packagewith{ 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