Pacman MCP服务器
提供包索引查询功能的模型上下文协议服务器。此服务器使LLM能够从PyPI、npm、crates.io、Docker Hub和Terraform Registry等包存储库中搜索和检索信息。
可用工具
search_package-在包裹索引中搜索包裹
- index (string,必填):要搜索的包索引(“pypi”、“npm”、“crates”、“terraform”) - query (字符串,必填):包名称或搜索查询 - limit (整数,可选):返回的最大结果数(默认值:5,最大值:50)
package_info-获取特定软件包的详细信息
- index (string,必填):要查询的包索引(“pypi”、“npm”、“crates”、“terraform”) - name (字符串,必填):包名称 - version (字符串,可选):要获取信息的特定版本(默认值:最新)
search_docker_image-在Docker Hub中搜索Docker镜像
- query (字符串,必填):图像名称或搜索查询 - limit (整数,可选):返回的最大结果数(默认值:5,最大值:50)
docker_image_info-获取特定Docker镜像的详细信息
- name (字符串,必填):图像名称(例如,用户/repo或库/repo) - tag (字符串,可选):特定图像标签(默认:最新)
terraform_module_latest_version-获取Terraform模块的最新版本
- name (字符串,必填):模块名称(格式:命名空间/名称/提供者)
鼓励
- search_pypi
- 在PyPI上搜索Python包 - 论据: - query (字符串,必填):包名称或搜索查询
- pypi_info
- 获取特定Python包的信息 - 论据: - name (字符串,必填):包名称 - version (字符串,可选):特定版本
- search_npm
- 在npm上搜索JavaScript包 - 论据: - query (字符串,必填):包名称或搜索查询
- npm_info
- 获取特定JavaScript包的信息 - 论据: - name (字符串,必填):包名称 - version (字符串,可选):特定版本
- 搜索费率
- 在crates.io上搜索Rust包 - 论据: - query (字符串,必填):包名称或搜索查询
- crates_info
- 获取特定Rust包的信息 - 论据: - name (字符串,必填):包名称 - version (字符串,可选):特定版本
- search_docker
- 在Docker Hub上搜索Docker镜像 - 论据: - query (字符串,必填):图像名称或搜索查询
- 码头信息
- 获取特定Docker镜像的信息 - 论据: - name (字符串,必填):图像名称(例如,user/repo) - tag (字符串,可选):特定标记
- 搜索表格
- 在Terraform注册表中搜索Terraform模块 - 论据: - query (字符串,必填):模块名称或搜索查询
- terraform_info
- 获取特定Terraform模块的信息 - 论据: - name (字符串,必填):模块名称(格式:命名空间/名称/提供者)
- terraform_latest_version
- 获取特定Terraform模块的最新版本 - 论据: - name (字符串,必填):模块名称(格式:命名空间/名称/提供者)
安装
使用紫外线(推荐)
使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 *mcp服务器pacman*.
使用PIP
或者,您可以安装 mcp-server-pacman 通过pip:
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设置中:
Using uvx
"mcpServers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}Using docker
"mcpServers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}Using pip installation
"mcpServers": {
"pacman": {
"command": "python",
"args": ["-m", "mcp-server-pacman"]
}
}配置VS代码
对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (JSON).
您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。
请注意mcp使用时需要密钥mcp.json文件。
Using uvx
{
"mcp": {
"servers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}
}
}Using Docker
{
"mcp": {
"servers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}
}
}定制-用户代理
默认情况下,服务器将使用用户代理:
ModelContextProtocol/1.0 Pacman (+https://github.com/modelcontextprotocol/servers)这可以通过添加参数进行自定义 --user-agent=YourUserAgent 到 args 配置中的列表。
发展
运行测试
- 运行所有测试:
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匹配标签 - 运行测试和棉绒检查
- 构建并发布到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服务器pacman。无论您是想添加新的包索引、增强现有功能还是改进文档,您的输入都是有价值的。
有关其他MCP服务器和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers
欢迎拉取请求!欢迎贡献新想法、错误修复或增强功能,使mcp服务器pacman更加强大和有用。
许可证
mcp服务器pacman根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

