mcpField
M
Multiple MCP SSE Servers with a Python Host

Multiple MCP SSE Servers with a Python Host

本地服务
github.com/hackerinheelsAI 与智能体183 周前更新

关于 Multiple MCP SSE Servers with a Python Host

这是一个用配置文件启动和管理多个 SSE MCP 服务的 Python Host,使用 Google's Gemini API,并提供日历和浏览器自动化服务示例。

主要功能

  1. 01启动多个已配置的 MCP 服务
  2. 02维护连接并在关闭时清理
  3. 03通过 Google's Gemini API 交互
  4. 04包含日历和浏览器自动化服务示例

适用场景

  1. 01通过一个 Host 运行多个 SSE 服务
  2. 02查询和搜索 Google Calendar 日程
  3. 03通过 Chrome 执行浏览器任务

MCP 相关

Host 会读取 config.json 并启动、管理多个通过 SSE 通信的 MCP 服务。README 将 STDIO 支持列为后续任务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

使用 Python Host 连接多个 MCP SSE 服务

本仓库包含一个使用 Google Gemini API 的服务器发送事件(SSE)模型控制协议(MCP)客户端实现。 Host 应用会读取 config.json 文件,创建 MCP Client 类的实例以启动 MCP 服务并维持连接,并在关闭时进行清理等操作。

此 Host 应用可以打包为 dmg 软件包并分发,之后可用于任何 MCP SSE 服务。 待办:添加 stdio 服务支持 待办:添加多模型支持 待办:添加工具链式调用

设置

  1. 克隆此仓库:

    git clone https://github.com/hackerinheels/multipleMCPServerWithPythonHost.git
    cd multipleMCPServerWithPythonHost
    
  2. 在根目录中创建一个 .env 文件并填入 API 密钥:

    GEMINI_API_KEY=your_api_key_here
    MODEL_NAME=gemini-2.0-flash
    

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

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

  4. 更新 config.json,加入 browser-use 服务:

    {
        "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> 替换为你克隆仓库时使用的实际路径。

  5. 在 browser-use-mcp-server 目录中创建一个 .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:搜索符合查询条件的活动

查询示例:

  • “显示我即将举行的活动”
  • “搜索与 John 的会议”
  • “获取活动 {event_id} 的详细信息”
用于浏览器自动化的 Browser Use

此工具可通过以下工具实现浏览器自动化和控制:

  • 'browser_use'
  • 'browser_get_result'

输入 quit 退出客户端。

要求

  • Python 3.11+
  • UV 包管理器
  • Google Gemini API 密钥
  • Google Calendar API 凭据(用于日历服务)

许可证

MIT

MCP 多服务配置

本仓库演示如何使用配置文件加载和运行多个 MCP 服务。

包含的服务

日历服务
  • 与 Google Calendar 交互
  • 管理活动和日程安排
Browser-use 服务
  • 自动化浏览器交互
  • 以编程方式控制 Chrome 浏览器
  • 执行基于浏览器的任务
4. Browser-use 服务环境设置

在 browser-use-mcp-server 目录中创建一个 .env 文件,并填入以下配置:

CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

注意:请将 "your-openai-api-key" 替换为你实际的 OpenAI API 密钥。

备注

  • 确保在 .env 中正确配置所有 API 密钥
  • 确保已为 browser-use 服务安装 Chrome
  • 每个服务都在指定端口上运行
  • Host 管理所有服务的生命周期

故障排除

  • 如果服务无法启动,请检查端口是否可用
  • 确认所有环境变量均已正确设置
  • 确保 Chrome 路径适用于你的系统

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。