使用说明

项目简介

Model Context Protocol (MCP) Python SDK 是一个用于构建 MCP 服务器和客户端的 Python 工具包。MCP 服务器旨在为大型语言模型(LLM)应用提供标准化的上下文信息和功能,包括资源管理、工具注册与执行以及 Prompt 模板定义。此 SDK 简化了 MCP 协议的实现过程,使开发者能够更便捷地构建高效、安全的 LLM 上下文服务。

主要功能点

  • 资源 (Resources) 管理: 支持通过装饰器轻松注册和管理资源,允许 LLM 客户端通过 URI 安全访问和读取数据,类似于 Web API 的 GET 请求。
  • 工具 (Tools) 注册与执行: 支持注册可被 LLM 调用的工具函数,实现 LLM 对外部功能的访问和操作,类似于 Web API 的 POST 请求。
  • Prompt 模板 (Prompts) 定义: 支持定义可复用的 Prompt 模板,实现可定制的 LLM 交互模式,提升 LLM 应用的灵活性和效率。
  • 多种传输协议支持: 内置支持 Stdio 和 SSE 等传输协议,方便服务器与客户端进行 JSON-RPC 通信。
  • 开发与部署工具: 提供 'mcp' 命令行工具,支持快速启动开发服务器、安装到 Claude Desktop 等功能,简化开发和部署流程。
  • 客户端 SDK: 除了服务器端功能,也提供了构建 MCP 客户端的能力,方便开发者构建能够连接到任何 MCP 服务器的应用。

安装步骤

  1. 安装 Python SDK: 推荐使用 'uv' 或 'pip' 进行安装。

    使用 'uv':

    uv add "mcp[cli]"

    使用 'pip':

    pip install mcp
  2. 创建 MCP 服务器代码 (例如 'server.py'):

    from mcp.server.fastmcp import FastMCP
    
    mcp = FastMCP("My MCP Server")
    
    @mcp.tool()
    def calculate_sum(a: int, b: int) -> int:
        """计算两个数字的和"""
        return a + b
    
    @mcp.resource("data://greeting")
    def get_greeting() -> str:
        """提供问候语"""
        return "Hello from MCP Server!"

服务器配置

MCP 服务器是为 MCP 客户端设计的后端服务,客户端需要配置服务器的启动命令才能连接。以下是一个典型的 MCP 服务器配置信息(JSON 格式),客户端需要根据实际情况进行配置:

{
  "server name": "MyMCPService",  // MCP 服务器的名称,客户端用于识别和展示
  "command": "python",           // 启动 MCP 服务器的命令,例如 "python"、"node" 等
  "args": ["server.py"]         // 启动命令的参数,例如 ["server.py"] 指定运行 server.py 文件
}

基本使用方法

  1. 开发模式启动服务器: 使用 'mcp dev' 命令可以快速启动开发服务器,并集成 MCP Inspector 工具进行调试:

    mcp dev server.py

    可以使用 '--with' 参数添加依赖,使用 '--with-editable .' 挂载本地代码。

  2. 安装到 Claude Desktop (如果适用): 使用 'mcp install' 命令可以将服务器安装到 Claude Desktop 应用中:

    mcp install server.py --name "My Analytics Server"

    可以使用 '-v' 或 '-f .env' 参数配置环境变量。

  3. 直接运行服务器: 对于自定义部署场景,可以直接运行 Python 脚本启动服务器:

    python server.py
    # 或者使用 mcp run 命令
    mcp run server.py

    确保客户端根据 “服务器配置” 中的信息配置 MCP 服务器的启动命令和参数,才能成功连接并使用 MCP 服务器提供的资源和工具。

信息

分类

开发者工具