
一个提供包索引查询功能的模型上下文协议服务器。此服务器使LLMs能够从像PyPI、npm、crates.io、Docker Hub和Terraform Registry这样的包仓库中搜索和检索信息。
<a href="https://glama.ai/mcp/servers/@oborchers/mcp-server-pacman"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=3607375942,1533352560&fm=3081&app=3081&f=PNG?w=760&h=400" alt="mcp-server-pacman MCP server" /> </a>search_package - 在包索引中搜索包
index (字符串,必需):要搜索的包索引("pypi","npm","crates","terraform")query (字符串,必需):包名或搜索查询limit (整数,可选):返回的最大结果数量(默认:5,最大:50)package_info - 获取特定包的详细信息
index (字符串,必需):要查询的包索引("pypi","npm","crates","terraform")name (字符串,必需):包名version (字符串,可选):要获取信息的具体版本(默认:最新)search_docker_image - 在Docker Hub中搜索Docker镜像
query (字符串,必需):镜像名或搜索查询limit (整数,可选):返回的最大结果数量(默认:5,最大:50)docker_image_info - 获取特定Docker镜像的详细信息
name (字符串,必需):镜像名(例如,user/repo 或 library/repo)tag (字符串,可选):具体镜像标签(默认:最新)terraform_module_latest_version - 获取特定Terraform模块的最新版本
name (字符串,必需):模块名(格式:namespace/name/provider)search_pypi
query (字符串,必需):包名或搜索查询pypi_info
name (字符串,必需):包名version (字符串,可选):具体版本search_npm
query (字符串,必需):包名或搜索查询npm_info
name (字符串,必需):包名version (字符串,可选):具体版本search_crates
query (字符串,必需):包名或搜索查询crates_info
name (字符串,必需):包名version (字符串,可选):具体版本search_docker
query (字符串,必需):镜像名或搜索查询docker_info
name (字符串,必需):镜像名(例如,user/repo)tag (字符串,可选):具体标签search_terraform
query (字符串,必需):模块名或搜索查询terraform_info
name (字符串,必需):模块名(格式:namespace/name/provider)terraform_latest_version
name (字符串,必需):模块名(格式:namespace/name/provider)使用uv时不需要特定的安装步骤。我们将使用uvx直接运行mcp-server-pacman。
或者你可以通过pip安装mcp-server-pacman:
pip install mcp-server-pacman
安装后,你可以使用以下命令作为脚本运行它:
python -m mcp_server_pacman
你也可以使用Docker镜像:
docker pull oborchers/mcp-server-pacman:latest
docker run -i --rm oborchers/mcp-server-pacman
在你的Claude设置中添加:
<details> <summary>使用uvx</summary>"mcpServers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}
</details>
<details>
<summary>使用docker</summary>
"mcpServers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}
</details>
<details>
<summary>使用pip安装</summary>
"mcpServers": {
"pacman": {
"command": "python",
"args": ["-m", "mcp-server-pacman"]
}
}
</details>
对于手动安装,向VS Code中的用户设置(JSON)文件添加以下JSON块。你可以通过按Ctrl + Shift + P并键入Preferences: Open User Settings (JSON)来完成此操作。
可选地,你可以将其添加到工作区中的名为.vscode/mcp.json的文件中。这将允许你与他人共享配置。
<details> <summary>使用uvx</summary>注意,当使用
mcp.json文件时需要mcp键。
{
"mcp": {
"servers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}
}
}
</details>
<details>
<summary>使用Docker</summary>
{
"mcp": {
"servers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}
}
}
</details>
默认情况下,服务器将使用用户代理:
ModelContextProtocol/1.0 Pacman (+https://github.com/modelcontextprotocol/servers)
可以通过在配置的args列表中添加参数--user-agent=YourUserAgent来自定义。
运行所有测试:
uv run pytest -xvs
运行特定测试类别:
# 运行所有供应商测试
uv run pytest -xvs tests/providers/
# 运行特定供应商的集成测试
uv run pytest -xvs tests/integration/test_pypi_integration.py
# 运行特定测试类
uv run pytest -xvs tests/providers/test_npm.py::TestNPMFunctions
# 运行特定测试方法
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中的版本是否与标签匹配oborchers/mcp-server-pacman:latest和oborchers/mcp-server-pacman:X.Y.Z代码库按照以下结构组织:
src/mcp_server_pacman/
├── models/ # 数据模型/模式
├── providers/ # 包注册表API客户端
│ ├── pypi.py # PyPI API函数
│ ├── npm.py # npm API函数
│ ├── crates.py # crates.io API函数
│ ├── dockerhub.py # Docker Hub API函数
│ └── terraform.py # Terraform Registry API函数
├── utils/ # 工具和辅助程序
│ ├── cache.py # 缓存功能
│ ├── constants.py # 共享常量
│ └── parsers.py # HTML解析工具
├── __init__.py # 包初始化
├── __main__.py # 入口点
└── server.py # MCP服务器实现
测试遵循类似的结构:
tests/
├── integration/ # 集成测试(实际API调用)
├── models/ # 模型验证测试
├── providers/ # 供应商函数测试
└── utils/ # 测试工具
我们鼓励贡献以帮助扩展和改进mcp-server-pacman。无论你是想添加新的包索引,增强现有功能,还是改善文档,你的意见都是宝贵的。
有关其他MCP服务器和实现模式的例子,请参见: https://github.com/modelcontextprotocol/servers
欢迎提交拉取请求!请自由贡献新想法、错误修复或改进,使mcp-server-pacman更加强大和有用。
mcp-server-pacman根据MIT许可证授权。这意味着你可以自由使用、修改和分发软件,但需遵守MIT许可证的条款和条件。更多详情,请参阅项目存储库中的LICENSE文件。