package-registry-mcp
MCP server for searching and getting up-to-date information about NPM, Cargo, PyPi, and NuGet packages.
Documentation
Package Registry MCP Server
A Model Context Protocol (MCP) server that enables AI assistants and agents
(Claude, Cursor, Copilot, etc.) to search package registries and retrieve
up-to-date package information.
Getting Started
Cursor
Alternatively, in Cursor, you can configure MCP servers in your settings:
1. Open Cursor Settings (`Cmd/Ctrl + ,`)
2. Search for "MCP" or go to Extensions > MCP
3. Add a new server with:
Claude Code
For Claude Code, run the following command in your terminal:
claude mcp add -s user package-registry npx package-registry-mcpAfter configuration, you'll have access to package search and information tools.
Claude Desktop
Add this server to your Claude Desktop by adding the following to your
`claude_desktop_config.json`:
{
"mcpServers": {
"package-registry": {
"command": "npx",
"args": ["package-registry-mcp"]
}
}
}The config file is typically located at:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
After adding the configuration, restart Claude Desktop.
Features
- Search NPM packages
- Get detailed NPM package information
- Search crates.io (Rust package registry)
- Get detailed crate information
- Search NuGet packages (.NET package registry)
- Get detailed NuGet package information
- Get detailed PyPI package information (Python package registry)
- Get detailed Go module information (Go package registry)
- Search GitHub Security Advisories for vulnerabilities
- Real-time data directly from package registries
Available Tools
NPM Tools
`search-npm-packages`
Search the NPM registry for packages matching a query.
Parameters:
- `query` (string): Search term for packages
- `limit` (number, optional): Maximum number of results (1-100, default: 10)
Example:
bun tool search-npm-packages '{"query": "react", "limit": 5}'`get-npm-package-details`
Get detailed information about a specific NPM package.
Parameters:
- `name` (string): Exact crate name
Example:
bun tool get-npm-package-details '{"name": "react"}'Returns detailed information including:
- Package metadata (name, description, version, license)
- Dependencies (runtime, dev, peer)
- Maintainer information
- Repository and homepage links
- Last 50 versions (newest first)
`list-npm-package-versions`
List all versions of a specific NPM package.
Parameters:
- `name` (string): Exact crate name
- `limit` (number, optional): Maximum number of versions to return (1-1000,
default: 100)
Example:
bun tool list-npm-package-versions '{"name": "react", "limit": 50}'Returns:
- Package name and total version count
- All versions sorted by release date (newest first)
- Latest version information
crates.io Tools
`search-cargo-packages`
Search crates.io for Rust crates matching a query.
Parameters:
- `query` (string): Search term for crates
- `limit` (number, optional): Maximum number of results (1-100, default: 10)
Example:
bun tool search-cargo-packages '{"query": "serde", "limit": 5}'`get-cargo-package-details`
Get detailed information about a specific crate from crates.io.
Parameters:
- `name` (string): Exact crate name
Example:
bun tool get-cargo-package-details '{"name": "serde"}'Returns detailed information including:
- Crate metadata (name, description, version, license)
- Keywords and categories
- Download statistics (total and recent)
- Features and crate size
- Repository, homepage, and documentation links
- Last 50 versions (newest first)
`list-cargo-package-versions`
List all versions of a specific crate from crates.io.
Parameters:
- `name` (string): Exact crate name
- `limit` (number, optional): Maximum number of versions to return (1-1000,
default: 100)
Example:
bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'Returns:
- Crate name and total version count
- All versions sorted by release date (newest first)
- Latest and max stable version information
NuGet Tools
`search-nuget-packages`
Search the NuGet registry for .NET packages matching a query.
Parameters:
- `query` (string): Search term for packages
- `limit` (number, optional): Maximum number of results (1-100, default: 10)
Example:
bun tool search-nuget-packages '{"query": "newtonsoft", "limit": 5}'`get-nuget-package-details`
Get detailed information about a specific NuGet package.
Parameters:
- `name` (string): Exact package name
Example:
bun tool get-nuget-package-details '{"name": "Newtonsoft.Json"}'Returns detailed information including:
- Package metadata (name, description, version, license)
- Authors and project information
- Target frameworks and dependencies
- Download statistics and verification status
- Project, license, and icon URLs
- Last 50 versions (newest first)
`list-nuget-package-versions`
List all versions of a specific NuGet package.
Parameters:
- `name` (string): Exact package name
- `limit` (number, optional): Maximum number of versions to return (1-1000,
default: 100)
Example:
bun tool list-nuget-package-versions '{"name": "Newtonsoft.Json", "limit": 50}'Returns:
- Package name and total version count
- All versions sorted by release date (newest first)
- Latest version information
PyPI Tools
Note: PyPI does not provide a JSON search API, so only package details and
version listing are supported. For searching, please use the PyPI website
directly at https://pypi.org/search/.
`get-pypi-package-details`
Get detailed information about a specific PyPI package.
Parameters:
- `name` (string): Exact package name
Example:
bun tool get-pypi-package-details '{"name": "requests"}'Returns detailed information including:
- Package metadata (name, description, version, license)
- Author and maintainer information
- Dependencies and Python version requirements
- Classifiers and keywords
- Project URLs and documentation links
- Download statistics
- Vulnerability information
- Last 50 versions (newest first)
`list-pypi-package-versions`
List all versions of a specific PyPI package.
Parameters:
- `name` (string): Exact package name
- `limit` (number, optional): Maximum number of versions to return (1-1000,
default: 100)
Example:
bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'Returns:
- Package name and total version count
- All versions sorted by release date (newest first)
- Latest version information
Go Tools
Note: pkg.go.dev does not provide a JSON search API, so only package details and
version listing are supported. For searching, please use the pkg.go.dev website
directly at https://pkg.go.dev/search/.
`get-golang-package-details`
Get detailed information about a specific Go module/package.
Parameters:
- `module` (string): Exact module path (e.g., "github.com/gin-gonic/gin")
Example:
bun tool get-golang-package-details '{"module": "github.com/gin-gonic/gin"}'Returns detailed information including:
- Module path and latest version
- Publication date and repository information
- VCS (version control system) details
- pkg.go.dev and go get command links
- Last 50 versions (newest first)
`list-golang-package-versions`
List all versions of a specific Go module/package.
Parameters:
- `module` (string): Exact module path
- `limit` (number, optional): Maximum number of versions to return (1-1000,
default: 100)
Example:
bun tool list-golang-package-versions '{"module": "github.com/gorilla/mux", "limit": 50}'Returns:
- Module path and total version count
- All versions sorted by release date (newest first)
- Latest version information
GitHub Security Advisory Tools
`search-github-advisories`
Search the GitHub Security Advisory Database for vulnerabilities.
Parameters:
- `ecosystem` (string, optional): Filter by package ecosystem (`npm`, `pip`,
`maven`, `nuget`, `go`, `rust`, `rubygems`, `composer`, `pub`, `swift`,
`erlang`, `actions`, `other`)
- `severity` (string, optional): Filter by severity level (`unknown`, `low`,
`medium`, `high`, `critical`)
- `type` (string, optional): Filter by advisory type (`reviewed`, `malware`,
`unreviewed`)
- `cveId` (string, optional): Filter by CVE identifier
- `limit` (number, optional): Maximum number of results (1-100, default: 30)
Example:
bun tool search-github-advisories '{"ecosystem": "npm", "severity": "critical", "limit": 5}'`get-github-advisory`
Get detailed information about a specific GitHub Security Advisory.
Parameters:
- `ghsaId` (string): The GHSA identifier (e.g., `GHSA-grv7-fg5c-xmjg`)
Example:
bun tool get-github-advisory '{"ghsaId": "GHSA-grv7-fg5c-xmjg"}'Returns detailed information including:
- Advisory metadata (GHSA ID, CVE ID, summary, description)
- Severity and CVSS score
- Affected packages and vulnerable version ranges
- Patched versions
- CWE classifications
- References and credits
`get-package-advisories`
Get all security advisories affecting a specific package.
Parameters:
- `ecosystem` (string): The package ecosystem (`npm`, `pip`, `maven`, etc.)
- `packageName` (string): The package name (e.g., `braces`, `lodash`)
- `severity` (string, optional): Filter by severity level
- `limit` (number, optional): Maximum number of results (1-100, default: 30)
Example:
bun tool get-package-advisories '{"ecosystem": "npm", "packageName": "braces"}'Returns:
- All known security advisories for the specified package
- Vulnerable version ranges and patched versions
- Severity ratings and CVSS scores
Installation
Install the package globally:
npm install -g package-registry-mcpOr use directly with npx (no installation required):
npx package-registry-mcpContributing
See CONTRIBUTING.md for development setup and guidelines.
Requirements
- Node.js 18+ or Bun runtime
- Internet connection for package registry access
License
See LICENSE file for details.
Frequently asked questions
What is package-registry-mcp?
package-registry-mcp is MCP server for searching and getting up-to-date information about NPM, Cargo, PyPi, and NuGet packages.
How do I install package-registry-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is package-registry-mcp open source?
Yes — it is hosted on GitHub at https://github.com/Artmann/package-registry-mcp and has 39 stars.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP