使用说明
项目简介
'modelcontextprotocol_python-sdk' 是一个用于构建 MCP 服务器的 Python 软件开发工具包 (SDK)。MCP 服务器旨在为大型语言模型 (LLM) 应用提供结构化的上下文信息和功能,使得 LLM 能够安全、可扩展地访问外部数据和工具。此 SDK 简化了 MCP 服务器的开发过程,让开发者能够专注于定义资源、工具和 Prompt 模板,而无需从头开始处理底层的 MCP 协议细节。
主要功能点
- 资源 (Resources) 管理: 方便地定义和托管数据资源,使 LLM 可以通过标准化的 URI 访问和获取上下文信息。
- 工具 (Tools) 注册与执行: 支持注册可被 LLM 调用的外部功能,扩展 LLM 的能力边界,例如数据查询、计算或执行特定操作。
- Prompt 模板 (Prompts) 定义: 允许创建可复用的 Prompt 模板,实现定制化的 LLM 交互模式,优化 LLM 的输出质量和行为。
- JSON-RPC 协议支持: 完全实现了 MCP 的 JSON-RPC 通信协议,确保服务器与 MCP 客户端的顺畅沟通。
- 多种传输协议: 支持 Stdio 等多种传输协议,方便在不同环境和应用场景下部署和运行 MCP 服务器。
- 会话管理和能力声明: SDK 负责处理服务器端的会话管理和能力声明,简化服务器开发。
安装步骤
推荐使用 'uv' 或 'pip' 进行安装。
使用 'uv' (推荐):
uv add "mcp[cli]"
或者使用 'pip':
pip install mcp
服务器配置
MCP 服务器是为 MCP 客户端提供服务的后端应用。MCP 客户端需要配置服务器的启动命令才能建立连接。以下是一个基于此 SDK 创建的 MCP 服务器的客户端配置示例 (JSON 格式):
{ "server name": "My MCP Server", "command": "mcp", "args": ["run", "server.py"] }
参数注释:
- '"server name"': MCP 服务器的名称,可以自定义,用于在客户端中标识服务器。
- '"command"': 启动 MCP 服务器的命令。通常设置为 'mcp',表示使用 SDK 提供的 'mcp' 命令行工具。
- '"args"': 传递给 'mcp run' 命令的参数。 '"run"' 子命令用于运行服务器, '"server.py"' (请替换为您的实际服务器文件路径) 是服务器的 Python 代码文件。
请根据您实际的服务器文件路径和需求调整 '"args"' 中的参数。
基本使用方法
- 创建服务器文件: 创建一个 Python 文件 (例如 'server.py')。
- 导入 FastMCP: 在 'server.py' 中导入 'FastMCP' 类:
from mcp.server.fastmcp import FastMCP - 创建 FastMCP 实例: 创建 'FastMCP' 服务器实例并命名:
mcp = FastMCP("YourServerName") - 定义资源、工具或 Prompt: 使用 '@mcp.resource()', '@mcp.tool()', '@mcp.prompt()' 装饰器定义资源、工具和 Prompt 模板。例如:
@mcp.tool() def add(a: int, b: int) -> int: """Add two numbers""" return a + b - 运行服务器: 在 'server.py' 文件末尾添加以下代码以运行服务器:
if __name__ == "__main__": mcp.run() - 启动服务器: 在命令行中使用 'mcp run server.py' 或 'python server.py' 命令启动服务器。
- 配置 MCP 客户端: 在 MCP 客户端 (如 Claude Desktop) 中,配置连接到您的 MCP 服务器,并使用上面提供的 JSON 配置信息。
更详细的使用方法和高级功能,请参考仓库中的 'README.md' 文档和示例代码。
信息
分类
开发者工具