
pymcp-sse: Python MCP over SSE Library

2025.04.09
0
PythonPython 库HTTP/SSE 传输任务管理开发效率
pymcp-sse 是一个轻量级、灵活的 Python 库,专门用于实现基于 HTTP/SSE 传输的 Model Context Protocol (MCP)。它提供了模块化的框架,支持工具注册与发现、服务器推送、并发任务执行以及 LLM 集成等功能,适用于需要高效通信和任务管理的 Python 应用场景。
View on GitHub
Overview
基本能力
产品定位
pymcp-sse 是一个专为 Python 应用设计的轻量级 MCP 实现库,专注于通过 HTTP/SSE 提供高效的通信和任务管理能力。
核心功能
- 模块化框架:提供
BaseMCPServer
、BaseMCPClient
和MultiMCPClient
的清晰实现。 - HTTP/SSE 传输:支持自动会话管理、可配置超时和重连处理。
- 并发任务执行:通过
BaseMCPServer.run_with_tasks()
方法支持后台异步任务。 - 工具注册与发现:使用装饰器
@server.register_tool()
注册工具,并通过describe_tools
端点动态查询工具能力。 - 服务器推送:内置支持服务器向客户端推送通知和定期心跳检测。
- LLM 集成:提供
BaseLLMClient
抽象,便于与各种 LLM 提供商集成。 - 灵活日志配置:通过
pymcp_sse.utils
提供可配置的日志功能。
适用场景
- 需要高效通信和任务管理的 Python 应用。
- 多服务器环境下的工具调用和管理。
- 需要与 LLM 集成的应用开发。
工具列表
- BaseMCPServer:基础服务器实现,支持工具注册和 HTTP/SSE 通信。
- BaseMCPClient:基础客户端实现,支持与单个服务器的通信。
- MultiMCPClient:多服务器客户端实现,支持与多个服务器的通信和工具调用。
- NotificationScheduler:辅助类,用于管理服务器推送通知。
- BaseLLMClient:抽象类,便于与 LLM 提供商集成。
常见问题解答
- 如何安装? 使用
pip install -e .
进行本地开发安装,或等待pip install pymcp-sse
发布后安装。 - 如何运行服务器? 使用
server.run()
或server.run_with_tasks()
方法启动服务器。 - 如何调用工具? 使用
client.call_tool()
方法调用注册的工具。
使用教程
使用依赖
确保已安装 Python 和 pip。
安装教程
# 导航到包含 pyproject.toml 的目录
cd /path/to/your/pymcp-sse
# 以可编辑模式安装
pip install -e .
调试方式
from pymcp_sse.utils import configure_logging
# 配置日志(可选)
configure_logging()
# 启动服务器并查看日志输出
server.run(host="0.0.0.0", port=8000)