使用说明

项目简介

PyMCP (Python Model Context Protocol) 是一个Python库,旨在简化将Python函数转换为MCP服务器的过程。它允许开发者轻松地将现有的Python函数封装成符合MCP协议的工具,从而使LLM(大型语言模型)客户端(如Cursor编辑器)能够直接调用这些Python函数,扩展LLM的功能。开发者无需深入了解MCP协议的细节,即可快速构建功能强大的MCP服务器。

主要功能点

  • 函数到工具的转换: 将普通的Python函数一键转换为MCP服务器可以识别和调用的工具 (Tools)。
  • 装饰器支持: 提供装饰器 '@mcpwrap' 和 '@PyMCP.wrap_function',简化工具注册和服务器配置。
  • 多函数组合: 支持将多个Python函数组合到一个MCP服务器中,作为一个整体提供服务。
  • 灵活的部署: 支持多种传输协议 (stdio, sse),方便在不同环境部署和运行MCP服务器。
  • 与Cursor编辑器集成: 提供命令行和Python API,方便将PyMCP服务器集成到Cursor编辑器中,作为其AI功能扩展。
  • 丰富的数据类型支持: 支持Python基本数据类型、列表、字典以及MCP定义的 'TextContent', 'ImageContent', 'EmbeddedResource' 等类型。

安装步骤

  1. 确保已安装Python环境 (推荐Python 3.8及以上版本)。

  2. 使用pip安装pymcp库:

    pip install pymcp

服务器配置

MCP服务器需要配置启动命令才能被MCP客户端(如Cursor编辑器)调用。以下是针对PyMCP服务器的配置信息,通常配置在客户端的MCP服务器配置文件中(如Cursor编辑器的 'mcp.json')。

{
  "mcpServers": {
    "your-server-name": {  //  【请替换为你的服务器名称,例如:calculator-server, langchain-tools】
      "command": "python",   //  【MCP服务器启动命令,这里使用python解释器】
      "args": [             //  【启动参数,指定运行的Python脚本路径】
        "/path/to/your/server_script.py"  // 【请替换为你的服务器脚本的绝对路径,例如:/Users/username/pymcp-examples/examples/calculator_server.py】
      ],
      "cwd": "/path/to/your/server_directory", // 【请替换为你的服务器脚本所在目录的绝对路径,例如:/Users/username/pymcp-examples/examples, 可选,根据脚本需要配置】
      "env": {               //  【环境变量,可选,根据脚本需要配置,例如设置PYTHONPATH】
        "PYTHONPATH": "/path/to/your/server_directory" // 【例如:/Users/username/pymcp-examples/examples, 可选】
      }
    }
  }
}

基本使用方法

  1. 定义Python函数: 编写你需要作为MCP工具的Python函数。例如,一个简单的加法函数:

    # examples/addition_server.py
    from pymcp import mcpwrap
    
    @mcpwrap(name="addition_tool", description="一个加法工具")
    def add(a: int, b: int) -> int:
        """计算两个数字的和"""
        return a + b
    
    if __name__ == "__main__":
        print("加法服务器正在运行...")
        add.serve_mcp()
  2. 运行MCP服务器: 在终端中,导航到你的脚本所在目录,并运行Python脚本。例如:

    cd examples
    python addition_server.py

    服务器默认使用stdio传输协议,启动后会等待MCP客户端的连接和请求。

  3. 在MCP客户端中使用: 配置好MCP客户端(如Cursor编辑器)后,客户端即可发现并调用你定义的工具。在Cursor编辑器中,你可以在AI对话中使用 '#addition_tool(a=1, b=2)' 来调用上面定义的加法工具。

更多用法

  • 组合多个函数: 可以使用 'PyMCP' 类来组合多个函数到一个服务器中,详细用法请参考仓库中的 'examples/calculator_server.py' 和 'examples/math_server.py'。
  • LangChain和LangGraph集成: PyMCP可以与LangChain和LangGraph等LLM开发框架集成,将复杂的LLM应用封装成MCP工具,具体示例请参考 'examples/langchain_example.py' 和 'examples/langgraph_example.py'。
  • 自定义服务器配置: 'PyMCP' 类允许自定义服务器名称、描述、传输协议等配置,详情请参考 'pymcp/converter.py' 和 'README.md'。

通过PyMCP,你可以快速将Python的功能导出为MCP服务器,为LLM应用提供强大的后端支持。

信息

分类

开发者工具