multi-service
an MCP server for the services I like to use with AI agents, which you should probably fork and modify for your own use. No PRs accepted, this is just for me. Not private because you or a bot might get something out of what you see here.
claude mcp add --transport stdio adampippert-multi-service-mcp-server python app.py \ --env DEBUG="False" \ --env SECRET_KEY="your-secret-key" \ --env CHROME_PATH="/usr/bin/chromium-browser" \ --env GITHUB_TOKEN="your-github-token" \ --env GITLAB_TOKEN="your-gitlab-token" \ --env GMAPS_API_KEY="your-google-maps-api-key" \ --env MEMORY_DB_URI="sqlite:///memory.db" \ --env PUPPETEER_HEADLESS="true"
How to use
This MCP server acts as a modular gateway that exposes a set of tools through the Model Context Protocol. It aggregates GitHub, GitLab, Google Maps, Memory storage, and Puppeteer capabilities behind a unified MCP gateway and a manifest describing each tool. You can interact with the gateway by sending requests to /mcp/gateway using the MCP format, or directly access individual tools via /tool/{tool-name}/... endpoints. The manifest at /mcp/manifest lists available actions for each tool and their required parameters, enabling you to discover capabilities programmatically. This setup lets you route requests to the specific tooling you need (for example GitHub repository operations or memory storage) without building separate clients, while still allowing direct tool access when required.
How to install
Prerequisites:
- Python 3.8 or higher
- Node.js 14 or higher (for any optional frontend tooling or script integrations)
- A Linux, macOS, or compatible environment
Installation steps:
-
Clone the repository: git clone https://github.com/yourusername/mcp-server.git cd mcp-server
-
Create and populate environment configuration (see .env guidance in README): SECRET_KEY=your-secret-key DEBUG=False GITHUB_TOKEN=your-github-token GITLAB_TOKEN=your-gitlab-token GMAPS_API_KEY=your-google-maps-api-key MEMORY_DB_URI=sqlite:///memory.db PUPPETEER_HEADLESS=true CHROME_PATH=/usr/bin/chromium-browser
-
Install Python dependencies: pip install -r requirements.txt
-
Install Node.js dependencies (if using any Node-based tooling in the repo): npm install
-
Run the server locally: python app.py
Containerized deployment (optional):
- Build and run with Docker/Docker Compose as described in the repository’s guidance: docker build -t mcp-server . docker run -p 5000:5000 --env-file .env mcp-server or use docker-compose up -d with a docker-compose.yml that mirrors the environment file and volumes.
Notes:
- The project emphasizes a monolithic MCP router approach; if memory constraints apply to smaller models, consider running individual containerized tool servers instead of a single gateway.
Additional notes
Tips and caveats:
- This project is no longer actively maintained; memory management and scaling may require adapting the architecture to individual tool containers.
- Ensure environment variables are securely managed, especially tokens and secrets.
- If you encounter issues with Puppeteer, verify that the Chrome/Chromium path and headless settings are correct for your environment.
- For SELinux-enabled systems, persistent storage using Podman may require volume flags like :Z.
- The MCP manifest and gateway endpoints are the primary surface for discovery and routing; use the gateway to explore capabilities before using direct tool endpoints.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP