README
🚀 使用 Python 主机的多个 MCP SSE 服务器
本项目是一个基于 Google 的 Gemini API 实现的 Server-Sent Events (SSE) Model Control Protocol (MCP) 客户端。主应用程序会读取 config.json 文件,实例化 MCP 客户端类以启动 MCP 服务器,并维护与它们的连接,在关机时还会进行清理等操作。该主应用程序可打包为 dmg 包进行分发,适用于任何 MCP SSE 服务器。
待办事项
- 添加标准输入输出服务器支持
- 添加多个模型支持
- 添加工具链接功能
🚀 快速开始
📦 安装指南
-
克隆此存储库:
git clone https://github.com/hackerinheels/multipleMCPServerWithPythonHost.git cd multipleMCPServerWithPythonHost -
配置 API 密钥: 在根目录中创建一个
.env文件,内容如下:GEMINI_API_KEY=your_api_key_here MODEL_NAME=gemini-2.0-flash
您可以从 Google 的 AI Studio 获取 Gemini API 密钥。
-
设置 Google Calendar API: 按照
googleCalendar/README.md文件中的说明设置 Google Calendar API。 -
更新配置文件: 更新
config.json以包含浏览器使用服务器:{ "mcpServers": { "calendar": { "command": "uv", "args": ["run", "googleCalendar/calendarServer.py", "--port", "8000"] }, "browser-use": { "command": "uv", "args": ["run", "<path-to-browser-use-mcp-server>/server", "--port", "8006"] } } }
将 <path-to-browser-use-mcp-server> 替换为您实际克隆存储库的位置。
- 配置浏览器使用 MCP 服务器:
在浏览器使用 MCP 服务器目录中创建一个
.env文件,配置如下:
CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
💻 使用示例
基础用法
运行应用程序:
uv venv --python 3.11
source .venv/bin/activate
uv pip install -r requirements.txt
uv run host.py
这将启动 config.json 文件中列出的所有服务器。
高级用法
一旦服务器和客户端运行,您可以通过输入查询与它们交互:
Google Calendar 工具
日历服务器提供以下工具:
list_events:列出即将进行的日历事件get_event_details:获取特定事件的详细信息search_events:搜索与查询匹配的事件
示例查询:
- "显示我的 upcoming 事件"
- "搜索与 John 的会议"
- "获取 {event_id} 事件的详细信息"
浏览器使用用于浏览器自动化
此工具启用浏览器自动化和控制,提供以下功能:
- 'browser_use'
- 'browser_get_result'
输入 quit 退出客户端。
🔧 技术细节
要求
- Python 3.11+
- UV 包管理器
- Gemini API 密钥
- Google Calendar API 设置
📄 许可证
见项目源代码中的 LICENSE 文件。
Scan to join WeChat group