pymcp-sse: Python MCP over SSE Library

pymcp-sse: Python MCP over SSE Library

site icon
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 提供高效的通信和任务管理能力。

核心功能

  • 模块化框架:提供 BaseMCPServerBaseMCPClientMultiMCPClient 的清晰实现。
  • 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)

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。