Zum Inhalt springen

Open Source · selbst gehostet · Remote-MCP-Server

Viele Gmail-Postfächer, ein Claude-Connector.

Mit Surfski kann Claude E-Mails in mehreren Gmail- und Google-Workspace-Postfächern durchsuchen, lesen und entwerfen. Du fügst einen Connector hinzu, verknüpfst beliebig viele Postfächer, und jeder Nutzer sieht immer nur seine eigenen.

Funktioniert mit Claude im Web, auf dem Desktop und mobil sowie mit jedem MCP-Client, der Streamable HTTP mit OAuth unterstützt.

„Finde alles von Acme aus diesem Monat in allen meinen Postfächern.“

search_all_accounts(query="from:acme newer_than:30d")

  • workRechnung Nr. 4821 – OktoberAcme Billing18. Okt.
  • personalDeine Bestellung wurde versandtAcme Store15. Okt.
  • supportRe: Erstattung zu Rechnung Nr. 4790[email protected]12. Okt.
Illustration. Drei Postfächer, eine Suche.

So funktioniert es

Zwei getrennte Google-Anmeldungen halten zwei Fragen auseinander: Welcher Claude-Nutzer fragt, und welche Postfächer hat dieser Nutzer freigegeben? Beide nutzen denselben OAuth-Client in deinem eigenen Google-Cloud-Projekt.

  1. 1Ebene A · Wer du bist

    Surfski einmal zu Claude hinzufügen

    Füge deinen Server als benutzerdefinierten Connector hinzu und melde dich mit Google an. Surfski prüft nur anhand seiner Allowlist, wer du bist. Dein Passwort sieht es nie.

    Scopes: openid, email

  2. 2Ebene B · Welche Postfächer

    Jedes Postfach unter einem Alias verknüpfen

    Bitte Claude: „Verknüpfe mein Arbeits-Gmail als work“. Du meldest dich mit diesem Postfach an und gewährst Lese- und Schreibzugriff für Entwürfe. Wiederhole das für personal, support und so weiter.

    Scopes: gmail.readonly, gmail.compose

  3. 3Danach

    Alle auf einmal fragen

    Claude durchsucht Postfächer, liest Threads und speichert Entwürfe in dem Postfach, das du nennst, oder über alle verknüpften Postfächer hinweg.

Was du bekommst

Viele Postfächer pro Person

Verknüpfe beliebig viele Gmail- und Google-Workspace-Konten, jeweils unter einem kurzen Alias wie work, personal oder support.

Suche über alle Postfächer

Eine Suche läuft über alle deine verknüpften Postfächer und zeigt dir, aus welchem Postfach jeder Thread stammt.

Zuerst Entwürfe

Claude schreibt Entwürfe, und du versendest sie aus Gmail. Optionales Senden mit Bestätigungslinks und Tageslimits steht auf der Roadmap.

Zum Konzept fürs Senden →

Strikte Trennung pro Nutzer

Jede Abfrage ist auf den angemeldeten Claude-Nutzer beschränkt. Wer sich einen Server teilt, sieht nie die Postfächer der anderen.

Verschlüsselt gespeichert

Refresh-Tokens werden auf deinem Server mit Fernet verschlüsselt. Access-Tokens bleiben im Arbeitsspeicher. Logs enthalten nie Tokens oder Nachrichteninhalte.

Dein Google-Projekt, dein Server

Beim Selbsthosten nutzt du deinen eigenen OAuth-Client und brauchst daher keine App-Verifizierung durch Google. Das funktioniert für bis zu 100 Nutzer.

Betreibe deine eigene Instanz

Die Lese-Scopes von Gmail sind eingeschränkt. Eine öffentliche App braucht eine Verifizierung durch Google und eine jährliche Sicherheitsprüfung. Deine eigene Instanz nicht, solange sie unter 100 Nutzern bleibt.

  • Dein eigenes Google-Cloud-Projekt und dein eigener OAuth-Client.
  • Refresh-Tokens verlassen nie deinen Server.
  • Ein Docker-Container hinter deinem TLS-Reverse-Proxy.
# auf einem Linux-Host mit Docker
git clone https://github.com/rayhu/surfski /opt/surfski
cd /opt/surfski
python3 scripts/gen_secrets.py
sudo docker compose -p surfski up -d --build

# dann in Claude: Einstellungen → Connectors
# → Benutzerdefinierten Connector hinzufügen → https://<host>/mcp

Kommt später

Eine gehostete Version

Ein gehostetes Surfski ist in Schritten geplant: zuerst eine Beta nur auf Einladung, dann Hosting für Google-Workspace-Organisationen, die ihren eigenen internen OAuth-Client mitbringen, und öffentliches Self-Service-Hosting erst nach der OAuth-Verifizierung durch Google und der jährlichen Sicherheitsprüfung. Es gibt noch keinen Termin und noch keine Anmeldung.