关于 Pacman MCP Server
Pacman MCP Server 为 LLM 提供多个软件包索引和 Docker Hub 的搜索与详情查询,适用于查找依赖包、镜像和 Terraform 模块。它通过 MCP 工具及提示词提供检索入口。
主要功能
- 01搜索 PyPI、npm 和 crates.io
- 02查询包的详细信息及版本
- 03搜索并查询 Docker 镜像
- 04获取 Terraform 模块最新版本
- 05提供索引查询提示词
适用场景
- 01查找项目所需的软件包
- 02核对指定包的版本信息
- 03搜索 Docker Hub 镜像
- 04查询 Terraform 模块版本
MCP 相关
该 MCP 服务向 MCP 客户端提供包索引、Docker Hub 和 Terraform Registry 的搜索与详情查询工具,并提供用于检索的提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍

Pacman MCP 服务
一个 Model Context Protocol 服务,提供软件包索引查询功能。此服务可让大模型搜索并获取 PyPI、npm、crates.io、Docker Hub 和 Terraform Registry 等软件包仓库中的信息。
可用工具
-
search_package- 在软件包索引中搜索软件包index(string,必填):要搜索的软件包索引("pypi"、"npm"、"crates"、"terraform")query(string,必填):软件包名称或搜索查询limit(integer,可选):返回结果的最大数量(默认值:5,最大值:50)
-
package_info- 获取特定软件包的详细信息index(string,必填):要查询的软件包索引("pypi"、"npm"、"crates"、"terraform")name(string,必填):软件包名称version(string,可选):要获取信息的特定版本(默认值:最新版本)
-
search_docker_image- 在 Docker Hub 中搜索 Docker 镜像query(string,必填):镜像名称或搜索查询limit(integer,可选):返回结果的最大数量(默认值:5,最大值:50)
-
docker_image_info- 获取特定 Docker 镜像的详细信息name(string,必填):镜像名称(例如,user/repo 或 library/repo)tag(string,可选):特定镜像标签(默认值:latest)
-
terraform_module_latest_version- 获取 Terraform 模块的最新版本name(string,必填):模块名称(格式:namespace/name/provider)
提示词
-
search_pypi
- 搜索 PyPI 上的 Python 软件包
- 参数:
query(string,必填):软件包名称或搜索查询
-
pypi_info
- 获取特定 Python 软件包的信息
- 参数:
name(string,必填):软件包名称version(string,可选):特定版本
-
search_npm
- 搜索 npm 上的 JavaScript 软件包
- 参数:
query(string,必填):软件包名称或搜索查询
-
npm_info
- 获取特定 JavaScript 软件包的信息
- 参数:
name(string,必填):软件包名称version(string,可选):特定版本
-
search_crates
- 搜索 crates.io 上的 Rust 软件包
- 参数:
query(string,必填):软件包名称或搜索查询
-
crates_info
- 获取特定 Rust 软件包的信息
- 参数:
name(string,必填):软件包名称version(string,可选):特定版本
-
search_docker
- 搜索 Docker Hub 上的 Docker 镜像
- 参数:
query(string,必填):镜像名称或搜索查询
-
docker_info
- 获取特定 Docker 镜像的信息
- 参数:
name(string,必填):镜像名称(例如,user/repo)tag(string,可选):特定标签
-
search_terraform
- 在 Terraform Registry 中搜索 Terraform 模块
- 参数:
query(string,必填):模块名称或搜索查询
-
terraform_info
- 获取特定 Terraform 模块的信息
- 参数:
name(string,必填):模块名称(格式:namespace/name/provider)
-
terraform_latest_version
- 获取特定 Terraform 模块的最新版本
- 参数:
name(string,必填):模块名称(格式:namespace/name/provider)
安装
使用 uv(推荐)
使用 uv 时无需进行特定安装。我们将使用 uvx 直接运行 mcp-server-pacman。
使用 PIP
或者,你也可以通过 pip 安装 mcp-server-pacman:
pip install mcp-server-pacman
安装后,你可以将其作为脚本运行:
python -m mcp_server_pacman
使用 Docker
你也可以使用 Docker 镜像:
docker pull oborchers/mcp-server-pacman:latest
docker run -i --rm oborchers/mcp-server-pacman
配置
为 Claude.app 配置
将以下内容添加到 Claude 设置中:
使用 uvx
"mcpServers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}
使用 docker
"mcpServers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}
使用 pip 安装
"mcpServers": {
"pacman": {
"command": "python",
"args": ["-m", "mcp-server-pacman"]
}
}
为 VS Code 配置
如需手动安装,请将以下 JSON 代码块添加到 VS Code 的“用户设置 (JSON)”文件中。按下 Ctrl + Shift + P 并输入 Preferences: Open User Settings (JSON) 即可打开该文件。
也可以将其添加到工作区中名为 .vscode/mcp.json 的文件。这样就可以与他人共享配置。
请注意,使用
mcp.json文件时需要mcp键。
使用 uvx
{
"mcp": {
"servers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}
}
}
使用 Docker
{
"mcp": {
"servers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}
}
}
自定义 - 用户代理
默认情况下,服务会使用以下用户代理:
ModelContextProtocol/1.0 Pacman (+https://github.com/modelcontextprotocol/servers)
可以在配置中的 args 列表添加参数 --user-agent=YourUserAgent 来自定义用户代理。
开发
运行测试
-
运行所有测试:
uv run pytest -xvs -
运行指定类别的测试:
# Run all provider tests uv run pytest -xvs tests/providers/ # Run integration tests for a specific provider uv run pytest -xvs tests/integration/test_pypi_integration.py # Run specific test class uv run pytest -xvs tests/providers/test_npm.py::TestNPMFunctions # Run a specific test method uv run pytest -xvs tests/providers/test_pypi.py::TestPyPIFunctions::test_search_pypi_success -
检查代码风格:
uv run ruff check . uv run ruff format --check . -
格式化代码:
uv run ruff format .
调试
你可以使用 MCP 检查器调试服务。对于 uvx 安装:
npx @modelcontextprotocol/inspector uvx mcp-server-pacman
如果你已将软件包安装到特定目录,或正在对其进行开发,也可以使用:
cd path/to/pacman
npx @modelcontextprotocol/inspector uv run mcp-server-pacman
发布流程
项目使用 GitHub Actions 自动发布:
- 更新
pyproject.toml中的版本 - 使用
git tag vX.Y.Z创建新标签(例如,git tag v0.1.0) - 使用
git push --tags推送标签
系统将自动:
- 验证
pyproject.toml中的版本与标签是否匹配 - 运行测试和 lint 检查
- 构建并发布到 PyPI
- 构建并发布到 Docker Hub,标签为
oborchers/mcp-server-pacman:latest和oborchers/mcp-server-pacman:X.Y.Z
项目结构
代码库按以下结构组织:
src/mcp_server_pacman/
├── models/ # Data models/schemas
├── providers/ # Package registry API clients
│ ├── pypi.py # PyPI API functions
│ ├── npm.py # npm API functions
│ ├── crates.py # crates.io API functions
│ ├── dockerhub.py # Docker Hub API functions
│ └── terraform.py # Terraform Registry API functions
├── utils/ # Utilities and helpers
│ ├── cache.py # Caching functionality
│ ├── constants.py # Shared constants
│ └── parsers.py # HTML parsing utilities
├── __init__.py # Package initialization
├── __main__.py # Entry point
└── server.py # MCP server implementation
测试采用类似的结构:
tests/
├── integration/ # Integration tests (real API calls)
├── models/ # Model validation tests
├── providers/ # Provider function tests
└── utils/ # Test utilities
贡献
欢迎参与贡献,帮助扩展和改进 mcp-server-pacman。无论是添加新的软件包索引、增强现有功能,还是改进文档,你的贡献都很有价值。
如需了解其他 MCP 服务和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers
欢迎提交拉取请求!欢迎贡献新想法、错误修复或改进,让 mcp-server-pacman 变得更强大、更实用。
作者
由 Dr. Oliver Borchers 构建,他是 IU Group 的 Executive AI and Automation Partner 兼 Head of AI Engineering。
许可证
mcp-server-pacman 采用 MIT 许可证授权。这意味着你可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。详情请参阅项目代码库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。