Multiple MCP SSE Servers with a Python Host

Multiple MCP SSE Servers with a Python Host

这个仓库包含一个 MCP 主机的 Python 实现,该主机能够运行多个使用 SSE 协议的 MCP 服务器。

hackerinheels

开发者工具
访问服务器

README

多个 MCP SSE 服务器与 Python 主机

本仓库包含一个使用 Google Gemini API 的服务器发送事件 (SSE) 模型控制协议 (MCP) 客户端实现。 主机应用程序读取 config.json 文件,实例化 MCP Client 类的实例以启动 MCP 服务器并维护与它们的连接,在关闭时进行清理等。

可以将此主机应用程序打包为 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_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 密钥。

注意事项

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

故障排除

  • 如果服务器无法启动,请检查其端口可用性
  • 验证所有环境变量是否已正确设置
  • 确保 Chrome 路径对于您的系统是正确的

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript