关于 MCP SSE Client-Server
这是一个使用 Python 和 Server-Sent Events(SSE)实现的 MCP 客户端与服务端示例,适合探索异步查询流程的开发者。它整合搜索、网页内容获取工具,并支持 OpenAI API 或 OpenRouter。
主要功能
- 01通过 SSE 进行客户端与服务端通信
- 02集成搜索和网页内容获取工具
- 03使用 asyncio 异步处理查询
- 04支持 OpenAI API 和 OpenRouter
- 05记录日志并处理错误
适用场景
- 01构建 SSE 驱动的 MCP 查询流程
- 02通过搜索工具查找网页信息
- 03获取网页正文供后续处理
MCP 相关
项目包含 SSE MCP 客户端与服务端,并集成 google_search、get_web_content、get_weekday_from_date 和 get_weather_for_date 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP SSE Client-Server
使用 Server-Sent Events(SSE)的 MCP 客户端和服务端简单 Python 实现。
功能特性
- 基于 SSE 的客户端与服务端通信
- 集成 MCP 平台工具(google_search、get_web_content)
- 使用 Python 的 asyncio 异步处理查询
- 全面的日志记录和错误处理
- 集成 OpenAI API,并在其不可用时回退到 OpenRouter
- 支持环境变量配置
要求
- Python 3.10+
- pyproject.toml 中列出的依赖项:
- 用于 HTTP 请求的 httpx
- 用于环境变量的 python-dotenv
- 用于 LLM 集成的 openai
- 用于 MCP 平台集成的 mcp[cli]
安装
- 克隆此仓库
- 创建并激活虚拟环境:
uv venv # On Windows .venv\Scripts\activate # On Unix/macOS source .venv/bin/activate - 安装依赖项:
uv sync .
配置
在项目根目录中创建 .env 文件,并填入 API 密钥:
# Required - use either OPENAI_API_KEY or OPENROUTER_API_KEY
OPENAI_API_KEY=your_api_key
OPENROUTER_API_KEY=your_api_key
# Optional - specify custom base URL
OPENAI_BASE_URL=https://your-custom-url
OPENROUTER_BASE_URL=https://your-custom-url
使用方法
首先启动 MCP 服务,该服务运行在 8081 端口。 然后启动 MCP 客户端。
MCP 服务设置
uv run mcp-server-search.py
MCP 客户端用法
uv run mcp-client-sse.py --help
usage: mcp-client-sse.py [-h] [--server SERVER] [--verbose] [--quiet]
Run MCP SSE-based client
options:
-h, --help show this help message and exit
--server SERVER MCP SSE server URL (default: http://localhost:8081/sse)
--verbose Enable verbose logging mode (DEBUG level)
--quiet Set logging to WARNING level (overrides --verbose)
uv run mcp-client-sse.py --server URL_ADDRESS-server-url:8081/sse --verbose
可用的 MCP 工具
客户端支持以下 MCP 工具:
- google_search:执行网页搜索
- get_web_content:获取完整的网页内容
- get_weekday_from_date:日期工具
- get_weather_for_date:天气信息
开发
日志记录
客户端会在 mcp-client.log 中生成日志,其中包含时间戳和详细信息。
测试
待实现……
贡献
欢迎提交拉取请求。对于重大更改,请先创建议题以讨论拟议的更改。
许可证
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。