本项目是一个基于 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", "/server" , "--port", "8006"]
}
}
}
将
替换为您实际克隆存储库的位置。
.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 文件中列出的所有服务器。
一旦服务器和客户端运行,您可以通过输入查询与它们交互:
日历服务器提供以下工具:
list_events:列出即将进行的日历事件get_event_details:获取特定事件的详细信息search_events:搜索与查询匹配的事件示例查询:
此工具启用浏览器自动化和控制,提供以下功能:
输入 quit 退出客户端。
见项目源代码中的 LICENSE 文件。