使用说明

项目简介

'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"' 中的参数。

基本使用方法

  1. 创建服务器文件: 创建一个 Python 文件 (例如 'server.py')。
  2. 导入 FastMCP: 在 'server.py' 中导入 'FastMCP' 类:
    from mcp.server.fastmcp import FastMCP
  3. 创建 FastMCP 实例: 创建 'FastMCP' 服务器实例并命名:
    mcp = FastMCP("YourServerName")
  4. 定义资源、工具或 Prompt: 使用 '@mcp.resource()', '@mcp.tool()', '@mcp.prompt()' 装饰器定义资源、工具和 Prompt 模板。例如:
    @mcp.tool()
    def add(a: int, b: int) -> int:
        """Add two numbers"""
        return a + b
  5. 运行服务器: 在 'server.py' 文件末尾添加以下代码以运行服务器:
    if __name__ == "__main__":
        mcp.run()
  6. 启动服务器: 在命令行中使用 'mcp run server.py' 或 'python server.py' 命令启动服务器。
  7. 配置 MCP 客户端: 在 MCP 客户端 (如 Claude Desktop) 中,配置连接到您的 MCP 服务器,并使用上面提供的 JSON 配置信息。

更详细的使用方法和高级功能,请参考仓库中的 'README.md' 文档和示例代码。

信息

分类

开发者工具