Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Check packages for CVEs, slopsquatting, and CISA KEV before your AI agent installs them.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
VDB_API_URL, VDB_API_TOKEN비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://vdb.ai.kr/mcpClaude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"vdb": {
"command": "uvx",
"args": [
"vdb-mcp"
],
"env": {
"VDB_API_URL": "your-value",
"VDB_API_TOKEN": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http vdb https://vdb.ai.kr/mcpclaude mcp add vdb --env VDB_API_URL=your-value --env VDB_API_TOKEN=your-value -- uvx vdb-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"vdb": {
"url": "https://vdb.ai.kr/mcp"
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"vdb": {
"command": "uvx",
"args": [
"vdb-mcp"
],
"env": {
"VDB_API_URL": "your-value",
"VDB_API_TOKEN": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"vdb": {
"type": "http",
"url": "https://vdb.ai.kr/mcp"
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"vdb": {
"type": "stdio",
"command": "uvx",
"args": [
"vdb-mcp"
],
"env": {
"VDB_API_URL": "your-value",
"VDB_API_TOKEN": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://vdb.ai.kr/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
VDB_API_URL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 도메인 vdb.ai.kr 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: VDB_API_TOKEN
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.8)은 10일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
mcp-name: kr.ai.vdb/vdb
MCP (Model Context Protocol) server for [VDB](https://vdb.ai.kr) — the AI-aware vulnerability database. Lets Claude Desktop, Claude Code, Cursor, Cline, Continue, and any MCP client check packages while generating code: known CVEs, slopsquatting (LLM-hallucinated package names an attacker may have registered), CISA KEV status, MCP-server trust profiles, and more.
Where this works: Runs where your code is: an agent on your machine with the project folder (Claude Code, Cursor, Cline, Codex CLI). A chat-only web AI cannot use it — its sandbox has no outbound network, and it cannot see your files.
uvx vdb-mcp # or: pipx run vdb-mcp
Claude Desktop (claude_desktop_config.json) / Cursor (.cursor/mcp.json):
{
"mcpServers": { "vdb": { "command": "uvx", "args": ["vdb-mcp"] } } }
No install at all — point any streamable-HTTP MCP client at the hosted endpoint:
{
"mcpServers": { "vdb": { "url": "https://vdb.ai.kr/mcp", "headers": { "Authorization": "Bearer vdb_..." } } } }
Claude Code: claude mcp add --transport http vdb https://vdb.ai.kr/mcp --header "Authorization: Bearer $VDB_API_KEY". The hosted endpoint reads the key from that header (0.2.3+; the vdbApiToken query parameter Smithery sets still works and takes precedence).
That's it — the server talks to the hosted instance at https://vdb.ai.kr by default. The package gate (vdb_check_package, vdb_check_packages, vdb_list_slopsquatting) and the hardening tools (vdb_harden, vdb_harden_remediate, vdb_harden_verify, vdb_vex) answer without a key on a per-address allowance (0.2.8+; 100 packages an hour, 3 analyses an hour and 10 a day, projects up to 200 dependencies, nothing stored). The other tools need a free API key (https://vdb.ai.kr/signup, or the agent can request one by email itself: without a key those tools answer agent_action: REFUSE with a request_key_url). A key is currently unmetered beyond abuse protection:
{
"mcpServers": { "vdb": { "command": "uvx", "args": ["vdb-mcp"], "env": { "VDB_API_TOKEN": "vdb_..." } } } }
| Tool | What it does |
|---|---|
vdb_check_package | Check one package (purl + optional version) for vulnerabilities, slop risk, KEV |
vdb_check_packages | Bulk slopsquatting / risk check for a list of packages |
vdb_scan_lockfile | Merge verdict for a whole lockfile / SBOM (transitives included) |
vdb_lookup | Fetch one advisory by ID (CVE-…, GHSA-…, VDB-SLOP-…) |
vdb_search | Free-text search over the vulnerability corpus |
vdb_check_mcp_server | Trust tier + permission scopes of a community MCP server |
vdb_list_slopsquatting | Current slopsquatting candidates per ecosystem |
vdb_harden *(local only)* | Call-site hardening: can attacker data reach a dangerous sink through your dependencies? Source never leaves the machine |
vdb_harden_verify *(local only)* | Re-analyze after a fix and get signed evidence the path is closed (without a key: pass original_path, the pre-fix file; the decision comes back unsigned) |
vdb_harden_remediate *(local only)* | Rank what to fix first: upgrade / harden / remove / policy candidates by project risk removed per cost, plus the combination that reaches a target (0.2.7+) |
vdb_vex *(local only)* | OpenVEX document: which advisories cannot be reached |
The four local-only tools need your files, so the hosted endpoint does not offer them — seven tools remote, eleven with uvx vdb-mcp.
vdb harden commandThe same package installs the CLI behind the local tools, for use without an MCP client (0.2.2 or newer):
uvx --from vdb-mcp vdb harden app.py --manifest uv.lock # analyze a call site
uvx --from vdb-mcp vdb harden --doctor # which of network / key / service is at fault uvx --from vdb-mcp vdb harden ./src --manifest uv.lock --vex uvx --from vdb-mcp vdb harden app.py --manifest uv.lock --remediate --target 0.2 # what to fix first uvx --from vdb-mcp vdb harden ./src --manifest requirements.txt --exclude tests --exclude "*-fixtures" uvx --from vdb-mcp vdb harden app.py --manifest uv.lock --verify P-… --original /tmp/before/app.py # keyless re-verification
It works without a key (0.2.8+): three analyses an hour and ten a day per address, nothing stored, upgrades estimated. VDB_API_KEY keeps the project, re-scores it when a package on a path changes, and signs the evidence.
Where PyPI is unreachable, https://vdb.ai.kr/v1/harden/client.pyz is the same CLI as one stdlib-only file (hash at /v1/harden/client.sha256): python3 client.pyz --doctor. Nothing to install.
| Variable | Default | Meaning |
|---|---|---|
VDB_API_URL | https://vdb.ai.kr | VDB instance to query (set for self-hosted) |
VDB_API_TOKEN | *(empty)* | vdb_… API key — lifts the keyless limits; required for lookup, search and SBOM scanning |
VDB_PROXY_TOKEN | *(empty)* | Hosted endpoint only (0.2.9+): a secret shared with the API so it believes the visitor address this server forwards, and keyless visitors are counted each as themselves. Grants nothing else; leave unset locally |
VDB_API_ADDR | 144.202.127.83 | Where VDB lives when this machine's DNS cannot say — see below |
MCP_MODE | stdio | stdio or sse (long-running HTTP server) |
MCP_PORT | 7700 | SSE port |
Sandboxes often allow egress but not name resolution. When — and only when — resolving vdb.ai.kr fails, the server retries against VDB_API_ADDR. That bypasses DNS and nothing else: the TLS handshake still presents the real hostname and validates its certificate, so a pinned connection is exactly as authenticated as a resolved one. HTTP errors, refused connections and timeouts are never retried — the name resolved, so the address would be the same box.
LLMs hallucinate package names; attackers register them (slopsquatting). LLMs also happily recommend packages with known RCEs. VDB gives your agent a guardrail: one tool call before npm install / pip install. See https://vdb.ai.kr/connect for the one-line prompt variant that needs no MCP at all.
Elastic License 2.0 — free to use, including inside commercial organizations and CI. The only restrictions: you may not offer this software to third parties as a hosted or managed service, or resell it as a product. Commercial licensing beyond that: . API usage is governed by the VDB service terms regardless of how you call it.