Cette page t'a-t-elle aidé ?

Cette page t'a-t-elle aidé ?
Référence
MCP (Model Context Protocol) expose les capacités de votre workspace Gilbert — Gmail, Calendar, notifications Telegram, list routines — à n'importe quel client compatible : Claude Code, claude.ai, ChatGPT custom connectors, Cursor, Codex CLI, n8n, scripts custom. Une clé personnelle par utilisateur, scopée au workspace actif.
Dernière mise à jour : 23 mai 2026
MCP — Model Context Protocol— est un standard ouvert publié par Anthropic en 2024. C'est, en pratique, un format HTTP qui permet à un assistant IA (Claude, ChatGPT, Cursor, etc.) de découvrir et d'appeler des outils externes : lire un calendar, chercher dans une boîte mail, envoyer une notification, etc. Aujourd'hui, la majorité des clients IA grand public et professionnels parlent MCP.
Le bridge MCP de Gilbert expose une partie des capacités de votre workspace — celles qui sont déjà configurées via vos intégrations OAuth (Google, Telegram, LinkedIn, etc.) — à ces clients externes. Concrètement : vous générez une clé personnelle depuis la console Gilbert, vous la collez dans la config de Claude Code (ou claude.ai, ou ChatGPT…), et votre assistant peut maintenant répondre à « quels sont mes 3 derniers mails ? » ou « qu'est-ce que j'ai cette semaine au calendar ? » en passant par vos tokens Google déjà connectés côté Gilbert.
Aucune ré-authentification OAuth de votre client à faire : la clé MCP encapsule la délégation. Une fois branché, votre client IA voit la liste des tools disponibles via tools/list et les invoque via tools/call (JSON-RPC 2.0 par-dessus HTTP, streamable).
Le cas d'usage type, qui motive la plupart des installations : vous êtes IT dans une PME, vous avez déployé Gilbert pour l'équipe et configuré les intégrations Google (Gmail / Calendar) au niveau du workspace. Vos collaborateurs utilisent déjà Claude Code ou ChatGPT pour leur travail quotidien. Vous voulez que leur assistant puisse lire leur Gmail et leurCalendar via Gilbert, sans repasser par l'UI Gilbert et sans configurer chaque OAuth Google côté client IA.
Avec le bridge MCP, chaque collaborateur génère sa propre clé depuis son espace personnel, la colle dans son client favori, et bénéficie des intégrations workspace côté Gilbert — strict isolé par utilisateur : la clé d'Alice ne voit jamais la boîte mail de Bob, même s'ils partagent le même workspace.
Cinq étapes. Comptez vraiment une minute si vos intégrations OAuth sont déjà connectées.
Le bridge MCP n'invente rien : il expose ce qui est déjà branché côté Gilbert. Allez sur Console → Mon compte → Intégrations et connectez au minimum Google (Gmail + Calendar) ou Telegram. Sans aucune intégration, votre clé MCP fonctionnera mais ne pourra rien lire.
Allez sur Console → Mon compte → Bridge MCP et cliquez sur « Générer ma clé MCP ». Une URL complète est affichée, de la forme :
https://gilbert.solveholding.com/api/mcp?key=glb_<64 caractères hex>La clé est affichée une seule fois. Côté Gilbert, on ne stocke que son hash SHA-256 — pas de moyen de la ré-afficher. Stockez-la dans votre gestionnaire de mots de passe (1Password, Bitwarden) ou dans un .env local. Si vous la perdez, regénérez-en une — l'ancienne sera automatiquement révoquée.
Choisissez votre client. Tous les exemples utilisent l'URL générée à l'étape 2.
{
"mcpServers": {
"gilbert": {
"url": "https://gilbert.solveholding.com/api/mcp?key=glb_VOTRECLE"
}
}
}Pour claude.ai (web) et ChatGPT custom connectors : pas de fichier config — allez dans Settings → Connectors → Add custom(HTTP transport), collez l'URL telle quelle. Apparaît ensuite automatiquement comme outil disponible dans vos conversations.
Dans votre client, demandez par exemple : « Liste-moi mes 3 derniers mails non lus » ou « Qu'est-ce que j'ai au calendar aujourd'hui ? ». Le client devrait appeler gmail_list_recent ou calendar_list_today et répondre avec vos vraies données.
Liste des tools accessibles via une clé personnelle. Tous sont en lecture seule ou notification (jamais d'envoi ou modification observable côté tiers). La colonne Intégration requiseindique quel OAuth doit être connecté côté Gilbert pour que le tool fonctionne — sinon il retourne une erreur explicite demandant à l'utilisateur de connecter l'intégration.
| Nom | Description | Scope | Intégration requise |
|---|---|---|---|
| gmail_list_recent | Liste les mails récents (24h, non-lus en priorité). | read | |
| gmail_search | Recherche dans toute la boîte (syntaxe Gmail : from:, subject:, after:…). | read | |
| gmail_read_message | Lit le corps complet d'un mail (au-delà du snippet). | read | |
| calendar_list_today | Évenements du calendar primary pour aujourd'hui (timezone Europe/Paris par défaut). | read | |
| calendar_list_range | Événements entre deux timestamps ISO (semaine, mois, ad-hoc). | read | |
| list_routines | Liste les routines (tâches cron) de l'utilisateur : prochain tick, dernier statut, workspace. | read | — |
| notify_telegram | Pousse une notification dans votre DM Telegram ou un Forum topic. L'utilisateur peut répondre, Gilbert garde le contexte pour rerouter. | notify | Telegram |
| mark_reply_processed | Acknowledge une reply Telegram après traitement par l'agent côté client. | write (ack) | Telegram |
| sync_scheduled_tasks | Récupère les routines provider=anthropic en attente de création côté Claude Code. | read | — |
| mark_task_synced | Confirme côté Gilbert qu'une routine a bien été créée comme background task Claude Code. | write (ack) | — |
| publish_linkedin_post | Programme une publication LinkedIn (texte uniquement, UGC ShareContent, max 3000 chars) avec un délai serveur de 5 minutes annulable via Telegram. Voir section dédiée. | delayed write | LinkedIn + Telegram |
Trois tools administratifs supplémentaires (provision_workspace, seed_workspace_routines, generate_commercial_offer) sont exposés via MCP mais gated à un caller admin d'au moins un workspace Solve : ils servent aux routines commerciales internes (provisioning de workspaces prospects). Vous ne les croiserez pas en usage standard.
Trois invariants tiennent l'ensemble du bridge :
personal_api_keysgarde seulement le hash + un préfixe de 8 caractères pour affichage. Si vous perdez la clé, regénérez-en une — l'ancienne est automatiquement révoquée (single active key par user).gilbert./api/personal/api-key/rotate (anti-abuse). L'endpoint MCP lui-même tolère les volumes normaux d'un client IA (quelques appels par message).publish_linkedin_post est exposé via MCP avec un confirm-flow obligatoire. Deux remparts indépendants protègent contre la publication non-souhaitée :
La description du tool exige que le client AI (Claude, ChatGPT, Cursor) demande confirmation explicite à l'utilisateur avant de l'appeler — en montrant un preview du texte exact et en n'invoquant le tool que si l'utilisateur répond « oui » / « go » / « publie ». Cette convention couvre le cas d'usage légitime (Martin via Claude Code) : Claude demande « OK pour poster ? » et exécute le tool si l'utilisateur confirme.
Une fois le tool appelé, la publication n'est pas instantanée. Le serveur Gilbert programme l'action dans 5 minutes (insertion dans personal_pending_actions avec status='scheduled' et scheduled_at=now()+5min) et envoie immédiatement une notification Telegram à l'utilisateur avec un preview du texte + la commande /cancel-linkedin <action_id>.
Si l'utilisateur répond avec la commande dans la fenêtre, l'action passe à canceled et la publication ne part pas. Sans action, le worker /api/cron/pending-actions-tick exécute la publication une fois scheduled_at dépassé.
Les autres actions qui écrivent ou émettent côté tiers — envoi de mail, réponse à une invitation calendar, post Slack, création d'événement — ne sont pasexposées via MCP aujourd'hui. Le confirm-flow qui sécurise ces actions dans le chat Gilbert (insertion dans personal_pending_actions, TTL 10 min, confirmation regex sur le channel Telegram) n'a pas d'équivalent MCP. Plutôt que d'exposer un trou de sécurité, on les a gated explicitement. publish_linkedin_postest aujourd'hui le seul tool destructif exposé via MCP, grâce à son délai serveur dédié.
Tools concernés, exposés uniquement via l'UI Gilbert pour le moment :
gmail_send — envoi de mail.gmail_create_draft — création de brouillon (pas destructif côté tiers mais regroupé avec les écrits Gmail).calendar_respond — RSVP à une invitation (accepted / declined / tentative).calendar_create_event— création d'événement (et invitations attendees).slack_post_to_channel — publication dans un channel Slack mappé au workspace.glb_+ 64 caractères hex), sans espace ni retour à la ligne. Vérifiez aussi qu'elle n'a pas été révoquée entre-temps (la console affiche la date de génération de la clé active)./api/personal/api-key/rotate. Attendez 60s avant la prochaine rotation.mcp-remote côté npm) qui fait le pont stdio ↔ HTTP.provider=anthropic peuvent tourner en background tasks Claude Code, ack via mark_task_synced, et router les replies Telegram vers la session active. Pour qui veut automatiser via cron plutôt que par chat.