MCP SSE客户端服务器
带有服务器发送事件(SSE)的MCP客户端和服务器的简单Python实现。
特性
- 客户端和服务器之间基于SSE的通信
- 与MCP平台工具(google_search、get_web_content)集成
- 使用Python的asyncio异步处理查询
- 全面的日志记录和错误处理
- OpenAI API集成,可回退到OpenRouter
- 环境变量配置支持
需求
- Python 3.10+
- pyproject.toml中列出的依赖关系:
- httpx用于HTTP请求 - 用于环境变量的python dotenv - openai用于LLM集成 - mcp\[cli\]用于mcp平台集成
安装
- 克隆此存储库
- 创建并激活虚拟环境:
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.pyMCP客户端使用情况
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 带有时间戳和详细信息。
测试
待执行。..
贡献
欢迎拉取请求。对于重大更改,请先打开一个问题来讨论拟议的更改。
