MCP.so
Sign In

Multiple MCP SSE Servers with a Python Host

@hackerinheels

About Multiple MCP SSE Servers with a Python Host

This repository contains a python implementation of an MCP Host which is capable of running several MCP Servers with SSE protocol

Basic information

Category

Other

Runtime

python

Transports

stdio

Publisher

hackerinheels

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "multipleMCPServerWithPythonHost": {
      "command": "uv",
      "args": [
        "venv",
        "--python",
        "3.11"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Multiple MCP SSE Servers with a Python Host?

Multiple MCP SSE Servers with a Python Host is a Server-Sent Events (SSE) Model Context Protocol (MCP) client implementation that uses Google’s Gemini API. It reads a config.json file to launch and maintain connections with multiple MCP servers, and handles lifecycle management and cleanup. It is intended for developers who want to run several MCP servers concurrently and interact with them through a single Python host.

How to use Multiple MCP SSE Servers with a Python Host?

Clone the repository, create a .env file with GEMINI_API_KEY and MODEL_NAME, set up Google Calendar API credentials, update config.json with the MCP server commands, then run uv run host.py from a Python 3.11+ virtual environment. Interact by typing queries in the client prompt.

Key features of Multiple MCP SSE Servers with a Python Host

  • Launches and manages multiple MCP servers from a single config file.
  • Uses SSE transport for server communication.
  • Integrates with Google’s Gemini API for LLM responses.
  • Supports calendar management and browser automation servers.
  • Handles graceful shutdown and cleanup automatically.
  • Can be packaged as a distributable DMG on macOS.

Use cases of Multiple MCP SSE Servers with a Python Host

  • Automate calendar event queries alongside web browsing tasks.
  • Build a multi-tool assistant that can read calendars and control a browser.
  • Prototype an MCP host that connects several third-party MCP servers.
  • Distribute a pre-configured host application for end users.

FAQ from Multiple MCP SSE Servers with a Python Host

What transport protocol does the host use?

The host uses Server-Sent Events (SSE) for communication with MCP servers. STDIO server support is planned but not yet implemented.

Which LLM model is required?

The example configuration uses Google Gemini 2.0 Flash (gemini-2.0-flash). The API key must be set in the .env file under GEMINI_API_KEY.

What dependencies are needed to run the host?

Python 3.11+, the UV package manager, a Gemini API key, and Google Calendar API credentials (if using the calendar server). For the browser server, Google Chrome must be installed and the CHROME_PATH environment variable set.

Can I use a different LLM model?

Currently only Gemini models are supported. The README lists multiple model support as a planned future feature.

Where does data live and what are known limitations?

User queries and server responses are handled in memory; no persistent storage is described. Limitations include no STDIO server support, no multiple model support, and no tool chaining yet (all noted as “Todo”). Authentication relies on API keys in environment variables.

Comments

More Other MCP servers