Vue d'ensemble
Sarmate expose un serveur MCP (Model Context Protocol) qui donne accès à votre drive LaTeX à des clients IA externes.
- URL :
https://mcp.sarmate.net/mcp - Transport : Streamable HTTP / SSE
- Auth : Bearer token (
Authorization: Bearer smt_xxx) - Plan : Tous les plans (gratuit inclus), dans la limite du quota de compilation — compilation illimitée via MCP : Pro / Étab
- Rate limit : 60 req/min/IP
- Limite de tokens : 10 tokens actifs par compte
Setup par client
smt_VOTRE_TOKEN — remplacez-le manuellement par votre vrai token. Ne saisissez jamais votre token dans un champ d'une page publique (risque de phishing, y compris via un faux clone de cette page). Créer un compte pour générer un token.
Guidé pas à pas — choisissez votre IA et suivez les instructions adaptées.
Ou aller directement aux onglets par client
Claude Desktop (Mac / Windows / Linux)
Claude Desktop ne parle pas HTTP nativement. Il faut utiliser le bridge mcp-remote (Node.js requis) qui convertit le transport stdio en HTTP.
Fichier à éditer :
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json - Windows :
%APPDATA%\Claude\claude_desktop_config.json - Linux :
~/.config/Claude/claude_desktop_config.json
Contenu (fusionner avec les autres serveurs MCP existants si vous en avez) :
Claude.ai (Web / iOS / Android) Bientôt
Claude.ai (Web/iOS/Android) n'est pas encore supporté.
Contrairement à Claude Desktop et Claude Code, Claude.ai exige une authentification OAuth 2.1 complète, que le serveur MCP Sarmate n'a pas encore implémentée (auth Bearer token uniquement pour l'instant). OAuth est dans notre roadmap.
En attendant, Claude Desktop ou Claude Code vous donnent exactement les mêmes capacités MCP, avec la même IA Anthropic derrière.
Claude Code (CLI) — pas-à-pas complet
-
Récupérez votre token dans le gestionnaire de fichiers Sarmate
Dans file_manager.php, cliquez sur l'icône MCP en haut à droite → Nouveau token. Optionnellement, restreignez l'accès à un sous-dossier ou en lecture seule. Copiez le token (commence parsmt_) — il n'est affiché qu'une seule fois. -
Ouvrez Claude Code et demandez-lui de configurer le serveur
Dans un terminal :claudeUne fois la session ouverte, collez ce prompt avec la config JSON et appuyez sur Entrée — Claude Code se charge du reste :Ajoute ce serveur MCP à ma configuration Claude Code stp : { "mcpServers": { "sarmate": { "httpUrl": "https://mcp.sarmate.net/mcp", "headers": { "Authorization": "Bearer smt_VOTRE_TOKEN" } } } }Claude Code exécutera la commandeclaude mcp addappropriée ou éditera directement son fichier de config. Pour un utilisateur avancé qui veut sauter le passage conversationnel, la commande directe équivalente :claude mcp add --transport http sarmate https://mcp.sarmate.net/mcp --header "Authorization: Bearer smt_VOTRE_TOKEN". -
Rechargez la session pour que le serveur soit chargé
Dans la session Claude Code (encore ouverte) — tapez :/exitDe retour dans le terminal shell — relancez avec :claude --continueReprend la dernière session ET recharge la configuration MCP. Sans rechargement, Claude Code ne voit pas le nouveau serveur — la liste des outils n'est récupérée qu'au démarrage. -
Vérifiez la connexion
claude mcp listVous devriez voirsarmate ✓ Connecteddans la liste. -
Testez l'outil
Dans la session, demandez à Claude Code d'interagir avec votre drive — il y a désormais accès :> Liste mes fichiers .tex, ouvre main.tex, corrige les erreurs et compile.Claude Code va enchaînerlist_files→read_file→write_file→compile→get_compile_logen autonomie, jusqu'à ce que le build soit propre. Vous voyez chaque appel en temps réel dans le panneau.
Cursor
Cursor parle HTTP nativement (pas de bridge nécessaire). Éditez :
~/.cursor/mcp.json(global).cursor/mcp.json(par projet)
Aussi possible via Cursor Settings → MCP → Add Server.
Cline (VS Code)
Dans VS Code : sidebar Cline → MCP Servers → Configure MCP Servers, puis collez :
Continue (VS Code)
Ajoutez ce bloc à votre ~/.continue/config.yaml :
ChatGPT (Developer Mode, beta)
Fonctionnalité beta. Plus / Pro = lecture seule ; les outils en écriture sont réservés aux comptes 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
Méthode rapide (CLI déjà installé) :
Manuellement, dans ~/.gemini/settings.json :
Le Chat (Mistral) — 🇫🇷 EU
Le Chat (le LLM de Mistral, hébergé dans l'UE) supporte les MCP connectors personnalisés directement depuis l'interface web — aucun fichier de config à éditer.
- Ouvrez chat.mistral.ai — le panneau de gauche est visible par défaut.
- Intelligence → Connecteurs → Ajouter un connecteur.
- Onglet Connecteur MCP personnalisé, puis renseignez :
- Nom du connecteur (grand titre en haut — obligatoire) :
Sarmate - Serveur du connecteur :
https://mcp.sarmate.net/mcp - Description (facultatif) :
Sarmate.net - Méthode d'authentification : Authentification par token API
- Nom de l'en-tête :
Authorization· Type d'en-tête :Bearer - Valeur de l'en-tête :
smt_VOTRE_TOKEN(le token seul — sans « Bearer » devant)
- Nom du connecteur (grand titre en haut — obligatoire) :
- Créer — le connecteur est utilisable immédiatement, sans redémarrage.
Disponible sur tous les plans Le Chat (Free / Pro / Student). Sarmate × Le Chat = pile 100% européenne (Mistral France + Sarmate O2Switch / Ionos France), idéal pour facs et chercheurs avec contraintes RGPD / souveraineté.
Doc Mistral : docs.mistral.ai/le-chat/.../mcp-connectors
Autre client MCP
Configuration générique pour tout client MCP supportant streamable HTTP + Bearer :
- URL :
https://mcp.sarmate.net/mcp - Transport : Streamable HTTP / SSE
- Auth header :
Authorization: Bearer smt_VOTRE_TOKEN
Pour les clients stdio-only (pas de HTTP), utilisez mcp-remote comme bridge :
Outils disponibles
11 outils disponibles. Tags : Lecture sûr, toujours autorisé — Écriture crée un snapshot avant modification — Compile consomme votre quota de compilation (sauf Pro/Etab).
Workflow Markdown
Une IA peut maintenant compiler du Markdown sans installation locale de Pandoc ET analyser son propre PDF. Séquence type :
// 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.
Attention : dans les en-têtes YAML de vos .md, évitez \usepackage{bm} ou \boldsymbol{} — ils entrent en conflit avec unicode-math (auto-chargé par Pandoc + xelatex). Utilisez plutôt \symbf{x} ou \mathbf{x}.
Page complète sur le workflow Markdown : /markdown-to-latex.php
delete_file — désactivé intentionnellement. La suppression de fichiers passe par votre file manager Sarmate (mesure de sécurité contre les hallucinations de l'IA).
Sécurité
- Stockage bcrypt: tokens en hash, jamais en clair.
- Snapshots pré-écriture: 30 jours de rétention. Restauration via restore_version.
- Path traversal bloqué: sanitize_rel + realpath check, lecture/écriture hors du drive user impossible.
- Extensions interdites: .php, .htaccess, .exe, .sh… (write_file/create_file lehnt ab).
- Scope granulaire: token limitable à un dossier et/ou en lecture seule.
- Audit log: chaque appel enregistré (token_id, tool, params, status, IP, timestamp).
- Révocation instantanée: le client IA est déconnecté au prochain appel.
- Rate limit: 60 req/min/IP (nginx).
FAQ
Combien de tokens puis-je avoir ?
Quel est le quota de compilation par plan ?
Que se passe-t-il si je crée un nouveau token avec le même label ?
Ai-je besoin d'une clé API du fournisseur LLM ?
Est-ce que ça fonctionne en OAuth ? Et pourquoi pas avec Claude.ai (web/mobile) ?
En revanche, Claude.ai (web/iOS/Android) exige une auth OAuth 2.1 complète avec les endpoints
/authorize et /token. Si vous tentez de vous connecter, vous obtiendrez l'erreur {"error":"not_found","path":"/authorize"}. OAuth est dans notre roadmap (sans date). En attendant, Claude Desktop et Claude Code vous offrent exactement les mêmes capacités MCP avec la même IA Anthropic.Mes fichiers sont-ils envoyés à l'IA ?
Puis-je self-hoster le serveur MCP ?
Comment débugger une erreur de connexion ?
Exemples curl bruts (debug)
Utile pour valider que le serveur et votre token fonctionnent, indépendamment du client.
tools/list
tools/call (read_file)
Prêt à essayer ?
Créez un token en 30 secondes et copiez le snippet adapté à votre client.
Créer un compte Retour à la présentation