Back to MCP directory
publicPublicdnsLocal runtime

multipleMCPServerWithPythonHost

该项目是一个基于Python的多MCP服务器管理框架,通过SSE协议实现与Google Gemini API的交互,包含日历管理和浏览器自动化两大功能模块,支持通过配置文件动态加载多个服务。

article

README

🚀 使用 Python 主机的多个 MCP SSE 服务器

本项目是一个基于 Google 的 Gemini API 实现的 Server-Sent Events (SSE) Model Control Protocol (MCP) 客户端。主应用程序会读取 config.json 文件,实例化 MCP 客户端类以启动 MCP 服务器,并维护与它们的连接,在关机时还会进行清理等操作。该主应用程序可打包为 dmg 包进行分发,适用于任何 MCP SSE 服务器。

待办事项

  • 添加标准输入输出服务器支持
  • 添加多个模型支持
  • 添加工具链接功能

🚀 快速开始

📦 安装指南

  1. 克隆此存储库

    git clone https://github.com/hackerinheels/multipleMCPServerWithPythonHost.git
    cd multipleMCPServerWithPythonHost
    
  2. 配置 API 密钥: 在根目录中创建一个 .env 文件,内容如下:

    GEMINI_API_KEY=your_api_key_here
    MODEL_NAME=gemini-2.0-flash
    

您可以从 Google 的 AI Studio 获取 Gemini API 密钥。

  1. 设置 Google Calendar API: 按照 googleCalendar/README.md 文件中的说明设置 Google Calendar API。

  2. 更新配置文件: 更新 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> 替换为您实际克隆存储库的位置。

  1. 配置浏览器使用 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 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client