Skip to main content
Glama
Jake-double-one

Fredy MCP Bridge

Fredy MCP Bridge

Ein Sidecar-Container für Fredy, der Fredys MCP-Server um fehlende Funktionen ergänzt – ohne Fredy selbst zu verändern. Fredy bleibt ein ganz normales Image und kann wie gewohnt aktualisiert werden.

Inoffizielle Ergänzung, nicht Teil des Fredy-Projekts. Alle Anerkennung für Fredy gebührt Christian Kellner und den Fredy-Mitwirkenden. Details siehe LICENSE.txt.

Was die Bridge macht

MCP-Client (Claude.ai, ChatGPT, …)
        │  https://fredy-mcp.example.de/mcp   (OAuth)
        ▼
 Fredy MCP Bridge ──► Fredys eigener MCP-Server  /api/mcp      (alle Fredy-Tools, 1:1 durchgereicht)
                  └─► Fredys REST-API             /api/listings… (Zusatz-Tools, als der jeweilige Benutzer)
  • Durchreichen: Alle Tools von Fredys MCP erscheinen unverändert – auch solche, die Fredy künftig neu mitbringt.

  • Ergänzen: Inserate löschen (ausblenden) und wiederherstellen, endgültig löschen, Bewerbungsstatus, Betrugsmarkierung, Suchjob starten, Suchjob aktivieren/pausieren.

  • OAuth für Remote-Connectoren mit eigener Login-Seite – angemeldet wird mit dem Fredy-Konto.

  • Rechte pro Verbindung: Was Fredy anbietet, ist standardmäßig an; alle Zusätze sind Opt-in. Einzelne Fredy-Tools lassen sich pro Verbindung sperren. Verbindungen jederzeit trennbar.

  • Rollen-Obergrenzen: Admins legen fest, was Fredy-Admins bzw. normale Benutzer überhaupt freigeben dürfen.

  • Sprachen wie Fredy: Englisch (Standard), Deutsch, Spanisch, Französisch, Italienisch. Nach dem Login folgt die Oberfläche der Sprache im Fredy-Profil; Änderungen dort greifen innerhalb einer Minute. Ohne gewählte Sprache – oder bei einer Sprache, die die Bridge nicht kennt – Englisch.

  • Fredy entscheidet über Sichtbarkeit: Jeder Aufruf läuft über Fredys Reverse-Proxy-Anmeldung als genau der verbundene Benutzer. Eigene/geteilte Jobs, Admin-Rechte und Demo-Modus prüft Fredy selbst.

Löschen vs. endgültig löschen

Tool

Wirkung

Kommt beim nächsten Suchlauf wieder?

hide_listings

wie „Löschen“ in der Fredy-Oberfläche (ausblenden)

nein – Fredy kennt das Inserat weiter

restore_listings

holt ausgeblendete Inserate zurück

–

delete_listings_permanently

entfernt den Datensatz komplett

ja, wenn das Inserat noch online ist

Related MCP server: Universal MCP Gateway

Einrichtung

1. Stack in Portainer erweitern

Siehe docker-compose.example.yml. Wichtig sind das gemeinsame Netz fredy-net mit fester IP für die Bridge und die Stack-Variable FREDY_PROXY_SECRET (z. B. openssl rand -hex 32).

Variable

Pflicht

Bedeutung

PUBLIC_URL

ja

Öffentliche HTTPS-Adresse der Bridge, ohne Pfad

FREDY_PROXY_SECRET

ja

Gemeinsames Geheimnis, identisch in Fredy eingetragen

FREDY_URL

Fredy im Docker-Netz, Standard http://fredy:9998

FREDY_PROXY_USER_HEADER

Standard Remote-User

FREDY_PROXY_SECRET_HEADER

Standard X-Fredy-Proxy-Secret

FREDY_ADMIN_USERNAME

Fredy-Admin zum Abholen der MCP-Tokens; ohne Angabe der zuletzt an der Bridge angemeldete Admin

TRUST_PROXY

Wem X-Forwarded-For geglaubt wird, Standard: private Netze

TZ

Zeitzone für die Anzeige

2. Fredy: Reverse-Proxy-Anmeldung

Fredy → Einstellungen → System → Anmeldung durch den Reverse-Proxy:

  • Identitäts-Header von vertrauenswürdigen Proxys akzeptieren: an

  • Vertrauenswürdige Proxy-Adressen: 172.31.250.10 (nur die Bridge, kein ganzes Netz)

  • Benutzername-Header: Remote-User

  • Header für gemeinsames Geheimnis: X-Fredy-Proxy-Secret

  • Gemeinsames Geheimnis: derselbe Wert wie FREDY_PROXY_SECRET

Fredy prüft die TCP-Gegenstelle, nicht X-Forwarded-For. Zugriffe aus dem Internet oder dem LAN kommen nie von 172.31.250.10 – und brauchen zusätzlich das Geheimnis. Der normale Fredy-Login funktioniert unverändert weiter.

3. Reverse Proxy (z. B. Nginx Proxy Manager)

Proxy Host für die Subdomain der Bridge → http://<Docker-Host-IP>:9999, SSL-Zertifikat (Let's Encrypt), Force SSL. Claude.ai verlangt HTTPS.

4. Erste Anmeldung

https://<bridge>/ öffnen und einmal als Fredy-Admin anmelden. Unter Zustand sollten alle drei Prüfungen grün sein. Danach im MCP-Client die Connector-URL https://<bridge>/mcp eintragen.

Betrieb

  • Daten: /data/bridge.sqlite (Verbindungen, Rechte, Tokens als Hash). Fredys Datenbank wird nie angefasst.

  • Selbsttest: beim Start, stündlich und auf der Admin-Übersicht. Ändert Fredy seine interne REST-API, steht das deutlich im Log (!!! Selbsttest …) und unter Zustand.

  • Wenn Fredy die Zusätze selbst mitbringt: Ein gleichnamiges Fredy-Tool ersetzt automatisch das Bridge-Tool.

  • Tokens: Access-Token 1 h, Refresh-Token 30 Tage (rotierend; ein wiederverwendeter alter Refresh-Token widerruft die Token-Familie).

Entwicklung

npm install
npm test
PUBLIC_URL=http://localhost:3000 FREDY_URL=http://127.0.0.1:9998 FREDY_PROXY_SECRET=… DATA_DIR=./data npm start
npm run licenses   # LICENSE.txt nach Paket-Updates neu erzeugen

Übersetzungen liegen in src/locales/<sprache>.json; en.json ist die Referenz. Der Test test/i18n.test.js prüft, dass jede Sprache alle Schlüssel und dieselben Platzhalter hat.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Local-first MCP proxy with BM25 tool discovery, quarantine security, Docker isolation, OAuth support, activity logging, and web UI. Routes multiple upstream MCP servers through a single endpoint.
    9
    390
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A self-hosted MCP gateway that aggregates all your MCP servers behind a single Streamable HTTP endpoint, with automatic registry discovery (19,000+ servers), on-demand Docker provisioning, multi-device support via SSH, OAuth2 PKCE authentication, and a workflow engine for saving and replaying multi-step tool sequences.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A universal MCP server for registering internal, external, and OpenAPI-based APIs as MCP tools. It exposes them to MCP clients via Streamable HTTP and provides admin portal, RBAC/session auth, credential injection, and audit logging.
    Academic Free v1.1
  • F
    license
    Not graded
    quality
    B
    maintenance
    A remote MCP server that lets MCP clients self-register over OAuth 2.1 and call read-only tools for organization identity, place and region browsing, dashboards, metrics, and ranking, forwarding the caller's own Auth0 token so each service still sees the real user. It also exposes a bearer pass-through surface for first-party apps holding an existing token.
    -