MCP server for searching and getting up-to-date information about NPM, Cargo, PyPi, and NuGet packages.
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.
Alternatively, in Cursor, you can configure MCP servers in your settings:
Cmd/Ctrl + ,
)package-registry
npx
["-y", "package-registry-mcp"]
For Claude Code, run the following command in your terminal:
claude mcp add package-registry 'npx -y package-registry-mcp'
After configuration, you'll have access to package search and information tools.
Add this server to your Claude Desktop by adding the following to your
claude_desktop_config.json
:
{
"mcpServers": {
"package-registry": {
"command": "npx",
"args": ["-y", "package-registry-mcp"]
}
}
}
The config file is typically located at:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
After adding the configuration, restart Claude Desktop.
search-npm-packages
Search the NPM registry for packages matching a query.
Parameters:
query
(string): Search term for packageslimit
(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 nameExample:
bun tool get-npm-package-details '{"name": "react"}'
Returns detailed information including:
list-npm-package-versions
List all versions of a specific NPM package.
Parameters:
name
(string): Exact crate namelimit
(number, optional): Maximum number of versions to return (1-1000,
default: 100)Example:
bun tool list-npm-package-versions '{"name": "react", "limit": 50}'
Returns:
search-cargo-packages
Search crates.io for Rust crates matching a query.
Parameters:
query
(string): Search term for crateslimit
(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 nameExample:
bun tool get-cargo-package-details '{"name": "serde"}'
Returns detailed information including:
list-cargo-package-versions
List all versions of a specific crate from crates.io.
Parameters:
name
(string): Exact crate namelimit
(number, optional): Maximum number of versions to return (1-1000,
default: 100)Example:
bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'
Returns:
search-nuget-packages
Search the NuGet registry for .NET packages matching a query.
Parameters:
query
(string): Search term for packageslimit
(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 nameExample:
bun tool get-nuget-package-details '{"name": "Newtonsoft.Json"}'
Returns detailed information including:
list-nuget-package-versions
List all versions of a specific NuGet package.
Parameters:
name
(string): Exact package namelimit
(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:
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 nameExample:
bun tool get-pypi-package-details '{"name": "requests"}'
Returns detailed information including:
list-pypi-package-versions
List all versions of a specific PyPI package.
Parameters:
name
(string): Exact package namelimit
(number, optional): Maximum number of versions to return (1-1000,
default: 100)Example:
bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'
Returns:
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:
list-golang-package-versions
List all versions of a specific Go module/package.
Parameters:
module
(string): Exact module pathlimit
(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:
Install the package globally:
npm install -g package-registry-mcp
Or use directly with npx (no installation required):
npx package-registry-mcp
npm install
# or
bun install
# or
yarn install
# Install dependencies
bun install
# Build the server
bun run build
# Format code
bun run format
# Test individual MCP tools
bun tool <tool-name> <json-arguments>
# NPM Examples:
# bun tool search-npm-packages '{"query": "react"}'
# bun tool get-npm-package-details '{"name": "react"}'
# bun tool list-npm-package-versions '{"name": "react", "limit": 50}'
# crates.io Examples:
# bun tool search-cargo-packages '{"query": "serde"}'
# bun tool get-cargo-package-details '{"name": "serde"}'
# bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'
# NuGet Examples:
# bun tool search-nuget-packages '{"query": "newtonsoft"}'
# bun tool get-nuget-package-details '{"name": "Newtonsoft.Json"}'
# bun tool list-nuget-package-versions '{"name": "Newtonsoft.Json", "limit": 50}'
# PyPI Examples:
# bun tool get-pypi-package-details '{"name": "requests"}'
# bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'
# Go Examples:
# bun tool get-golang-package-details '{"module": "github.com/gin-gonic/gin"}'
# bun tool list-golang-package-versions '{"module": "github.com/gorilla/mux", "limit": 50}'
See LICENSE file for details.