Panoramica
Sarmate espone un server MCP (Model Context Protocol) che dà accesso al suo drive LaTeX a client IA esterni.
- URL :
https://mcp.sarmate.net/mcp - Transport : Streamable HTTP / SSE
- Auth : Bearer token (
Authorization: Bearer smt_xxx) - Piano : Tutti i piani (gratuito incluso), entro il limite della quota di compilazione — compilazione illimitata via MCP: Pro / Étab
- Rate limit : 60 req/min/IP
- Limite di token : 10 token attivi per account
Setup per client
smt_VOTRE_TOKEN — sostituiscilo manualmente con il suo token reale. Non digitare mai il suo token in un campo di una pagina pubblica (rischio di phishing, anche tramite un falso clone di questa pagina). Creare un account per generare un token.
Passo dopo passo — scelga la sua IA e segui le istruzioni adatte.
O andare direttamente alle schede per client
Claude Desktop (Mac / Windows / Linux)
Claude Desktop non parla HTTP in modo nativo. Bisogna usare il bridge mcp-remote (Node.js richiesto) che converte il trasporto stdio in HTTP.
File da modificare:
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json - Windows :
%APPDATA%\Claude\claude_desktop_config.json - Linux :
~/.config/Claude/claude_desktop_config.json
Contenuto (unisci agli altri server MCP esistenti se ne hai):
Claude.ai (Web / iOS / Android) Presto
Claude.ai (Web/iOS/Android) non è ancora supportato.
A differenza di Claude Desktop e Claude Code, Claude.ai richiede un'autenticazione OAuth 2.1 completa, che il server MCP Sarmate non ha ancora implementato (per ora solo auth con Bearer token). OAuth è nella nostra roadmap.
Nel frattempo, Claude Desktop o Claude Code ti danno esattamente le stesse funzionalità MCP, con la stessa IA di Anthropic dietro.
Claude Code (CLI) — passo passo completo
-
Recupera il suo token nel gestore file di Sarmate
In file_manager.php, clicca sull'icona MCP in alto a destra → Nuovo token. Facoltativamente, limita l'accesso a una sottocartella o a sola lettura. Copi il token (inizi consmt_) — viene mostrato una sola volta. -
Apra Claude Code e chiedigli di configurare il server
In un terminale:claudeUna volta aperta la sessione, incolla questo prompt con la config JSON e premi Invio — Claude Code si occupa del resto:Aggiunga questo server MCP alla mia configurazione di Claude Code, per favore: { "mcpServers": { "sarmate": { "httpUrl": "https://mcp.sarmate.net/mcp", "headers": { "Authorization": "Bearer smt_VOTRE_TOKEN" } } } }Claude Code eseguirà il comandoclaude mcp addappropriato o modificherà direttamente il suo file di config. Per un utente avanzato che vuole saltare il passaggio conversazionale, il comando diretto equivalente:claude mcp add --transport http sarmate https://mcp.sarmate.net/mcp --header "Authorization: Bearer smt_TUO_TOKEN". -
Ricarica la sessione affinché il server venga caricato
Nella sessione di Claude Code (ancora aperta) — digita:/exitDi nuovo nel terminale shell — riavvia con:claude --continueRiprende l'ultima sessione E ricarica la configurazione MCP. Senza ricaricamento, Claude Code non vede il nuovo server — l'elenco degli strumenti viene recuperato solo all'avvio. -
Verifica la connessione
claude mcp listDovresti vederesarmate ✓ Connectednell'elenco. -
Prova lo strumento
Nella sessione, chiedi a Claude Code di interagire con il suo drive — ora ha accesso:> Elenca i miei file .tex, apra main.tex, correggi gli errori e compila.Claude Code concateneràlist_files→read_file→write_file→compile→get_compile_login autonomia, finché il build non è pulito. Vedi ogni chiamata in tempo reale nel pannello.
Cursor
Cursor parla HTTP in modo nativo (nessun bridge necessario). Modifichi:
~/.cursor/mcp.json(globale).cursor/mcp.json(per progetto)
Possibile anche tramite Cursor Settings → MCP → Add Server.
Cline (VS Code)
In VS Code: sidebar Cline → MCP Servers → Configure MCP Servers, poi incolla:
Continue (VS Code)
Aggiunga questo blocco al suo ~/.continue/config.yaml:
ChatGPT (Developer Mode, beta)
Funzionalità beta. Plus / Pro = sola lettura; gli strumenti di scrittura sono riservati agli account Business / Enterprise / Edu.
- Settings → Apps → Advanced settings → Developer mode
- Create app
- URL :
https://mcp.sarmate.net/mcp - Transport : Streamable HTTP
- Auth : Custom header →
Authorization: Bearer smt_VOTRE_TOKEN
Gemini CLI
Metodo rapido (CLI già installato):
Manualmente, in ~/.gemini/settings.json:
Le Chat (Mistral) — 🇫🇷 EU
Le Chat (l'LLM di Mistral, ospitato nell'UE) supporta i MCP connectors personalizzati direttamente dall'interfaccia web — nessun file di config da modificare.
- Apra chat.mistral.ai — il pannello di sinistra è visibile per impostazione predefinita.
- Intelligence → Connettori → Aggiunga un connettore.
- Scheda Connettore MCP personalizzato, poi compila:
- Nome del connettore (titolo grande in alto — obbligatorio) :
Sarmate - Server del connettore :
https://mcp.sarmate.net/mcp - Descrizione (facoltativo) :
Sarmate.net - Metodo di autenticazione: Autenticazione tramite token API
- Nome dell'header :
Authorization· Tipo di header :Bearer - Valore dell'header :
smt_VOTRE_TOKEN(solo il token — senza «Bearer» davanti)
- Nome del connettore (titolo grande in alto — obbligatorio) :
- Crei — il connettore è utilizzabile immediatamente, senza riavvio.
Disponibile su tutti i piani Le Chat (Free / Pro / Student). Sarmate × Le Chat = stack 100% europeo (Mistral France + Sarmate O2Switch / Ionos France), ideale per università e ricercatori con vincoli GDPR / sovranità.
Doc Mistral: docs.mistral.ai/le-chat/.../mcp-connectors
Altro client MCP
Configurazione generica per qualsiasi client MCP che supporti streamable HTTP + Bearer:
- URL :
https://mcp.sarmate.net/mcp - Transport : Streamable HTTP / SSE
- Auth header :
Authorization: Bearer smt_VOTRE_TOKEN
Per i client stdio-only (senza HTTP), usa mcp-remote come bridge:
Strumenti disponibili
11 strumenti disponibili. Tag: Lettura sicuro, sempre consentito — Scrittura crea uno snapshot prima della modifica — Compila consuma la sua quota di compilazione (tranne Pro/Etab).
Flusso di lavoro Markdown
Un'IA ora può compilare Markdown senza installazione locale di Pandoc E analizzare il proprio PDF. Sequenza tipica:
// 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.
Attenzione: nelle intestazioni YAML dei suoi .md, evita \usepackage{bm} o \boldsymbol{} — entrano in conflitto con unicode-math (caricato automaticamente da Pandoc + xelatex). Usa piuttosto \symbf{x} o \mathbf{x}.
Pagina completa sul flusso di lavoro Markdown: /markdown-to-latex.php
delete_file — disattivato intenzionalmente. L'eliminazione dei file passa dal suo file manager Sarmate (misura di sicurezza contro le allucinazioni dell'IA).
Sicurezza
- Archiviazione bcrypt: token in hash, mai in chiaro.
- Snapshot pre-scrittura: 30 giorni di conservazione. Ripristino tramite restore_version.
- Path traversal bloccato: sanitize_rel + realpath check, impossibile leggere/scrivere fuori dal drive dell'utente.
- Estensioni vietate: .php, .htaccess, .exe, .sh… (write_file/create_file lehnt ab).
- Scope granulare: il token può essere limitato a una cartella e/o in sola lettura.
- Audit log: ogni chiamata registrata (token_id, tool, params, status, IP, timestamp).
- Revoca istantanea: il client IA viene disconnesso alla chiamata successiva.
- Rate limit: 60 req/min/IP (nginx).
FAQ
Quanti token posso avere?
Qual è la quota di compilazione per piano?
Cosa succede se creo un nuovo token con la stessa label?
Ho bisogno di una chiave API del fornitore LLM?
Funziona con OAuth? E perché non con Claude.ai (web/mobile)?
Invece, Claude.ai (web/iOS/Android) richiede un'auth OAuth 2.1 completa con gli endpoint
/authorize e /token. Se provi a connetterti, otterrai l'errore {"error":"not_found","path":"/authorize"}. OAuth è nella nostra roadmap (senza data). Nel frattempo, Claude Desktop e Claude Code ti offrono esattamente le stesse funzionalità MCP con la stessa IA di Anthropic.I miei file vengono inviati all'IA?
Posso self-hostare il server MCP?
Come faccio a debuggare un errore di connessione?
Esempi curl grezzi (debug)
Utile per verificare che il server e il suo token funzionino, indipendentemente dal client.
tools/list
tools/call (read_file)
Pronto a provare?
Crei un token in 30 secondi e copi lo snippet adatto al suo client.
Crei un account Torni alla presentazione