MCP : brancher votre assistant
Votre assistant IA pilote votre compte : il lit votre portefeuille, ajoute un client, diagnostique un prospect. Les règles sont celles de la console et de l’email : mêmes limites, mêmes refus.
Mis à jour le 29 septembre 2026
Brancher votre assistant
Une fois pour toutes. Ensuite, l’assistant renouvelle seul son accès tant qu’il sert.
Claude.ai et Claude Desktop
- Paramètres → Connecteurs → Ajouter un connecteur personnalisé.
- Adresse : https://geo.greeneris.io
/agence/mcp/. Gardez « Se connecter maintenant » et « S'enregistrer automatiquement ». - « Connecter » : écrivez l'adresse email de votre compte.
- Cliquez le lien reçu, dans le même navigateur.
ChatGPT
- Sur les formules payantes, sur le web : Paramètres → Sécurité et connexion → mode développeur.
- Plugins → « + » → « Créer une application ».
- Adresse : https://geo.greeneris.io
/agence/mcp/, authentification OAuth. - « Connecter », votre adresse email, puis le lien reçu.
Claude Code, pour vos développeurs
- Demandez la clé de votre compte : « ma clé », par email ou dans la console.
- Collez cette commande dans un terminal, avec votre clé :
claude mcp add --transport http geoscope-agence https://geo.greeneris.io /agence/mcp/ --header "x-api-key: VOTRE_CLÉ"« Révoque ma clé » coupe vos clés et déconnecte vos assistants, tout de suite. Il suffit ensuite de les reconnecter.
Un bon lancement
Ce que vous écrivez à votre assistant, et ce qui se passe de notre côté, de la première phrase au premier rapport.
« Ajoute Garage Dupont, garage-dupont.fr, Lyon, garage automobile ; concurrents : Garage du Parc, Auto Service Lyon. »
Une proposition : ce qui serait ajouté. Rien ne part.
« Oui. »
L'ajout est confirmé : ses questions sont préparées, puis vous arrivent à valider.
« Montre-moi ses questions », puis « retire la 7 » ou « lance ».
Sans réponse, la mesure part seule au bout de 24 heures.
Rien à faire.
Le premier rapport arrive par email, à vos couleurs ; le brief de page, au plus tôt 24 heures après.
Les outils
Votre assistant choisit l’outil tout seul ; vous lui parlez normalement. Rangés par ce qu’ils font :
Lire
Rien ne change, rien ne se paie.
compte- Votre compte : la formule, le plafond de clients, les places qui restent, où en est le paiement.
clients- Votre portefeuille : chaque client suivi, son site, sa dernière mesure, le nombre de documents remis.
livrables- Les rapports et les pages d'un client, avec leurs liens.
questions- Les questions posées aux IA pour un client, mot pour mot, et où il en est sur chacune : jamais cité, cité mais derrière un concurrent, cité en tête ; la question notée pour sa prochaine page.
leads- Vos diagnostics de prospects des 30 derniers jours, leur état et leur lien, et le décompte du mois.
aide- Ce mode d'emploi.
Agir en deux temps
L'outil rend d'abord une proposition ; l'assistant a pour consigne d'attendre votre accord.
ajouter_clients- Ajoute des clients, en deux temps : d'abord une proposition, et rien ne part ; puis, avec votre accord, les mesures.
diagnostic_prospect- Le diagnostic d'un prospect, à vos couleurs, en deux temps ; le prospect n'est jamais contacté. 3 par client couvert et par mois.
corriger_client- Corrige le nom, le site, la ville ou le métier d'un client, en deux temps. Une seule fois par client : la correction refait ses mesures.
retirer_client- Retire un client, en deux temps. Sa place se libère 30 jours après son premier diagnostic.
marque- Votre nom, votre couleur et votre contact, sur les prochains documents, en deux temps ; ceux déjà remis ne changent pas.
resilier- Résilie à la fin de la période déjà réglée, en deux temps.
nouveau_badge- Change votre adresse de commande par email et coupe l'ancienne, en deux temps.
Agir tout de suite
Le geste s'applique à l'instant.
valider_questions- Après un ajout : retirer ou remplacer des questions, puis lancer la mesure. Sans réponse, elle part seule au bout de 24 heures.
choisir_page- Note la question que visera la prochaine page d'un client, tout de suite et sans coût ; se change jusqu'à ce qu'elle soit écrite. Sans choix, la machine prend celle où il perd le plus.
refaire_audit- Refait l'audit du site d'un client ; un par client et par jour.
revoquer_cles- Coupe tout de suite toutes vos clés d'API et déconnecte vos assistants.
Demander
La demande est transmise ; elle s'applique quand elle est vérifiée ou payée.
adresses- Demande d'ajouter ou de retirer une adresse email du compte ; une personne vérifie avant.
changer_formule- Demande une autre formule ; elle prend effet au paiement.
annoncer_virement- Signale un virement ; l'échéance avance quand il est constaté.
Les champs
Ce que l’assistant remplit quand vous ajoutez un client ou diagnostiquez un prospect. Il lit ces mêmes phrases.
entreprise- Son nom, tel qu'il s'écrit chez lui : c'est ce nom qu'on cherche dans les réponses des IA.
site_web- L'adresse de son propre site, pas une page d'annuaire ni de réseau social : on le lit pour reconnaître son métier, et on l'audite.
ville- La commune où il reçoit ses clients, telle qu'on l'écrit (« Lyon », « Porto-Vecchio ») : les questions posées aux IA la citent. Jamais une catégorie ni une description : avec « Hôtel de luxe », on demanderait aux IA un hôtel « à Hôtel de luxe ».
metier- Son métier en quelques mots (« hôtel », « notaire », « garage automobile ») : il choisit les questions de sa profession ; déclaré, il passe avant ce que nous déduisons du site.
concurrents- Pour un client seulement. Ceux qu'il cite, séparés par des virgules : ils passent en tête de ceux que le rapport suit, huit au plus.
contexte- Pour un client seulement. Ce qu'il vend ou à qui, que son site ne dit pas (« pains au levain, clientèle de quartier ») : il aide à reconnaître son métier et nourrit ses questions écrites sur mesure.
Les erreurs courantes
Une ville qui n'est pas une commune
Les questions citent la ville : avec « Hôtel de luxe », elles deviennent absurdes et le rapport est faussé. Écrivez la commune.
Confirmer sans l'accord de l'agence
Un ajout ou un diagnostic confirmé lance de vraies mesures, qui se paient. Proposez d'abord, confirmez ensuite.
Ajouter un client déjà suivi
Refusé : il est déjà sur le compte.
Ajouter quand tout est pris
Refusé, et le refus dit la formule au-dessus. Un client retiré garde sa place 30 jours après son premier diagnostic.
Corriger deux fois le même client
Une seule correction par client : elle refait ses mesures.
Rediagnostiquer un prospect
Refusé s'il a déjà son diagnostic des 30 derniers jours, ou s'il est déjà client. 3 leads par client couvert et par mois.
Attendre le document dans la conversation
Il arrive par email. « livrables » et « leads » donnent les liens.
Le protocole, pour vos développeurs
Model Context Protocol : la prise standard par laquelle un assistant IA utilise un outil à la place de l’agence. Un seul point, POST https://geo.greeneris.io/agence/mcp/, du JSON-RPC 2.0, un message par requête, une réponse JSON. Pas de flux serveur : le GET répond 405. Écrit à la main, sans bibliothèque. Chaque outil appelle la même fonction que la route de l’API : mêmes règles, mêmes refus, mêmes mots.
- Versions du protocole :
2025-11-25,2025-06-18,2025-03-26,2024-11-05, dans l’en-têteMCP-Protocol-Version. Absent,2025-03-26. Inconnue, 400. - Authentification : la clé du compte dans
x-api-key, ou un jeton OAuth dansAuthorization: Bearer. Sans l’un ni l’autre, 401 avec un défiWWW-Authenticate, pourinitializeaussi : c’est ce 401 qui fait proposer « Connecter » à Claude.ai. - Méthodes :
initialize,ping,tools/list,tools/call, et les notifications (sansid, accusées par un 202 vide). Niresourcesniprompts. - Origine : un en-tête
Originest refusé (403). Cette porte est faite pour un serveur, pas pour une page ouverte dans un navigateur. - Erreurs de protocole :
-32700JSON illisible,-32600requête invalide,-32601méthode inconnue,-32603l’outil n’a pas abouti,-32001refusé (clé, compte suspendu, trop d’appels). Un refus métier (plus de place, déjà retiré) est un résultat avecisError: true: l’assistant doit pouvoir le lire et l’expliquer. - Résultats : le même objet que la route correspondante, en texte dans
contentet enstructuredContent. Chaque outil porte ses annotations (readOnlyHint,destructiveHint,idempotentHint,openWorldHint) et ses instructions disent à l’assistant pour qui il travaille : une agence cliente. - Limites : 600 appels par heure et par clé ou par connexion. Le compte est relu en base à chaque appel : un compte en pause ne commande plus.
| Outil | Route équivalente | Nature |
|---|---|---|
compte | GET /agence/v1/compte/ | lecture |
clients | GET /agence/v1/clients/ | lecture |
livrables | GET …/clients/{id}/livrables/ | lecture |
questions | GET …/clients/{id}/questions/ | lecture |
leads | GET /agence/v1/diagnostics/ | lecture |
aide | GET /agence/v1/aide/ | lecture |
ajouter_clients | POST /agence/v1/clients/ | deux temps |
retirer_client | POST …/clients/{id}/retirer/ | deux temps, destructif |
corriger_client | POST …/clients/{id}/corriger/ | deux temps |
diagnostic_prospect | POST /agence/v1/diagnostics/ | deux temps |
marque | POST /agence/v1/marque/ | deux temps |
resilier | POST /agence/v1/resilier/ | deux temps, destructif |
nouveau_badge | POST /agence/v1/badge/ | deux temps, destructif |
valider_questions | POST …/clients/{id}/questions/ | tout de suite |
choisir_page | POST …/clients/{id}/page/ | tout de suite |
refaire_audit | POST …/clients/{id}/audit/ | tout de suite |
adresses | POST /agence/v1/adresses/ | transmise à une personne |
changer_formule | POST /agence/v1/formule/ | transmise à une personne |
annoncer_virement | POST /agence/v1/virement/ | tout de suite |
revoquer_cles | POST /agence/v1/cles/revoquer/ | tout de suite, destructif |
# Le compte, par le MCP : la même fonction que GET /agence/v1/compte/
curl -X POST https://geo.greeneris.io/agence/mcp/ \
-H "x-api-key: VOTRE_CLE" \
-H "Content-Type: application/json" \
-H "MCP-Protocol-Version: 2025-06-18" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "compte", "arguments": {}}}'
# La liste des vingt outils, avec leur schéma d'entrée et leurs annotations
curl -X POST https://geo.greeneris.io/agence/mcp/ \
-H "x-api-key: VOTRE_CLE" -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}'{
"jsonrpc": "2.0", "id": 1,
"result": {
"content": [{"type": "text", "text": "{ ...le même JSON, indenté... }"}],
"structuredContent": { "slug": "...", "nom": "...", "plafond": 5, "places_restantes": 2 },
"isError": false
}
}OAuth 2.1
C’est ainsi que Claude.ai, Claude Desktop et ChatGPT se connectent, sans clé. Clients publics enregistrés dynamiquement, PKCE S256 obligatoire, indicateur de ressource, rotation des jetons de rafraîchissement, iss dans chaque retour. L’agence s’identifie sans mot de passe : par un lien reçu à l’adresse email de son compte, cliqué dans le même navigateur. Un jeton OAuth n’ouvre que le MCP, jamais /agence/v1/ : un programme prend la clé.
- L’assistant appelle le MCP sans jeton et reçoit 401. Le défi pointe les métadonnées de la ressource (RFC 9728).
GET /.well-known/oauth-protected-resource:resource,authorization_servers(le service lui-même),scopes_supported(agence).GET /.well-known/oauth-authorization-server(RFC 8414) : les trois points ci-dessous,S256,nonecomme seule méthode d’authentification du client.POST /agence/oauth/enregistrer/(RFC 7591) :{"redirect_uris": [...]}, en https ouhttp://localhost, et unclient_namefacultatif. 201 avecclient_id. Vingt par heure et cent par jour par adresse IP.GET /agence/oauth/autoriser/avecresponse_type=code,client_id,redirect_uri,state,code_challenge,code_challenge_method=S256etresource=https://geo.greeneris.io/agence/mcp/. Le service vérifie et envoie l’agence sur la fenêtre de connexion du site ; elle y écrit l’adresse email de son compte, clique le lien reçu, et la fenêtre repart versredirect_uriaveccode,stateetiss. Un client ou un retour inconnus renvoient vers la page du site, jamais vers une adresse inconnue.POST /agence/oauth/jeton/, enapplication/x-www-form-urlencoded: le code contre un jeton d’accès d’une heure et un jeton de rafraîchissement de trente jours. Puisgrant_type=refresh_token, avec rotation : un code ou un jeton déjà servi qui revient coupe toute la connexion. Erreurs aux codes de la RFC 6749 (invalid_grant,invalid_target…).- Le MCP s’appelle avec
Authorization: Bearer. Un jeton échu ou coupé rend 401invalid_token: l’assistant rafraîchit, ou refait la connexion. « Révoque ma clé » coupe aussi tous les assistants connectés.
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer resource_metadata="https://geo.greeneris.io/.well-known/oauth-protected-resource", scope="agence"
{"error": "invalid_token", "error_description": "connexion requise"}curl -X POST https://geo.greeneris.io/agence/oauth/jeton/ \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code&code=LE_CODE&client_id=LE_CLIENT_ID" \
-d "redirect_uri=https://exemple.fr/retour&code_verifier=LE_VERIFIER" \
-d "resource=https://geo.greeneris.io/agence/mcp/"
# {"access_token": "...", "token_type": "Bearer", "expires_in": 3600,
# "refresh_token": "...", "scope": "agence"}Les autres portes
Les mêmes gestes marchent sans assistant : dans votre console, par email en répondant à nos messages, et pour vos programmes par l’API. Ce que vous recevez, comment lire votre compte et ce que couvre chaque formule : le mode d’emploi.
Une question qui demande un humain : hello@greeneris.io