项目简介

PyPI MCP Server (mcp-pypi) 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供访问 Python 包索引(PyPI)信息的标准化接口。它不仅是一个强大的 PyPI 客户端,也实现了 MCP 服务器的功能,可以轻松集成到支持 MCP 协议的 AI 助手(如 Claude、Cursor、Gordon 等)中,扩展 LLM 在软件开发领域的应用能力。

主要功能点

  • 资源 (Resources) 访问: 通过标准化的 MCP 资源接口,LLM 客户端可以获取 PyPI 上的软件包信息,例如包的详细信息、版本信息、下载链接等。
  • 工具 (Tools) 注册与执行: 服务器注册了一系列实用工具,例如:
    • 'get_package_info': 获取包的详细信息。
    • 'get_latest_version': 获取包的最新版本。
    • 'get_dependency_tree': 获取包的依赖树。
    • 'search_packages': 搜索 PyPI 上的包。
    • 'get_package_stats': 获取包的下载统计信息。
    • 'check_requirements_file': 检查 requirements 文件中的包是否过时。
    • ... 等等。 LLM 客户端可以通过调用这些工具,实现与 PyPI 的交互,完成如包信息查询、依赖分析、版本比较等任务。
  • Prompt 模板 (Prompts): 虽然仓库文档中没有明确提及 Prompt 模板,但 MCP 服务器的架构支持定义和渲染 Prompt 模板,以支持可定制的 LLM 交互模式。
  • JSON-RPC 通信: 服务器通过 JSON-RPC 协议与客户端通信,提供稳定可靠的 API 接口。
  • 多种运行模式: 支持 HTTP 服务器模式和 STDIN 模式,方便集成到不同的 LLM 应用场景中。
  • 缓存机制: 内置高效的缓存机制,减少对 PyPI 的重复请求,提高响应速度并降低 PyPI 服务器压力。

安装步骤

  1. 环境准备: 确保已安装 Python 3.10 或更高版本。
  2. 安装 mcp-pypi: 推荐使用 pip 安装:
    pip install mcp-pypi
    或者从源代码安装:
    git clone https://github.com/kimasplund/mcp-pypi.git
    cd mcp-pypi
    pip install .

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令和参数,以便建立连接。以下是 mcp-pypi 服务器的典型配置信息(JSON 格式):

{
  "serverName": "PYPI_MCP",
  "command": "mcp-pypi",
  "args": ["serve"]
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,可以自定义,例如 "PYPI_MCP"。
  • 'command': 启动 MCP 服务器的命令,这里是 'mcp-pypi',对应安装后可执行的 mcp-pypi 命令行工具。
  • 'args': 启动命令的参数,'["serve"]' 表示以默认的 HTTP 服务器模式启动 mcp-pypi 服务器。

更多启动参数:

  • '["serve", "--port", "8001"]': 指定服务器端口为 8001。
  • '["serve", "--stdin"]': 以 STDIN 模式启动服务器,用于 MCP 协议集成。

请注意: MCP 客户端需要根据自身配置文件的格式,将上述 JSON 配置信息填入到相应位置。通常 MCP 客户端会提供一个配置文件或界面用于配置 MCP 服务器连接。

基本使用方法

MCP 服务器启动后,LLM 客户端可以通过 MCP 协议与其进行通信。以下是一些基本的使用方法示例:

  1. 启动 MCP 服务器: 在终端中运行以下命令启动 mcp-pypi 服务器(默认 HTTP 模式):

    mcp-pypi serve

    或者以 STDIN 模式启动:

    mcp-pypi serve --stdin
  2. 配置 MCP 客户端: 在 LLM 客户端中,配置 MCP 服务器连接信息,例如使用上面提供的 JSON 配置。

  3. 在 LLM 中使用: 配置完成后,在 LLM 客户端中,可以通过自然语言指令或特定语法来调用 PyPI MCP 服务器提供的功能。例如,在支持 MCP 协议的编辑器 Cursor 中,你可以通过指令来查询软件包信息或检查 requirements 文件。 具体使用方式取决于 LLM 客户端的功能和集成方式。请参考 LLM 客户端的文档来了解如何使用 MCP 服务器。

注意事项

  • 确保 MCP 服务器在 LLM 客户端可访问的网络环境中运行。
  • 根据实际需求选择合适的服务器运行模式 (HTTP 或 STDIN)。
  • 详细的服务器配置和工具方法可以通过 'mcp-pypi serve --help' 或 'mcp-pypi mcp-server run --help' 命令查看帮助文档。

信息

分类

开发者工具