
Multiple MCP SSE Servers with a Python Host

2025.03.28
1
Python多服务器管理Google Calendar集成浏览器自动化开发效率日程管理浏览器自动化
Multiple MCP SSE Servers with a Python Host 是一个基于Python的MCP(Model Control Protocol)客户端实现,使用Google的Gemini API。该主机应用通过读取配置文件,实例化MCP客户端类来启动和维护MCP服务器的连接,并在关闭时进行清理。该项目支持Server-Sent Events (SSE)模式,并计划未来添加stdio服务器支持、多模型支持和工具链功能。
核心功能包括:
- 通过配置文件管理多个MCP服务器
- 与Google Calendar API交互,管理事件和日程
- 浏览器自动化,控制Chrome浏览器执行任务
适用场景:
- 需要同时管理多个MCP服务器的开发环境
- 需要自动化处理Google Calendar事件的场景
- 需要浏览器自动化执行任务的场景
View on GitHub
Overview
基本能力
产品定位
Multiple MCP SSE Servers with a Python Host 是一个用于管理和运行多个MCP服务器的工具,特别适用于需要同时控制多个服务的开发环境。
核心功能
- 多服务器管理:通过配置文件启动和管理多个MCP服务器。
- Google Calendar集成:提供日历事件管理功能,包括列出事件、获取事件详情和搜索事件。
- 浏览器自动化:支持浏览器自动化任务,如控制Chrome浏览器执行特定操作。
- SSE支持:使用Server-Sent Events (SSE)模式进行通信。
适用场景
- 开发环境中需要同时管理多个服务的场景
- 需要自动化处理Google Calendar事件的场景
- 需要浏览器自动化执行任务的场景
工具列表
- Google Calendar工具:
list_events
:列出即将到来的日历事件get_event_details
:获取特定事件的详细信息search_events
:搜索匹配查询的事件- 浏览器自动化工具:
browser_use
:浏览器自动化控制browser_get_result
:获取浏览器执行结果
常见问题解答
- 服务器启动失败:检查端口是否可用
- 环境变量问题:确保所有环境变量已正确设置
- Chrome路径问题:确保Chrome路径正确
使用教程
使用依赖
- Python 3.11+
- UV包管理器
- Google Gemini API密钥
- Google Calendar API凭证(用于日历服务器)
安装教程
- 克隆仓库:
bash git clone https://github.com/hackerinheels/multipleMCPServerWithPythonHost.git cd multipleMCPServerWithPythonHost
- 创建
.env
文件并添加API密钥:GEMINI_API_KEY=your_api_key_here MODEL_NAME=gemini-2.0-flash
- 设置Google Calendar API(参考googleCalendar/README.md)
- 更新
config.json
文件以包含浏览器使用服务器 - 在browser-use-mcp-server目录中创建
.env
文件并配置Chrome路径
调试方式
- 启动虚拟环境:
bash uv venv --python 3.11 source .venv/bin/activate
- 安装依赖:
bash uv pip install -r requirements.txt
- 运行主机应用:
bash uv run host.py
- 与服务器交互:输入查询命令,如"Show my upcoming events"或"Search for meetings with John"