Files
runtipi/apps/mcp-manager/metadata/description.md
alexz 4cb8e3cd2c Add mcp-manager app: MCP server control panel w/ HTTPS SSE bridge
Single-container FastAPI + React UI plus mongo:7. Image bundles Node 20 + uv/uvx
so npx/uvx MCP servers run; package caches persisted under app-data. 127.0.0.1
/api healthcheck; admin email/password form fields + auto-generated JWT secret.
2026-05-29 07:04:51 -07:00

2.1 KiB

MCP Manager

A self-hosted control panel for your Model Context Protocol (MCP) servers. Add, edit, run and monitor servers from one dashboard, then export a ready-to-paste Claude configuration.

Why this exists

MCP servers are scattered across npx, uvx, and one-off HTTP/SSE endpoints, and wiring them into Claude by hand is tedious. MCP Manager keeps them in one place behind a login and turns any local stdio server into an HTTPS-reachable SSE endpoint you can drop straight into a Claude config.

Features

  • Add stdio, SSE, and HTTP MCP servers with custom command, args, and env
  • Launch and stop stdio servers as managed processes, with live status
  • Built-in SSE bridge — exposes each stdio server over HTTPS:
    • GET https://<domain>/api/mcp/<name>/sse?token=<token>
    • POST https://<domain>/api/mcp/<name>/messages?session_id=...&token=<token>
  • Per-server auto-generated access_token; unauthenticated requests get 401
  • Claude Config tab emits copy-paste-ready stdio and HTTPS/SSE blocks
  • Admin login (JWT cookie); config snapshot + running state persisted to disk
  • Single container + MongoDB; the React UI and the /api are served on one port

Runtime

  • Node 20 and uv / uvx ship inside the image, so the common npx- and uvx-based MCP servers run out of the box.
  • All package caches and installs (npm, npx, uv tools, global npm prefix, pip) live under /data, which is mounted to Runtipi app-data — so servers download once and survive container restarts and updates.

First run

  1. Install and set Admin email + Admin password (the JWT secret is generated).
  2. Toggle Expose app and assign a domain — Traefik issues TLS automatically.
  3. Add your MCP servers, start the stdio ones, and copy the generated Claude config.

Backup

Everything needed to rebuild lives under app-data:

  • servers.json — full server configuration snapshot (re-seeded if the DB is empty on boot)
  • running_state.json — which stdio servers were running (auto-restarted on boot)
  • the MongoDB volume — accounts and live server records