Sarmate.net Sarmate.net
Startseite Funktionen Preise Dokumentation Kontakt
Anmelden Registrieren
Sarmate × MCP Dokumentation

Technische MCP-Dokumentation

Vollständige Setup-Snippets, Beschreibung der 11 Tools, häufig gestellte Fragen.

Überblick

Sarmate stellt einen MCP-Server (Model Context Protocol) bereit, der den Zugriff auf Ihren LaTeX-Drive für externe KI-Clients ermöglicht.

  • URL : https://mcp.sarmate.net/mcp
  • Transport : Streamable HTTP / SSE
  • Auth : Bearer-Token (Authorization: Bearer smt_xxx)
  • Plan : Perso, Pro oder Etab erforderlich (free nicht unterstützt)
  • Rate limit : 60 req/min/IP
  • Token-Limit : 10 aktive Tokens pro Konto

Setup pro Client

Hinweis zur Sicherheit : In den Snippets unten erscheint smt_VOTRE_TOKEN — ersetzen Sie es manuell durch Ihren echten Token. Geben Sie niemals Ihren Token in ein Eingabefeld auf einer öffentlichen Webseite ein (Phishing-Risiko, einschließlich gefälschter Klone dieser Seite). Konto erstellen, um einen Token zu generieren.

Claude Desktop (Mac / Windows / Linux)

Claude Desktop spricht kein HTTP nativ. Sie müssen die mcp-remote-Bridge (Node.js erforderlich) verwenden, die den stdio-Transport in HTTP umwandelt.

Datei zu bearbeiten:

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows : %APPDATA%\Claude\claude_desktop_config.json
  • Linux : ~/.config/Claude/claude_desktop_config.json

Inhalt (mit anderen MCP-Servern zusammenführen, falls vorhanden):

{ "mcpServers": { "sarmate": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.sarmate.net/mcp", "--header", "Authorization: Bearer smt_VOTRE_TOKEN"] } } }
Beenden Sie Claude Desktop vollständig (Cmd+Q auf Mac) und öffnen Sie es erneut. Nur das Fenster zu schließen reicht nicht.

Claude.ai (Web / iOS / Android)

Über die Web-/Mobile-UI:

  1. Settings → Connectors → Add custom connector
  2. Name : sarmate
  3. URL : https://mcp.sarmate.net/mcp
  4. Auth : Custom header → Authorization: Bearer smt_VOTRE_TOKEN

Anschließend müssen Sie den Connector in jeder Konversation aktivieren, in der Sie ihn verwenden möchten (Symbol unten im Eingabefeld).

Claude Code (CLI) — vollständige Schritt-für-Schritt-Anleitung

  1. Token im Sarmate-Datei-Manager abrufen
    In file_manager.php klicken Sie auf das MCP-Symbol oben rechts → Neues Token. Optional: Zugriff auf einen Unterordner beschränken oder schreibgeschützt machen. Kopieren Sie den Token (beginnt mit smt_) — er wird nur einmal angezeigt.
  2. Claude Code öffnen und ihn um die Konfiguration des Servers bitten
    In einem Terminal:
    claude
    Sobald die Sitzung geöffnet ist, fügen Sie diese Anfrage mit der JSON-Konfiguration ein und drücken Sie Enter — Claude Code übernimmt den Rest:
    Bitte füge diesen MCP-Server zu meiner Claude-Code-Konfiguration hinzu: { "mcpServers": { "sarmate": { "httpUrl": "https://mcp.sarmate.net/mcp", "headers": { "Authorization": "Bearer smt_VOTRE_TOKEN" } } } }
    Claude Code wird die geeignete claude mcp add-Befehl ausführen oder direkt seine Konfigurationsdatei bearbeiten. Für einen erfahrenen Benutzer, der die Konversationsroute überspringen möchte, äquivalente direkte Befehl: claude mcp add --transport http sarmate https://mcp.sarmate.net/mcp --header "Authorization: Bearer smt_VOTRE_TOKEN".
  3. Sitzung neu laden, damit der Server geladen wird
    In der Claude-Code-Sitzung — tippen :
    /exit
    Zurück im Shell-Terminal — starten neu mit :
    claude --continue
    Setzt die letzte Sitzung fort UND lädt die MCP-Konfiguration neu. Ohne Neuladen sieht Claude Code den neuen Server nicht — die Tools-Liste wird nur beim Start abgerufen.
  4. Verbindung überprüfen
    claude mcp list
    Sie sollten sarmate ✓ Connected in der Liste sehen.
  5. Testen Sie das Werkzeug
    Bitten Sie Claude Code in der Sitzung, mit Ihrem Drive zu interagieren — er hat jetzt Zugriff darauf:
    > Liste mes fichiers .tex, ouvre main.tex, korrigiere die Fehler und kompiliere.
    Claude Code wird die Tools list_filesread_filewrite_filecompileget_compile_log autonom verketten, bis der Build sauber ist. Sie sehen jeden Aufruf in Echtzeit im Bedienfeld.
Sicherheit : Geben Sie Ihren Token niemals weiter und committen Sie ihn nicht in ein Repo. Wenn er kompromittiert wurde, widerrufen Sie ihn im Datei-Manager → MCP → Tokens (in einem Klick) und erstellen Sie einen neuen.

Cursor

Cursor spricht HTTP nativ (keine Bridge nötig). Bearbeiten Sie:

  • ~/.cursor/mcp.json (global)
  • .cursor/mcp.json (pro Projekt)
{ "mcpServers": { "sarmate": { "url": "https://mcp.sarmate.net/mcp", "headers": { "Authorization": "Bearer smt_VOTRE_TOKEN" } } } }

Auch über Cursor Settings → MCP → Add Server möglich.

Cline (VS Code)

In VS Code: Cline-Sidebar → MCP Servers → Configure MCP Servers, dann einfügen:

{ "mcpServers": { "sarmate": { "url": "https://mcp.sarmate.net/mcp", "headers": { "Authorization": "Bearer smt_VOTRE_TOKEN" }, "disabled": false } } }

Continue (VS Code)

Block in ~/.continue/config.yaml hinzufügen:

mcpServers: - name: sarmate url: https://mcp.sarmate.net/mcp headers: Authorization: Bearer smt_VOTRE_TOKEN

ChatGPT (Developer Mode, beta)

Beta-Funktion. Plus / Pro = nur Lesen; Schreibwerkzeuge sind auf Business / Enterprise / Edu beschränkt.

  1. Settings → Apps → Advanced settings → Developer mode
  2. Create app
  3. URL : https://mcp.sarmate.net/mcp
  4. Transport : Streamable HTTP
  5. Auth : Custom header → Authorization: Bearer smt_VOTRE_TOKEN

Gemini CLI

Schnelle Methode (CLI bereits installiert):

gemini mcp add --transport http --header "Authorization: Bearer smt_VOTRE_TOKEN" sarmate https://mcp.sarmate.net/mcp

Manuell, in ~/.gemini/settings.json:

{ "mcpServers": { "sarmate": { "httpUrl": "https://mcp.sarmate.net/mcp", "headers": { "Authorization": "Bearer smt_VOTRE_TOKEN" } } } }
Beenden Sie Gemini CLI (Strg+C) und starten Sie es neu — settings.json wird nur beim Start gelesen.

Le Chat (Mistral) — 🇫🇷 EU

Le Chat (das LLM von Mistral, gehostet in der EU) unterstützt benutzerdefinierte MCP-Connectors direkt über die Web-Oberfläche — keine Konfigurationsdatei zu bearbeiten.

  1. Öffnen Sie chat.mistral.ai — das linke Seitenmenü ist standardmäßig sichtbar.
  2. IntelligenceConnectors+ Add Connector.
  3. Tab Connecteur MCP personnalisé wählen, dann ausfüllen:
    • Name des Connectors (großer Titel oben — erforderlich) : Sarmate
    • Connector-Server : https://mcp.sarmate.net/mcp
    • Beschreibung (optional) : Sarmate.net
    • Authentifizierungsmethode: API-Token-Authentifizierung
    • Header-Name : Authorization · Header-Typ : Bearer
    • Header-Wert : smt_VOTRE_TOKEN (nur das Token — KEIN "Bearer" davor)
  4. Erstellen — der Connector ist sofort einsatzbereit, ohne Neustart.

Verfügbar in allen Le Chat-Plänen (Free / Pro / Student). Sarmate × Le Chat = 100% europäische Pipeline (Mistral Frankreich + Sarmate O2Switch / Ionos Frankreich), ideal für Universitäten und Forscher mit DSGVO-Anforderungen.

Mistral-Doku: docs.mistral.ai/le-chat/.../mcp-connectors

Anderer MCP-Client

Generische Konfiguration für jeden MCP-Client mit Streamable HTTP + Bearer:

  • URL : https://mcp.sarmate.net/mcp
  • Transport : Streamable HTTP / SSE
  • Auth header : Authorization: Bearer smt_VOTRE_TOKEN

Für stdio-only Clients (kein HTTP), mcp-remote als Bridge verwenden:

npx -y mcp-remote https://mcp.sarmate.net/mcp --header "Authorization: Bearer smt_VOTRE_TOKEN"

Verfügbare Tools

11 Tools verfügbar. Tags: Lesen sicher, immer erlaubt — Schreiben erstellt einen Snapshot vor der Änderung — Kompilieren verbraucht Ihre Kompilierungs-Quote (außer Pro/Etab).

read get_account_info
Plan, Speicher, Kompilier-Quote, Funktionen.
read list_files
Verzeichnisinhalt auflisten (Ordner zuerst, dann Dateien).
read read_file
Inhalt einer Textdatei lesen (max. 1 MB, lehnt Binärdateien ab).
read search_files
Über das Drive suchen (Dateinamen oder Inhalt). Optional auf einen Unterordner beschränken.
read get_compile_log
Letztes Kompilier-Log einer .tex (Status, Fehlerübersicht, Auszug).
write write_file
Eine bestehende Textdatei überschreiben. Atomare Schreibung. Snapshot davor.
write create_file
Eine neue Datei erstellen. Schlägt fehl, wenn sie existiert. Erstellt fehlende Ordner.
write rename_file
Eine Datei oder einen Ordner umbenennen (gleicher Elternordner). Kein Verschieben zwischen Ordnern.
read list_history
Verfügbare Snapshots auflisten (alle oder einer bestimmten Datei). 30 Tage Aufbewahrung.
write restore_version
Eine vorherige Version wiederherstellen. Die aktuelle Version wird vor der Wiederherstellung als Snapshot gespeichert.
compile compile
Eine .tex ODER .md kompilieren. Für .tex: xelatex / pdflatex / lualatex, Abhängigkeiten gebündelt. Für .md: Pandoc + xelatex one-shot, PDF neben der .md geschrieben. Fehler-Auszug + PDF-URL zurückgegeben. Erlaubt der KI, autonom zu iterieren.
read read_pdf
Text aus einer PDF-Datei extrahieren (pdftotext, UTF-8). Optionale Seitenbereiche. Unverzichtbar nach compile(.md), damit die KI ihren eigenen Output liest und zusammenfasst. PDF max. 30 MB, Text max. ~4 MB.

Markdown-Workflow

Eine KI kann jetzt Markdown ohne lokale Pandoc-Installation kompilieren UND ihr eigenes PDF analysieren. Typische Aufruffolge:

// 1. Compile a .md to PDF
compile({ "path": "draft.md" })
// → { status: "success", mode: "markdown", pdf_path: "draft.pdf",
//      pdf_url: "https://user-content.sarmate.net/.../draft.pdf",
//      compilation_time_ms: 4231 }

// 2. Read the resulting PDF text for analysis
read_pdf({ "path": "draft.pdf" })
// → { text: "...", text_bytes: 23874, extract_ms: 412 }

// 3. If the .md compile fails, the response includes log_excerpt + hint
//    so the AI can fix the .md and retry.

Wichtig: in den YAML-Headern Ihrer .md, vermeiden Sie \usepackage{bm} oder \boldsymbol{} — sie kollidieren mit unicode-math (auto-geladen von Pandoc + xelatex). Verwenden Sie stattdessen \symbf{x} oder \mathbf{x}.

Vollständige Seite zum Markdown-Workflow: /markdown-to-latex.php

delete_file — absichtlich deaktiviert. Datei-Löschungen werden manuell über den Sarmate-Datei-Manager durchgeführt (Sicherheitsmaßnahme gegen Tool-Halluzinationen).

Sicherheit

  • Bcrypt-Speicherung: Tokens als Hash gespeichert, niemals im Klartext.
  • Pre-Edit-Snapshots: 30 Tage Aufbewahrung. Wiederherstellung über restore_version.
  • Path traversal blockiert: sanitize_rel + realpath check, Lesen/Schreiben außerhalb des User-Drives unmöglich.
  • Verbotene Erweiterungen: .php, .htaccess, .exe, .sh… (write_file/create_file lehnt ab).
  • Granulares Scope: Token kann auf einen Ordner und/oder Lesemodus beschränkt werden.
  • Audit log: jeder Aufruf protokolliert (token_id, tool, params, status, IP, Zeitstempel).
  • Sofortige Widerrufung: der KI-Client wird beim nächsten Aufruf getrennt.
  • Rate limit: 60 req/min/IP (nginx).

FAQ

Wie viele Tokens kann ich haben?
10 aktive Tokens pro Konto. Widerrufene Tokens werden in der Liste behalten (für die Audit-Historie), zählen aber nicht zur Gesamtsumme.
Wie ist die Kompilier-Quote pro Plan?
Das Quota basiert auf kumulierter Kompilierzeit innerhalb eines rollenden Fensters: Free 1 min/2 h (kein MCP-Zugriff), Perso 5 min/2 h, Pro/Etab unbegrenzt. Die Erzwingung erfolgt sowohl im Web-Editor als auch über MCP.
Was ist, wenn ich ein neues Token mit demselben Label erstelle?
Das Label ist nur ein Anzeigeindikator, nicht eindeutig. Sie können mehrere Tokens mit demselben Label haben (sie werden durch ihren Präfix unterschieden, der in der UI angezeigt wird).
Kann ich die LLM-Anbieter API-Schlüssel benötigen?
Nein. Sie verwenden Ihren bestehenden KI-Client (Ihr Claude Desktop-, Cursor-, Gemini CLI-Konto…). Sarmate stellt nur den MCP-Token für den Zugriff auf Ihren Drive bereit. Die beiden Authentifizierungen sind unabhängig.
Funktioniert es mit OAuth?
Aktuell unterstützt der Sarmate-MCP-Server nur die Bearer-Token-Authentifizierung (statische Tokens, die in der UI generiert werden). OAuth ist auf der Roadmap, aber kein Datum.
Werden meine Dateien an die KI gesendet?
Ja — sobald Sie die KI bitten, eine Datei zu lesen oder zu kompilieren, fließt der Inhalt durch den KI-Anbieter (Anthropic, OpenAI, Google…). Diese Anbieter wenden ihre eigenen Aufbewahrungs- und Verwendungsrichtlinien an, die zu prüfen sind. Sarmate fügt keine zusätzliche Aufbewahrung über den Audit-Log hinaus hinzu (der nur die Aufruf-Metadaten enthält, nicht den Datei-Inhalt).
Kann ich den MCP-Server lokal selbst hosten?
Nein, der Sarmate-MCP-Server ist zentralisiert (er greift auf Ihren Drive auf den Sarmate-Servern zu). Wenn Ihre Dateien lokal sind, gibt es viele andere offene MCP-Server (Filesystem, Git, etc.) im offiziellen Verzeichnis.
Wie debugge ich einen Verbindungsfehler?
Testen Sie den Token mit einem direkten curl (siehe Abschnitt unten). Wenn 200 zurückgegeben wird, ist das Problem clientseitig (Konfiguration nicht neu geladen, Bridge fehlt für Claude Desktop, falsche URL…). Wenn 401, ist der Token ungültig oder widerrufen — erstellen Sie einen neuen.

Rohe API-Beispiele (Debug)

Nützlich, um zu validieren, dass der Server und Ihr Token funktionieren, unabhängig vom Client.

tools/list

curl -X POST https://mcp.sarmate.net/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Authorization: Bearer smt_VOTRE_TOKEN" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

tools/call (read_file)

curl -X POST https://mcp.sarmate.net/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Authorization: Bearer smt_VOTRE_TOKEN" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"read_file","arguments":{"path":"thesis/main.tex"}}}'

Bereit?

Erstellen Sie einen Token in 30 Sekunden und kopieren Sie das passende Snippet.

Konto erstellen Zur Übersicht