使用说明
项目简介
MCPC (Model Context Protocol Callback) 是对 MCP 协议的扩展,旨在解决 LLM 工具交互中双向通信的限制。它允许 MCP 服务器在执行后台任务时,通过相同的 MCP 传输通道向客户端发送实时的更新和回调,无需额外的传输层。
主要功能点
- 双向通信: 在标准的 MCP 传输基础上实现 LLM 和工具之间的双向通信。
- 实时更新: 在工具执行过程中,服务器可以向客户端实时推送更新信息。
- 异步回调: 支持长时间运行的后台任务,并在任务完成时异步通知客户端。
- 兼容性: 完全兼容标准的 MCP 客户端和服务器,MCPC 客户端可以与标准 MCP 服务器通信,MCPC 服务器也能处理标准 MCP 客户端的请求。
- STDIO 传输: 完全支持标准的 STDIO (标准输入/输出) 传输协议。
安装步骤
- 确保你的Python环境中已安装 'uv' 或 'pip'。
- 使用 'uv' (推荐) 或 'pip' 安装 'mcpc' 库:
# 使用 uv (推荐) uv add mcpc # 使用 pip pip install mcpc
服务器配置
MCPC 需要集成到现有的 MCP 服务器中作为扩展。以下是一个配置示例,展示了如何在一个假设的 MCP 客户端配置中指定使用 MCPC 扩展的服务器。
请注意: 'mcpc' 本身不是一个独立的 MCP 服务器,而是一个用于增强现有 MCP 服务器功能的库。你需要将其集成到你自己的 MCP 服务器实现中。以下配置仅为示例,你需要根据你的实际 MCP 服务器框架进行调整。
{ "serverName": "my_mcpc_server", "command": "python", "args": [ "path/to/your/mcp_server_script.py", // 替换为你的 MCP 服务器脚本路径 "--enable_mcpc" // 假设你的服务器脚本有启用 MCPC 的参数 // ... 其他服务器启动参数 ... ], "description": "My MCP Server with MCPC Extension" // ... 其他 MCP 客户端配置 ... }
参数注释:
- '"command"': 启动 MCP 服务器的命令,通常是 Python 解释器 'python'。
- '"args"': 传递给服务器启动命令的参数列表。
- '"path/to/your/mcp_server_script.py"': 请替换为你的实际 MCP 服务器主脚本的路径。 这个脚本需要导入并使用 'mcpc' 库来集成 MCPC 功能。
- '"--enable_mcpc"': 这是一个假设的参数,用于启用你 MCP 服务器脚本中的 MCPC 功能。 实际参数需要根据你的服务器脚本实现来确定。你的服务器脚本需要解析这个参数,并在服务器初始化时启用 MCPC 的相关组件(例如 'MCPCHelper')。
- '// ... 其他服务器启动参数 ...': 这里可以包含你的 MCP 服务器可能需要的其他启动参数,例如配置文件路径、端口号等等。
重要提示:
- 集成到现有 MCP 服务器: MCPC 库 'mcpc' 必须被集成到你现有的 MCP 服务器代码中。它不是一个独立的、开箱即用的 MCP 服务器程序。
- 服务器脚本修改: 你需要修改你的 MCP 服务器脚本 ('path/to/your/mcp_server_script.py'),导入 'mcpc' 库,并使用 'MCPCHelper' 类来处理 MCPC 协议相关的逻辑,例如在工具函数中发送回调消息。
- 配置参数: '"--enable_mcpc"' 只是一个示例参数。你需要根据你的服务器脚本的实际实现来配置正确的参数,以便在服务器启动时启用 MCPC 功能。
- 参考示例代码: 仓库的 'README.md' 中提供了 "Basic Server Usage" 的代码示例,展示了如何在服务器端使用 'MCPCHelper'。你需要参考这些示例,并将其适配到你自己的 MCP 服务器代码中。
基本使用方法
- 服务器端集成 MCPC Helper: 在你的 MCP 服务器代码中,使用 'MCPCHelper' 类来处理 MCPC 协议,例如创建和发送任务更新、完成等消息。参考 'README.md' 中的 "Basic Server Usage" 示例。
- 客户端集成 MCPC Handler: 在 MCP 客户端代码中,使用 'MCPCHandler' 类来处理服务器发送的 MCPC 消息,例如任务状态更新和回调。参考 'README.md' 中的 "Basic Client Usage" 示例。
- 启动服务器: 根据上述服务器配置示例,启动你的 MCP 服务器。确保服务器脚本正确集成了 MCPC 功能。
- 客户端连接: MCP 客户端按照标准的 MCP 协议连接到你的服务器。如果客户端也集成了 'MCPCHandler',则可以接收和处理服务器发送的 MCPC 消息,实现双向通信和实时更新。
总结: MCPC 通过扩展标准的 MCP 协议,为 LLM 应用提供了更丰富的交互模式,特别是对于需要长时间运行和实时反馈的工具调用场景。开发者需要在 MCP 服务器和客户端分别集成 MCPC 提供的库,才能充分利用其双向通信和异步回调的优势。
信息
分类
开发者工具