使用说明
项目简介
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 服务器的应用。
安装步骤
-
安装 Python SDK: 推荐使用 'uv' 或 'pip' 进行安装。
使用 'uv':
uv add "mcp[cli]"使用 'pip':
pip install mcp -
创建 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 文件 }
基本使用方法
-
开发模式启动服务器: 使用 'mcp dev' 命令可以快速启动开发服务器,并集成 MCP Inspector 工具进行调试:
mcp dev server.py可以使用 '--with' 参数添加依赖,使用 '--with-editable .' 挂载本地代码。
-
安装到 Claude Desktop (如果适用): 使用 'mcp install' 命令可以将服务器安装到 Claude Desktop 应用中:
mcp install server.py --name "My Analytics Server"可以使用 '-v' 或 '-f .env' 参数配置环境变量。
-
直接运行服务器: 对于自定义部署场景,可以直接运行 Python 脚本启动服务器:
python server.py # 或者使用 mcp run 命令 mcp run server.py确保客户端根据 “服务器配置” 中的信息配置 MCP 服务器的启动命令和参数,才能成功连接并使用 MCP 服务器提供的资源和工具。
信息
分类
开发者工具