一个模型上下文协议(MCP)服务器,使AI助手和代理(如Claude、Cursor、Copilot等)能够搜索包注册表并检索最新的包信息。
或者,在Cursor中,您可以在设置中配置MCP服务器:
Cmd/Ctrl + ,)package-registrynpx["-y", "package-registry-mcp"]对于Claude Code,在您的终端运行以下命令:
claude mcp add -s user package-registry 'npx -y package-registry-mcp'
配置完成后,您将可以访问包搜索和信息工具。
在您的claude_desktop_config.json中添加以下内容以将此服务器添加到您的Claude Desktop:
{
"mcpServers": {
"package-registry": {
"command": "npx",
"args": ["-y", "package-registry-mcp"]
}
}
}
配置文件通常位于:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json添加配置后,请重启Claude Desktop。
search-npm-packages在NPM注册表中搜索与查询匹配的包。
参数:
query (字符串): 包的搜索词limit (数字, 可选): 结果的最大数量 (1-100,默认: 10)示例:
bun tool search-npm-packages '{"query": "react", "limit": 5}'
get-npm-package-details获取特定NPM包的详细信息。
参数:
name (字符串): 精确的包名示例:
bun tool get-npm-package-details '{"name": "react"}'
返回详细信息包括:
list-npm-package-versions列出特定NPM包的所有版本。
参数:
name (字符串): 精确的包名limit (数字, 可选): 返回的版本最大数量 (1-1000,默认: 100)示例:
bun tool list-npm-package-versions '{"name": "react", "limit": 50}'
返回:
search-cargo-packages在crates.io中搜索与查询匹配的Rust crate。
参数:
query (字符串): crate的搜索词limit (数字, 可选): 结果的最大数量 (1-100,默认: 10)示例:
bun tool search-cargo-packages '{"query": "serde", "limit": 5}'
get-cargo-package-details获取来自crates.io的特定crate的详细信息。
参数:
name (字符串): 精确的crate名示例:
bun tool get-cargo-package-details '{"name": "serde"}'
返回详细信息包括:
list-cargo-package-versions列出来自crates.io的特定crate的所有版本。
参数:
name (字符串): 精确的crate名limit (数字, 可选): 返回的版本最大数量 (1-1000,默认: 100)示例:
bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'
返回:
search-nuget-packages在NuGet注册表中搜索与查询匹配的.NET包。
参数:
query (字符串): 包的搜索词limit (数字, 可选): 结果的最大数量 (1-100,默认: 10)示例:
bun tool search-nuget-packages '{"query": "newtonsoft", "limit": 5}'
get-nuget-package-details获取特定NuGet包的详细信息。
参数:
name (字符串): 精确的包名示例:
bun tool get-nuget-package-details '{"name": "Newtonsoft.Json"}'
返回详细信息包括:
list-nuget-package-versions列出特定NuGet包的所有版本。
参数:
name (字符串): 精确的包名limit (数字, 可选): 返回的版本最大数量 (1-1000,默认: 100)示例:
bun tool list-nuget-package-versions '{"name": "Newtonsoft.Json", "limit": 50}'
返回:
注意:PyPI不提供JSON搜索API,因此只支持包详情和版本列表。搜索请直接访问PyPI网站 https://pypi.org/search/。
get-pypi-package-details获取特定PyPI包的详细信息。
参数:
name (字符串): 精确的包名示例:
bun tool get-pypi-package-details '{"name": "requests"}'
返回详细信息包括:
list-pypi-package-versions列出特定PyPI包的所有版本。
参数:
name (字符串): 精确的包名limit (数字, 可选): 返回的版本最大数量 (1-1000,默认: 100)示例:
bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'
返回:
注意:pkg.go.dev不提供JSON搜索API,因此只支持包详情和版本列表。搜索请直接访问pkg.go.dev网站 https://pkg.go.dev/search/。
get-golang-package-details获取特定Go模块/包的详细信息。
参数:
module (字符串): 精确的模块路径(例如:"github.com/gin-gonic/gin")示例:
bun tool get-golang-package-details '{"module": "github.com/gin-gonic/gin"}'
返回详细信息包括:
list-golang-package-versions列出特定Go模块/包的所有版本。
参数:
module (字符串): 精确的模块路径limit (数字, 可选): 返回的版本最大数量 (1-1000,默认: 100)示例:
bun tool list-golang-package-versions '{"module": "github.com/gorilla/mux", "limit": 50}'
返回:
全局安装包:
npm install -g package-registry-mcp
或者直接使用npx(无需安装):
npx package-registry-mcp
npm install
# 或
bun install
# 或
yarn install
# 安装依赖
bun install
# 构建服务器
bun run build
# 格式化代码
bun run format
# 测试单个MCP工具
bun tool <tool-name> <json-arguments>
# NPM 示例:
# 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 示例:
# 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 示例:
# 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 示例:
# bun tool get-pypi-package-details '{"name": "requests"}'
# bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'
# Go 示例:
# 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}'
详见LICENSE文件。