Mono-MCP-Hosting fuer Vibe Factory

Ziel

Mehrere unserer MCPs (Papierkram + TicketPAY + M365) hinter einem einzigen Custom-Connector-Endpunkt in claude.ai Pro fuer Andre bereitstellen — ohne lokales Setup, ohne Eigenbau-OAuth, mit EU-Daten-Standort.

Erste Implementierung des Mono-MCP-Patterns — Template fuer weitere Kunden. Pattern-Details: ”mcp-vf-hosted”.

Wo stehen wir gerade?

  • Pattern entworfen + Plan + Threat-Model: 2026-05-02
  • Source-Repo:mcp-vf-hosted” = ~/source/mcps/mcp-vf-hosted/
  • Production-URL: https://mcp-vf.agenticventures.de/mcp (Railway EU-West Amsterdam)
  • OAuth: Scalekit AuthKit EU-Region, JWKS-Cache, ScalekitProvider in FastMCP v2
  • Sub-MCPs via stdio + create_proxy: Papierkram, TicketPAY, M365
  • Live mit Andre seit: 2026-05-02 / 2026-05-03 (Live-Test ergab Filter + Auto-Compact-Build)

Naechste Meilensteine

  • ✅ Repo-Setup + Lokal-Smoke-Test mit MCP Inspector
  • ✅ Railway-Deploy + Cloudflare-Setup
  • ✅ Pen-Test-Checkliste durch
  • ✅ Andre-Onboarding (~3 Min in claude.ai)
  • ⏳ Quartalsweise Token-Rotation (Scheduled)

Risiken / offene Fragen

  • AVV mit Scalekit (1-2 Tage Wartezeit) — siehe Setup-Pfad in Pattern-Doku
  • Cloudflare WebSocket/SSE-Streaming-Settings: pruefen
  • Bei Wachstum (mehrere VF-User) → LibreChat-Phase, siehe ”librechat-railway-multiuser

Notizen

  • FastMCP v1 vs v2 API-Drift: create_proxy() umgeht das ohne Sub-MCPs zu modifizieren
  • claude.ai-Custom-Connector akzeptiert KEINE statischen Bearer-Header in der UI — OAuth-only (Live-Test 2026-05-02 bestaetigt)
  • Notfall-Schalter: EMERGENCY_DISABLE=true in Railway-ENV

0 Dateien in diesem Ordner.