Branche ton assistant IA sur tes fiches Sillon et pose-lui tes questions : ce qui a été décidé chez un client, ce qui reste ouvert, ce qu'il faut préparer avant un call. L'IA lit tes fiches — elle n'y écrit jamais. Le branchement se fait une fois, en quelques minutes, avec n'importe quel outil qui parle MCP : il lui faut juste une adresse et ton jeton.
Sous le capot, c'est le standard MCP (Model Context Protocol) — le branchement normalisé entre une IA et tes données. Tu n'as pas besoin d'en savoir plus pour suivre ce guide.
Une fois branchée, ton IA ne répond plus de mémoire : elle va lire la fiche du client — la vraie, à jour — et cite sa source.
Quelques questions qui marchent bien :
Le jeton est une clé qui prouve à ton outil qu'il a le droit de lire tes fiches — les tiennes, pas celles d'un autre. Dans l'app : Réglages → Connecter une IA. Donne un nom à l'outil (ex. « Claude ») puis Générer.
Le jeton naît sur ton iPhone, mais c'est sur ton ordinateur qu'on le colle. Pas question de le recopier à la main : dans l'app, touche « Envoyer vers mon ordinateur » — AirDrop l'envoie sur ton Mac en un geste, ou passe par Messages / Notes vers toi-même. Sur l'ordinateur, garde-le sous la main pour l'étape 2.
Quel que soit ton outil, il lui faut deux choses : cette adresse, et le jeton de l'étape 1.
https://api.sillon.eu/mcpTout outil qui parle MCP se branche avec ça — soit via son écran de connecteurs (aucun
terminal), soit en collant le jeton dans un en-tête Authorization: Bearer (une commande ou un
fichier de configuration). Les outils ci-dessous sont des exemples équivalents : la seule différence entre eux,
c'est l'effort demandé.
https://api.sillon.eu/mcpclaude dans le champ
OAuth Client ID (pas de secret à renseigner).claude dans le champ
OAuth Client ID, Claude refuse d'ajouter le connecteur. Si l'ajout échoue, commence par vérifier
ce champ.Dans l'app, le connecteur apparaît ensuite dans tes jetons actifs sous le nom oauth:claude —
et se révoque comme les autres.
Même logique de connecteur que Claude : le branchement passe par les réglages de connecteurs de ChatGPT.
https://api.sillon.eu/mcp.chatgpt (pas de secret).Les écrans exacts dépendent de la version de ChatGPT, mais la règle ne change pas : l'adresse + ton jeton.
Dans l'app, le connecteur apparaît sous le nom oauth:chatgpt — et se révoque comme les autres.
Une seule commande, en remplaçant <TON_JETON> par ton jeton :
claude mcp add --transport http sillon https://api.sillon.eu/mcp \
--header "Authorization: Bearer <TON_JETON>"Pour vérifier : claude mcp list. Pour retirer : claude mcp remove sillon.
Dans le fichier ~/.cursor/mcp.json (crée-le s'il n'existe pas), en remplaçant
<TON_JETON> :
{
"mcpServers": {
"sillon": {
"url": "https://api.sillon.eu/mcp",
"headers": {
"Authorization": "Bearer <TON_JETON>"
}
}
}
}L'app de bureau Claude ne sait pas parler directement à un serveur distant : le petit outil
mcp-remote fait le pont. Sur Mac, le fichier vit dans
~/Library/Application Support/Claude/claude_desktop_config.json :
{
"mcpServers": {
"sillon": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.sillon.eu/mcp",
"--header", "Authorization: Bearer <TON_JETON>"
]
}
}
}https://api.sillon.eu/mcp et ton jeton dans l'en-tête Authorization: Bearer. L'endroit
exact où les coller est indiqué dans la documentation MCP de ton outil.Dans Réglages → Connecter une IA, l'app liste tes jetons actifs (nom, date de création,
dernière utilisation — jamais la valeur). Glisse sur un jeton pour le révoquer : l'outil concerné
perd l'accès immédiatement. Un connecteur (Claude, ChatGPT) apparaît sous le nom oauth:claude ou
oauth:chatgpt et se révoque de la même façon.
Vérifie l'adresse — exactement https://api.sillon.eu/mcp — et le jeton, collé en entier, sans
espace avant ni après. Dans le doute, régénère un jeton dans l'app et recolle-le : c'est plus rapide que de
chercher la faute de frappe.
C'est presque toujours le champ client ID resté vide : écris claude dans Claude
(Advanced settings), chatgpt dans ChatGPT, puis réessaie. Tout autre client ID est refusé.
Le jeton a probablement été révoqué. Regarde dans Réglages → Connecter une IA : s'il n'est plus dans la liste, génère-en un nouveau et remplace-le dans ton outil (pour un connecteur Claude ou ChatGPT : supprime le connecteur et refais l'étape 2).
https://api.sillon.eu/mcpTransport : Streamable HTTP (JSON-RPC 2.0 sur POST, sans SSE). Versions de protocole MCP
supportées : 2025-11-25, 2025-06-18 et 2025-03-26. Un
GET/DELETE sur l'endpoint renvoie 405 — c'est attendu, le serveur
n'ouvre jamais de flux.
Un seul type de credential : le token MCP créé dans l'app. Deux façons de le présenter :
Authorization: Bearer <TON_JETON>, comme dans les configs ci-dessus./.well-known/oauth-authorization-server, puis /authorize +
/token. PKCE S256 obligatoire (plain refusé), clients
statiques — pas de DCR, d'où le client_id à renseigner à la main
(claude ou chatgpt ; tout autre est refusé). La page de consentement demande
de coller un token MCP existant (preuve de compte) ; l'échange
/token émet un token MCP ordinaire, nommé oauth:<client>, listé et
révocable dans l'app comme les autres. Le 401 de /mcp pointe
resource_metadata (RFC 9728) pour une découverte propre.Cinq outils de lecture — list_subjects, search_subjects, get_subject,
get_figure, verify_citations — plus la file de questions (list_gaps,
flag_gap, bump) : le seul endroit où une IA écrit, à côté du vault, jamais dedans.
Le flux typique : lister ou chercher, puis lire le brief complet d'un sujet — et n'ouvrir une figure que si
la question tient au visuel.
| Outil | Ce qu'il fait |
|---|---|
list_subjects | Liste tes sujets (fils de travail), du plus récent au plus ancien. Filtres optionnels : status (active / dormant / closed), area, tag, query. À appeler en premier pour découvrir ce qui existe. |
search_subjects | Recherche par mot-clé dans tout le contenu : titre, tags, area, objectif, sections (titres compris), légendes des figures et log daté. Insensible aux accents et à la casse (« etapes » trouve « étapes », et l'inverse), mots-outils FR/EN ignorés avec repli pour les requêtes courtes, tokens en OU (pas de phrases) ; score déterministe (titre et tags pèsent plus), tri par pertinence puis récence ; tous les statuts sont cherchés, dormants et clos compris ; renvoie des extraits par champ. Args : query (requis, ≤ 1 000 car.), limit (1–50). |
get_subject | Brief complet par slug exact : objectif, points ouverts, prochaines actions, décisions, log daté, trajectoire (évolution via git), sujets liés — et la liste des figures du sujet (captures d'écran validées : section, ligne d'ancrage, légende, timecode). Args : slug (requis), trajectory_limit, include_related. |
get_figure | Récupère une figure (capture d'écran validée par l'utilisateur) par sa clé file exacte, issue de la liste figures de get_subject. Renvoie ses métadonnées (section, ligne d'ancrage, légende, timecode) puis l'image. La légende et le texte de la fiche font autorité pour les identifiants et les chiffres — l'image sert au layout et à l'état visuel. Args : slug, file (requis). |
verify_citations | Vérifie chaque citation [fiche §section · date] d'un livrable contre les fiches courantes : la fiche existe, la section existe, et une ligne de cette section porte bien cette date. |
/authorize et /token rate-limités par IP.Authorization n'est jamais journalisé.Authorization: Bearer …, ou régénère un token dans l'app.initialize.slug exact renvoyé par list_subjects/search_subjects ; un slug inconnu renvoie une erreur propre, jamais un plantage.