Skip to main content
Glama
oborchers

mcp-server-pacman

吃豆人标志

Pacman MCP 服务器

提供包索引查询功能的模型上下文协议 (MLM) 服务器。该服务器使 LLM 能够从 PyPI、npm、crates.io、Docker Hub 和 Terraform Registry 等包存储库中搜索和检索信息。

可用工具

  • 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 (字符串,必需):图像名称(例如,用户/repo 或库/repo)

    • tag (字符串,可选):特定图像标签(默认值:最新)

  • terraform_module_latest_version - 获取 Terraform 模块的最新版本

    • name (字符串,必需):模块名称(格式:命名空间/名称/提供程序)

提示

  • search_pypi

    • 在 PyPI 上搜索 Python 包

    • 参数:

      • query (字符串,必需):包名称或搜索查询

  • pypi_info

    • 获取有关特定 Python 包的信息

    • 参数:

      • name (字符串,必需):包名称

      • version (字符串,可选):特定版本

  • 搜索_npm

    • 在 npm 上搜索 JavaScript 包

    • 参数:

      • query (字符串,必需):包名称或搜索查询

  • npm_info

    • 获取有关特定 JavaScript 包的信息

    • 参数:

      • name (字符串,必需):包名称

      • version (字符串,可选):特定版本

  • search_crates

    • 在 crates.io 上搜索 Rust 软件包

    • 参数:

      • query (字符串,必需):包名称或搜索查询

  • crates_info

    • 获取有关特定 Rust 包的信息

    • 参数:

      • name (字符串,必需):包名称

      • version (字符串,可选):特定版本

  • 搜索_docker

    • 在 Docker Hub 上搜索 Docker 镜像

    • 参数:

      • query (字符串,必需):图像名称或搜索查询

  • docker_info

    • 获取有关特定 Docker 镜像的信息

    • 参数:

      • name (字符串,必需):图像名称(例如,用户/仓库)

      • tag (字符串,可选):特定标签

  • 搜索_terraform

    • 在 Terraform 注册表中搜索 Terraform 模块

    • 参数:

      • query (字符串,必需):模块名称或搜索查询

  • terraform_info

    • 获取有关特定 Terraform 模块的信息

    • 参数:

      • name (字符串,必需):模块名称(格式:命名空间/名称/提供程序)

  • terraform_latest_version

    • 获取特定 Terraform 模块的最新版本

    • 参数:

      • name (字符串,必需):模块名称(格式:命名空间/名称/提供程序)

安装

使用 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

Related MCP server: Wayback Machine MCP Server

配置

为 Claude.app 配置

添加到您的 Claude 设置:

"mcpServers": { "pacman": { "command": "uvx", "args": ["mcp-server-pacman"] } }
"mcpServers": { "pacman": { "command": "docker", "args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"] } }
"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密钥。

{ "mcp": { "servers": { "pacman": { "command": "uvx", "args": ["mcp-server-pacman"] } } } }
{ "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 进行自动发布:

  1. 更新pyproject.toml中的版本

  2. 使用git tag vX.YZ创建一个新标签(例如, git tag v0.1.0

  3. 使用git push --tags推送标签

这将自动:

  • 验证pyproject.toml中的版本与标签匹配

  • 运行测试和 Lint 检查

  • 构建并发布到 PyPI

  • 构建并发布到 Docker Hub,作为oborchers/mcp-server-pacman:latestoborchers/mcp-server-pacman:XYZ

项目结构

代码库组织成以下结构:

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

欢迎提交 Pull 请求!欢迎贡献新想法、错误修复或改进,让 mcp-server-pacman 更加强大实用。

执照

mcp-server-pacman 采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但需遵守 MIT 许可证的条款和条件。更多详细信息,请参阅项目仓库中的 LICENSE 文件。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oborchers/mcp-server-pacman'

If you have feedback or need assistance with the MCP directory API, please join our Discord server