MCP SSE Client-Server

MCP SSE Client-Server

site icon
2025.05.01 0
Python开发工具通信服务开发效率
MCP SSE Client-Server 是一个基于 Python 实现的 MCP 客户端和服务器,使用 Server-Sent Events (SSE) 进行通信。它集成了 MCP 平台工具,支持异步处理查询,并提供了全面的日志记录和错误处理功能。此外,它还支持 OpenAI API 和 OpenRouter 作为后备选项,适用于需要高效通信和集成的开发场景。
View on GitHub

Overview

基本能力

产品定位

MCP SSE Client-Server 是一个用于高效通信和集成的开发工具,特别适用于需要异步处理和 SSE 通信的场景。

核心功能

  • SSE 基础的客户端和服务器通信
  • 与 MCP 平台工具的集成(如 google_search, get_web_content)
  • 使用 Python 的 asyncio 进行异步查询处理
  • 全面的日志记录和错误处理
  • OpenAI API 集成,支持 OpenRouter 作为后备选项
  • 环境变量配置支持

适用场景

  • 需要高效通信的开发项目
  • 需要集成多种工具(如搜索引擎、网页内容获取)的应用
  • 需要异步处理查询的场景
  • 需要灵活配置 API 密钥和基础 URL 的项目

工具列表

  • google_search: 执行网页搜索
  • get_web_content: 获取完整的网页内容
  • get_weekday_from_date: 日期工具
  • get_weather_for_date: 天气信息

常见问题解答

  • 如何配置 API 密钥? 在项目根目录创建 .env 文件,并填写 OPENAI_API_KEYOPENROUTER_API_KEY
  • 如何启动服务器? 使用命令 uv run mcp-server-search.py
  • 如何启动客户端? 使用命令 uv run mcp-client-sse.py --server URL_ADDRESS-server-url:8081/sse --verbose

使用教程

使用依赖

  • Python 3.10+
  • 依赖项(在 pyproject.toml 中列出):
  • httpx
  • python-dotenv
  • openai
  • mcp[cli]

安装教程

  1. 克隆仓库
  2. 创建并激活虚拟环境: bash uv venv # Windows .venv\Scripts\activate # Unix/macOS source .venv/bin/activate
  3. 安装依赖: bash uv sync .

调试方式

  • 启动服务器: bash uv run mcp-server-search.py
  • 启动客户端: bash uv run mcp-client-sse.py --server URL_ADDRESS-server-url:8081/sse --verbose
  • 查看日志文件 mcp-client.log 获取详细调试信息。

许可证

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