
SafeDep Vet MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants check npm and PyPI packages for malware, vulnerabilities and license problems before installing them.
SafeDep's vet MCP server gives your coding assistant a way to look up a package before it recommends installing it. It checks for known malware, vulnerabilities, popularity, license and available versions, and it supports npm and PyPI packages. It is part of SafeDep's open source vet tool and runs on your machine over Docker.
The lookups go to SafeDep's online services, so package names leave your computer. SafeDep also offers a hosted version for lower latency, which the docs point to.
Good for
- Developers using AI coding agents who want a check before a new dependency is added
- Security teams worried about malicious or invented package names
- Claude Code, Cursor and VS Code users who want the check built into the agent
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install SafeDep Vet MCP
Claude Code
- 1
Copy this prompt.
Add the SafeDep Vet MCP server to Claude Code. Run this command: claude mcp add safedep-vet -- docker run -i --rm ghcr.io/safedep/vet server mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Docker.
The generated Docker command needs server mcp after the image name, or it only prints vet help. The docs use the ghcr.io/safedep/vet:latest image and update it from time to time, since a container keeps its own copy of the tool. Stdio is the default mode.
Built from the package data we hold. Not yet tested by us.
Tools
Checks whether a package version is known malware
Sends the package to SafeDep's malware analysis service and returns its report, or says no known malware was found.
Try: “Check lodash 4.17.21 on npm for malware.”
Network ·
get_package_version_malware_reportLists known vulnerabilities in a package version
Looks up the package version by its package URL in SafeDep's insights service and returns the vulnerabilities it finds.
Try: “Does requests 2.31.0 on PyPI have known vulnerabilities?”
Network ·
get_package_version_vulnerabilitiesShows how popular a package version is
Returns popularity data for the package version, which helps spot look-alike or brand-new packages.
Try: “How widely used is this package?”
Network ·
get_package_version_popularityShows the license of a package version
Returns the license information that SafeDep holds for the package version.
Try: “What license does this npm package use?”
Network ·
get_package_version_license_infoFinds the latest version of a package
Asks the package registry for the newest version. The server instructions say a package with no latest version may be a slopsquatting name made up by an AI.
Try: “What is the latest version of express?”
Network ·
get_package_latest_versionLists every published version of a package
Returns the versions the registry has for the package.
Try: “Which versions of flask are on PyPI?”
Network ·
get_package_available_versions
Read from the source code
Permissions
low risk · 4 things to watch · 1 advisory
Low risk
The tools only look up information about packages, but each lookup sends the package name to SafeDep. Use the default stdio mode, not the optional SSE web mode, unless you need it.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
Package names are sent to SafeDep
Each lookup goes to SafeDep's online services, so the packages you check are shared with them. github.com
The server tells the assistant to always use it
Its built-in instructions say to always vet a dependency with these tools before using it in generated code. That steers the assistant toward calling them on every package. github.com
Old versions exposed the web endpoint to DNS rebinding
A fixed advisory covered the SSE mode. The default stdio mode is not affected, and the current docs list host and origin guards for SSE. github.com
Optional tools are off by default
The --sql-query-tool flag adds two tools, vet_query_sql_introspect_schema and vet_query_execute_sql_query, that read a vet report SQLite database you point it at with --sql-query-tool-db-path. The tool description says only SELECT queries are allowed. Leave the flag off unless you need it. github.com
Security advisories
Technical details
| Turning on read-only | Not needed: the default tools only look up information. An optional SQL query tool, off by default, accepts SELECT queries only. |
|---|---|
| Talks to | SafeDep insights and malware analysis services (community access). The package registry for version lookups. GitHub, through an API client |
| Sign-in and keys | No key is set up in the code: the server uses SafeDep's community endpoints. |
Questions
Is it official?
Yes. It is made by SafeDep and ships inside SafeDep's own vet repository.
Which ecosystems does it check?
npm and PyPI packages only.
Does it need an API key?
No key is set up in the docs or code. The server uses SafeDep's community access for its lookups.
Does it send my code to SafeDep?
It sends the package names and versions you ask about, not your source files. The lookups go to SafeDep's online services.
Can it block a bad install by itself?
No. It returns information. The docs suggest rules for Cursor and Copilot that tell the assistant to check every package first.
Is there a hosted version?
Yes. The docs note that SafeDep offers a hosted server with lower latency and real-time malware protection. It is a separate setup that the docs link to.
Which tools are optional?
Two extra tools query a vet report database with SELECT statements, and they need a flag and a database path. The registry tools are part of the default set.
How do I add it to Claude Code?
Use the Claude Code tab in the install box above. It needs Docker.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
ghcr.io/safedep/vet- Registry
- Docker
- Transport
- stdio
- Version
- 1.20.0
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 81
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- vet MCP server docs · github.com
- cmd/server/mcp.go · github.com
- mcp/tools · github.com
- GHSA-6q9c-m9fr-865m · github.com