mcpField
P
Package Registry Mcp Server

Package Registry Mcp Server

本地服务
github.com/Artmann开发工具3947 周前更新

关于 Package Registry Mcp Server

Package Registry MCP Server 是一个 MCP 服务,使 Claude、Cursor 等 AI 助手能够搜索 NPM、crates.io、NuGet、PyPI 和 Go 模块等包仓库,并获取实时的包信息。它还可查询 GitHub Security Advisory 中的安全漏洞。

主要功能

  1. 01搜索 NPM、crates.io 和 NuGet 包
  2. 02查询 PyPI 与 Go 模块的详细信息
  3. 03列出各包仓库的历史版本
  4. 04查询 GitHub Security Advisory 漏洞
  5. 05直接从包仓库获取实时数据

适用场景

  1. 01让 AI 助手核实依赖包的最新版本和许可证
  2. 02检查某个依赖包是否存在已知安全公告

MCP 相关

该项目是 MCP 服务,向 Claude Code、Cursor、Claude Desktop 等 MCP 客户端暴露包搜索、包详情、版本列表及安全公告查询等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"package-registry": {
"command": "npx",
"args": [
"-y",
"package-registry-mcp"
]
}
}
}
启动命令npx -y package-registry-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmpackage-registry-mcp

工具

16

收录的工具列表 · 更新于 3 周前

参数类型必填说明
namestring是

详细介绍

Package Registry MCP 服务

一种模型上下文协议(MCP)服务,可让 AI 助手和 Agent (Claude、Cursor、Copilot 等)搜索软件包注册表并获取最新的软件包信息。

NPM 版本 NPM 下载量 许可证 Node.js GitHub 星标数 信任评分

开始使用

Cursor

安装 MCP 服务

或者,你可以在 Cursor 的设置中配置 MCP 服务:

  1. 打开 Cursor 设置(Cmd/Ctrl + ,)
  2. 搜索“MCP”,或前往 Extensions > MCP
  3. 添加新服务,并设置:
    • 名称:package-registry
    • 命令:npx
    • 参数:["package-registry-mcp"]
Claude Code

对于 Claude Code,请在终端中运行以下命令:

claude mcp add -s user package-registry npx package-registry-mcp

配置完成后,你就可以使用软件包搜索和信息工具了。

Claude Desktop

将以下内容添加到 claude_desktop_config.json,即可将此服务添加到 Claude Desktop:

{
  "mcpServers": {
    "package-registry": {
      "command": "npx",
      "args": ["package-registry-mcp"]
    }
  }
}

配置文件通常位于:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

添加配置后,重启 Claude Desktop。

功能

  • 搜索 NPM 软件包
  • 获取 NPM 软件包的详细信息
  • 搜索 crates.io(Rust 软件包注册表)
  • 获取 crate 的详细信息
  • 搜索 NuGet 软件包(.NET 软件包注册表)
  • 获取 NuGet 软件包的详细信息
  • 获取 PyPI 软件包的详细信息(Python 软件包注册表)
  • 获取 Go 模块的详细信息(Go 软件包注册表)
  • 搜索 GitHub Security Advisories 中的漏洞信息
  • 直接从软件包注册表获取实时数据

可用工具

NPM 工具
search-npm-packages

在 NPM 注册表中搜索与查询内容匹配的软件包。

参数:

  • query(字符串):软件包搜索词
  • limit(数字,可选):最大结果数(1-100,默认值:10)

示例:

bun tool search-npm-packages '{"query": "react", "limit": 5}'
get-npm-package-details

获取指定 NPM 软件包的详细信息。

参数:

  • name(字符串):确切的 crate 名称

示例:

bun tool get-npm-package-details '{"name": "react"}'

返回的详细信息包括:

  • 软件包元数据(名称、描述、版本、许可证)
  • 依赖项(运行时、开发、同级)
  • 维护者信息
  • 仓库和主页链接
  • 最近 50 个版本(按从新到旧排序)
list-npm-package-versions

列出指定 NPM 软件包的所有版本。

参数:

  • name(字符串):确切的 crate 名称
  • limit(数字,可选):要返回的最大版本数(1-1000, 默认值:100)

示例:

bun tool list-npm-package-versions '{"name": "react", "limit": 50}'

返回内容:

  • 软件包名称和版本总数
  • 所有版本,按发布日期从新到旧排序
  • 最新版本信息
crates.io 工具
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"}'

返回的详细信息包括:

  • crate 元数据(名称、描述、版本、许可证)
  • 关键词和类别
  • 下载统计(总量和近期数据)
  • 功能和 crate 大小
  • 仓库、主页和文档链接
  • 最近 50 个版本(从新到旧)
list-cargo-package-versions

列出 crates.io 上特定 crate 的所有版本。

参数:

  • name(字符串):准确的 crate 名称
  • limit(数字,可选):返回的版本数量上限(1-1000, 默认值:100)

示例:

bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'

返回:

  • crate 名称和版本总数
  • 按发布日期排序的所有版本(从新到旧)
  • 最新版本和最新稳定版本信息
NuGet 工具
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"}'

返回的详细信息包括:

  • 包元数据(名称、描述、版本、许可证)
  • 作者和项目信息
  • 目标框架和依赖项
  • 下载统计和验证状态
  • 项目、许可证和图标 URL
  • 最近 50 个版本(从新到旧)
list-nuget-package-versions

列出特定 NuGet 包的所有版本。

参数:

  • name(字符串):准确的包名称
  • limit(数字,可选):返回的版本数量上限(1-1000, 默认值:100)

示例:

bun tool list-nuget-package-versions '{"name": "Newtonsoft.Json", "limit": 50}'

返回:

  • 包名称和版本总数
  • 按发布日期排序的所有版本(从新到旧)
  • 最新版本信息
PyPI 工具

注意:PyPI 不提供 JSON 搜索 API,因此仅支持查询包详情和列出版本。要搜索包,请直接使用 PyPI 网站:https://pypi.org/search/。

get-pypi-package-details

获取特定 PyPI 包的详细信息。

参数:

  • name(字符串):准确的包名称

示例:

bun tool get-pypi-package-details '{"name": "requests"}'

返回的详细信息包括:

  • 包元数据(名称、描述、版本、许可证)
  • 作者和维护者信息
  • 依赖项和 Python 版本要求
  • 分类器和关键词
  • 项目 URL 和文档链接
  • 下载统计
  • 漏洞信息
  • 最近 50 个版本(从新到旧)
list-pypi-package-versions

列出特定 PyPI 包的所有版本。

参数:

  • name(字符串):准确的包名称
  • limit(数字,可选):返回的版本数量上限(1-1000, 默认值:100)

示例:

bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'

返回:

  • 包名称和版本总数
  • 按发布日期排序的所有版本(从新到旧)
  • 最新版本信息
Go 工具

注意: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"}'

返回的详细信息包括:

  • 模块路径和最新版本
  • 发布日期和仓库信息
  • VCS(版本控制系统)详情
  • pkg.go.dev 和 go get 命令链接
  • 最近 50 个版本(从新到旧)
list-golang-package-versions

列出特定 Go 模块/包的所有版本。

参数:

  • module(字符串):精确的模块路径
  • limit(数字,可选):要返回的最大版本数(1-1000, 默认值:100)

示例:

bun tool list-golang-package-versions '{"module": "github.com/gorilla/mux", "limit": 50}'

返回:

  • 模块路径和版本总数
  • 按发布日期排序的所有版本(从新到旧)
  • 最新版本信息
GitHub 安全公告工具
search-github-advisories

搜索 GitHub 安全公告数据库中的漏洞。

参数:

  • ecosystem(字符串,可选):按包生态系统筛选(npm、pip、 maven、nuget、go、rust、rubygems、composer、pub、swift、 erlang、actions、other)
  • severity(字符串,可选):按严重性级别筛选(unknown、low、 medium、high、critical)
  • type(字符串,可选):按公告类型筛选(reviewed、malware、 unreviewed)
  • cveId(字符串,可选):按 CVE 标识符筛选
  • limit(数字,可选):最大结果数(1-100,默认值:30)

示例:

bun tool search-github-advisories '{"ecosystem": "npm", "severity": "critical", "limit": 5}'
get-github-advisory

获取特定 GitHub 安全公告的详细信息。

参数:

  • ghsaId(字符串):GHSA 标识符(例如:GHSA-grv7-fg5c-xmjg)

示例:

bun tool get-github-advisory '{"ghsaId": "GHSA-grv7-fg5c-xmjg"}'

返回的详细信息包括:

  • 公告元数据(GHSA ID、CVE ID、摘要、描述)
  • 严重性和 CVSS 评分
  • 受影响的包和易受攻击的版本范围
  • 已修复的版本
  • CWE 分类
  • 参考资料和致谢
get-package-advisories

获取影响特定包的所有安全公告。

参数:

  • ecosystem(字符串):包生态系统(npm、pip、maven 等)
  • packageName(字符串):包名称(例如:braces、lodash)
  • severity(字符串,可选):按严重性级别筛选
  • limit(数字,可选):最大结果数(1-100,默认值:30)

示例:

bun tool get-package-advisories '{"ecosystem": "npm", "packageName": "braces"}'

返回:

  • 指定包的所有已知安全公告
  • 易受攻击的版本范围和已修复的版本
  • 严重性评级和 CVSS 评分

安装

全局安装该包:

npm install -g package-registry-mcp

或使用 npx 直接运行(无需安装):

npx package-registry-mcp

贡献

有关开发环境设置和指南,请参阅 CONTRIBUTING.md。

要求

  • Node.js 18+ 或 Bun 运行时
  • 访问包注册表所需的互联网连接

许可证

详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。