Serveur MCP
Le serveur MCP de Docsbook est un serveur de protocole de contexte de modèle à distance qui expose votre documentation et toute sa surface d'administration à un agent IA. Connectez Claude Code ou tout client compatible MCP à un point de terminaison et lisez vos pages, engagez des modifications, lisez des analyses et changez des paramètres sans quitter l'éditeur.
Cette page est la référence pour ce que le serveur fournit et sur quoi un appel s'appuie. Chaque outil répertorié ici est appelable par tout client connecté ; le coût d'un appel mesuré est sur la page de tarification de Docsbook et sur chaque ligne d'outil dans votre panneau d'administration.
Qu’est-ce que le serveur MCP Docsbook ?#
Le serveur MCP Docsbook expose 310 outils via le Model Context Protocol, un standard ouvert permettant de fournir des outils, des ressources et des prompts aux agents d’IA via une interface RPC typée. Parmi ces outils, 18 sont des enregistrements, un par événement de webhook ; 136 sont des outils d’action qui effectuent chacun une étape du travail de documentation sur un sujet et renvoient une charge utile JSON validée ; 41 sont des agents, un par objectif, dont l’implémentation consiste en un parcours ordonné de ces actions ; 12 s’appuient sur un fournisseur externe de scraping pour les éléments que le robot d’exploration de Docsbook ne peut pas atteindre ; cinq sont des collecteurs qui renvoient les éléments probants sur lesquels reposent les actions, sans y ajouter de jugement ; et quatre démarrent et lisent des exécutions en arrière-plan. Les 94 restants sont les outils nommément désignés qui couvrent les opérations liées à l’espace de travail, au contenu, au chat, aux analyses et aux webhooks — notamment les deux qui connectent et configurent un dépôt ou un site web comme source de vérité, ainsi que les deux qui recherchent et arment un agent permanent selon un calendrier, un événement ou les commits d’un dépôt connecté.
Point de terminaison#
Le serveur MCP de Docsbook est accessible à une seule URL pour chaque espace de travail et chaque client :
https://docsbook.io/api/mcp/serverL’authentification utilise un flux de code d’autorisation OAuth avec PKCE. Le client reçoit un unique jeton Bearer opaque, qu’il présente à chaque appel ; aucun jeton d’actualisation n’est émis et le jeton n’expire pas de lui-même. Sa rotation consiste donc à le révoquer dans le panneau, puis à s’authentifier à nouveau. Il n’existe pas d’URL MCP propre à chaque projet à rechercher : le flux OAuth est associé au compte connecté, puis le client sélectionne l’espace de travail. Consultez Sécurité du serveur MCP pour en savoir plus sur le flux, les portées et les lacunes.
Comment connecter mon client IA à Docsbook ?#
Dirigez votre client vers https://docsbook.io/api/mcp/server et terminez l’invite OAuth dans le navigateur. Le serveur MCP de Docsbook est un serveur HTTP distant avec OAuth : tous les clients MCP modernes s’y connectent avec le même point de terminaison, sans processus local à exécuter. Les sous-sections ci-dessous indiquent la commande exacte ou le fichier de configuration pour chaque client.
Vous pouvez également parcourir le catalogue dans votre propre projet : ouvrez le panneau d’administration et sélectionnez MCP dans la barre latérale. La première fois que vous l’ouvrez, la section propose un panneau Activer contenant la commande d’installation pour votre client. Vous pouvez ainsi vous connecter avant de consulter le catalogue, et le bouton lance un court guide directement au-dessus du tableau. Celui-ci contient la liste de tous les outils actuellement proposés par le serveur, lue en direct depuis le serveur plutôt que depuis une copie statique, avec pour chaque outil sa catégorie de facturation, son prix par appel, la durée habituelle d’un appel et la possibilité pour les lecteurs de l’appeler sans jeton. Recherchez un outil, affinez la liste avec les Filtres — les catégories de facturation, chacune affichée avec son propre prix — ou triez selon n’importe quelle colonne. En survolant une ligne, vous ouvrez une fiche contenant le reste des informations disponibles sur cet outil : ce qu’il fait, le coût d’un appel et sa durée habituelle, le nombre d’arguments qu’il accepte et le nombre d’arguments obligatoires, le nombre d’exemples fonctionnels qui l’appellent et — dans votre propre projet — ce qu’il vous a coûté jusqu’à présent et la date de votre dernier appel, avec son identifiant appelable prêt à être copié. Cliquer sur une ligne ouvre la page dédiée à cet outil, et cette page possède une adresse : l’URL contient l’outil, ce qui vous permet de l’actualiser, de l’ajouter à vos favoris ou de l’envoyer à un collègue, qui arrivera sur le même outil plutôt que sur un tableau de trois cents lignes. Tout ce qu’elle contient concerne cet outil. Ses arguments sont présentés dans un formulaire doté d’un bouton Exécuter qui effectue un véritable appel dans ce projet, et le bouton affiche le prix avant que l’argent ne soit débité. En dessous se trouve son historique des appels, alimenté par le même tableau Flux que celui que vous consultez partout ailleurs, mais limité à cet outil : une ligne par appel, et le déploiement d’une ligne affiche l’appel complet — les données entrantes, la réponse, l’origine de la demande (votre bouton Exécuter, un agent externe, une planification ou un événement), sa durée, son prix et le montant réellement prélevé sur votre solde. Plus bas se trouve ce qui l’exécute automatiquement : une planification, un événement ou l’un de vos Flux enregistrés. Un appel peut ainsi surveiller un flux entier plutôt qu’un seul nom d’événement, et chaque ligne activée indique ce qu’elle déclenche déjà, afin que vous ne remplaciez jamais une exécution configurée précédemment sans le voir. Enfin, la page présente les agents qui utilisent cet outil — les fiches de la section Agents dont le parcours l’appelle réellement — avec les agents activés en premier et chacun doté de son propre bouton. Vous pouvez ainsi programmer l’outil depuis la page où vous venez de consulter le coût d’un appel. En dessous se trouve un exemple fonctionnel à copier dans votre propre client ; ce qui s’exécute depuis Docsbook est l’appel.
Claude Code#
claude mcp add --transport http docsbook https://docsbook.io/api/mcp/serverLe premier appel ouvre un onglet de navigateur pour OAuth. Après consentement, les outils deviennent disponibles dans Claude Code.
Curseur#
Le curseur n'a pas de mcp add commande, mais il accepte un lien d'installation en un clic :
cursor://anysphere.cursor-deeplink/mcp/install?name=docsbook&config=eyJ1cmwiOiJodHRwczovL2RvY3Nib29rLmlvL2FwaS9tY3Avc2VydmVyIiwidHlwZSI6Imh0dHAifQ==Ou ajoutez le serveur à ~/.cursor/mcp.json (ou utilisez Paramètres → MCP & Intégrations → Nouveau serveur MCP) :
{
"mcpServers": {
"docsbook": {
"url": "https://docsbook.io/api/mcp/server"
}
}
}Rechargez le curseur — OAuth s'ouvre dans le navigateur lors de la première utilisation.
Codex CLI#
codex mcp add docsbook --url https://docsbook.io/api/mcp/serverOu modifiez la configuration directement — Codex stocke les serveurs MCP dans ~/.codex/config.toml :
[mcp_servers.docsbook]
url = "https://docsbook.io/api/mcp/server"Planche à voile#
Modifiez ~/.codeium/windsurf/mcp_config.json et actualisez le panneau Cascade :
{
"mcpServers": {
"docsbook": {
"serverUrl": "https://docsbook.io/api/mcp/server"
}
}
}Cline#
Ouvrez Cline → Serveurs MCP → Configurer les serveurs MCP et collez :
{
"mcpServers": {
"docsbook": {
"url": "https://docsbook.io/api/mcp/server",
"transportType": "http"
}
}
}Gemini CLI#
gemini mcp add --transport http docsbook https://docsbook.io/api/mcp/serverLa portée par défaut est le projet actuel — ajoutez --scope user pour l'installer globalement. Ou ajoutez-le manuellement à ~/.gemini/settings.json (notez que la clé est httpUrl; url là signifie SSE):
{
"mcpServers": {
"docsbook": {
"httpUrl": "https://docsbook.io/api/mcp/server"
}
}
}GitHub Copilot (VS Code)#
code --add-mcp '{"name":"docsbook","type":"http","url":"https://docsbook.io/api/mcp/server"}'Ou créez .vscode/mcp.json dans votre espace de travail, puis activez le serveur à partir du sélecteur Copilot Chat MCP (notez que la clé est servers, pas mcpServers):
{
"servers": {
"docsbook": {
"type": "http",
"url": "https://docsbook.io/api/mcp/server"
}
}
}ChatGPT#
ChatGPT prend en charge le MCP à distance via Connecteurs, sur les propres plans payants de ChatGPT. Cette exigence est celle d'OpenAI, pas de Docsbook.
- Ouvrez ChatGPT → Paramètres → Connecteurs → Avancé → Mode développeur.
- Cliquez sur Créer et collez l'URL :
https://docsbook.io/api/mcp/server. - Autorisez dans le navigateur lorsque cela est demandé.
À quoi servent les outils Docsbook MCP ?#
Les outils Docsbook MCP existent pour réaliser l'une des quatre choses suivantes : attirer des lecteurs plus qualifiés, faire en sorte qu'ils repartent avec ce qu'ils sont venus chercher, faire avancer les lecteurs ayant une intention d'achat par l'assistant, et réduire le nombre de questions qui atteignent une personne. Tout ce qui suit est regroupé par rapport à laquelle de ces quatre il sert.
Votre documentation n'est pas un centre de coûts. C'est un canal avec trois missions : être trouvé (par Google, et par les assistants IA que vos acheteurs demandent maintenant au lieu de Google), convertir le lecteur (une visite qui se termine sans rien est un client perdu qui ne s'est jamais plaint), et prouver ce qui a fonctionné (afin que la prochaine modification soit une décision, pas une supposition).
Il n'y a que quatre façons pour un outil de documentation de générer des revenus, et chaque outil ci-dessous en sert un :
| Levier | Mécanisme | Outils principaux |
|---|---|---|
| Acquisition | Plus de lecteurs qualifiés arrivent, par la recherche et par les réponses IA | update_seo, update_geo, update_aeo, get_search_rankings |
| Conversion | Plus de lecteurs arrivants repartent avec ce qu'ils sont venus chercher | get_visit_outcomes, get_dead_end_pages, get_content_health, get_route_patterns |
| Ventes | L'assistant fait avancer les lecteurs ayant une intention d'achat au lieu de simplement répondre | get_chat_intent, get_chat_conversations, set_chat_system_prompt, set_chat_hooks |
| Coût évité | Les questions répondues par la documentation sont des questions non répondues par une personne | get_ai_unanswered, get_failed_searches, get_search_zero_click, get_insights |
Un outil qui ne sert aucun de ces objectifs renvoie du contexte, pas une décision. Pageviews: 12,340 est du contexte. 31% of your readers left with nothing est une décision.
Être trouvé#
| Outil | Ce que cela vaut |
|---|---|
update_seo |
Méta-tags, sitemap, OpenGraph. Conditions de base : sans cela, les pages qui méritent de se classer ne peuvent pas. |
update_geo |
Optimisation du moteur génératif — structure la page afin qu'un LLM puisse la citer et l'attribuer à vous. La différence entre être la source d'une réponse AI et être invisible à l'intérieur de celle-ci. |
update_aeo |
Optimisation du moteur de réponse — façonne le contenu sous la forme de réponse directe que les assistants AI récupèrent textuellement. |
get_search_rankings |
Positions réelles dans Google Search Console, plus le "ensemble à améliorer" situé à la position 5–20 — pages que Google affiche déjà mais qui ne gagnent pas encore le clic. Transforme "nous devrions faire du SEO" en une page nommée et une requête nommée. Retarde Google d'environ 2 jours. |
get_analytics (répartition des bots AI) |
Que les crawlers ChatGPT, Perplexity et Claude vous lisent ou non. Un zéro ici signifie que le travail GEO n'atterrit pas — pas de crawl, pas de citation, pas de référence. |
Les acheteurs demandent de plus en plus à un assistant avant de demander à un fournisseur. Si l'assistant répond à partir des documents d'un concurrent, vous n'entrez jamais dans la liste restreinte et la perte n'apparaît dans aucun tableau de bord.
Ne pas perdre le lecteur#
get_visit_outcomes est le numéro de titre de l'ensemble du produit : il classe chaque visite comme succès / impasse / rebond / partiel et rapporte le taux d'impasse et le taux de résolution autonome. Une impasse est un lecteur qui a cherché, demandé à l'IA ou ouvert plusieurs pages — et est quand même parti sans rien. Tout ce qui suit répond à "…et où exactement ?"
| Outil | Ce qu'il vaut |
|---|---|
get_dead_end_pages |
La file d'attente de réécriture, classée. Les lignes marquées terminal_success sont des pages dont les gens partent parce qu'ils ont obtenu ce dont ils avaient besoin — l'outil protège vos meilleures pages d'être "corrigées". |
get_content_health |
Un score de 0 à 100 par page, combinant les sorties d'impasse avec des retours négatifs. Remplace le croisement de quatre rapports à la main sur un grand ensemble de documents. |
get_rage_signals |
Pages révisitées 3+ fois lors d'une visite, rebonds A→B→A, recherches répétées. Le taux d'impasse indique qu'une visite a échoué ; cela indique où. La réentrée signifie que la réponse devrait être sur cette page et ne l'est pas — la solution est la restructuration, pas un nouveau contenu. |
get_route_patterns |
Les séquences de 2 à 4 pages que les lecteurs parcourent réellement, et à quelle fréquence chacune se termine bien. Un parcours fréquent qui se termine mal est un défaut de navigation, pas un problème de qualité de page — réécrire ces pages ne le corrigera pas. |
get_reverse_funnel |
Travaille à rebours à partir des visites réussies : quelles pages d'entrée mènent à une bonne fin. N'a besoin d'aucune hypothèse, donc il fait ressortir le chemin que les lecteurs ont trouvé que vous n'avez jamais conçu. |
get_forward_funnel |
Achèvement du parcours que vous avez déclaré, et quelles transitions fuient. Votre taux d'achèvement d'intégration. |
get_metric_timeseries |
Tout indicateur de titre par jour — le seul outil qui répond à "est-ce que cela s'aggrave" et aligne un changement par rapport à une date de publication. |
get_visits |
Les preuves derrière les taux : une visite reconstruite à la fois. Utilisez-le lorsqu'un chiffre est contesté, ou pour attacher un vrai lecteur à une plainte. |
get_retention |
Taux de retour W1/W4 par cohorte. La direction dépend de la section : un retour élevé est sain pour les documents de référence et un échec pour l'intégration. |
Demande que vous ne servez pas#
Chaque ligne ici est un ticket de support que vous pouvez anticiper en écrivant une page.
| Outil | Quelle est sa valeur |
|---|---|
get_ai_unanswered |
Questions auxquelles l'assistant n'a pas pu répondre, dans les propres mots du lecteur. Le plan de contenu le moins cher qui soit. |
get_failed_searches |
Recherches ne retournant aucun résultat — le même écart par une porte différente. |
get_search_zero_click |
Recherches qui ont retourné des résultats et n'ont obtenu aucun clic. L'écart que les rapports de zéro résultat manquent : la recherche a fonctionné et le lecteur a rejeté chaque résultat, ce qui pointe vers titres et résumés — un ordre de grandeur moins cher à corriger que les corps de page. |
get_popular_searches |
Ce que les gens recherchent le plus. À lire par rapport à get_content_health sur la même page : forte demande + faible santé = votre page cassée la plus coûteuse. |
get_negative_feedback |
Pages avec un pouce vers le bas, classées. Le vote explicite du lecteur, aucune inférence nécessaire. |
get_insights |
Le digest pré-combiné — lacunes documentaires, recherches à zéro résultat et pages détestées avec des estimations d'impact, en un seul appel. Commencez ici pour "qu'est-ce que je devrais corriger cette semaine". |
Vente par l'assistant#
Le chat n'est pas un widget de support. C'est le seul endroit où un prospect exprime son objection en langage clair.
| Outil | Ce qu'il vaut |
|---|---|
get_chat_intent |
Conversations réparties par étape d'achat — évaluation, tarification, intégration, support, bogue. Répond à qui décide d'acheter et ce qui bloque l'achat. Nomme le concurrent lorsque les lecteurs en mentionnent un : une intelligence concurrentielle qu'aucun rapport au niveau de la page ne peut produire. |
get_chat_conversations |
Questions regroupées par sujet, avec click_through — la part des conversations où le lecteur a ouvert une page citée. Un sujet avec une intention d'achat et aucun clic est une fuite de vente : la réponse était correcte et n'a fait avancer personne. L'unité est une conversation, pas une question, car quatre questions d'un lecteur bloqué et une chacune de quatre lecteurs donnent des comptes identiques et des conclusions opposées. |
set_chat_system_prompt |
Où la solution se trouve — transforme l'assistant d'un bibliothécaire en un vendeur : qualifier, gérer l'objection, diriger vers une démo. |
set_chat_hooks / test_chat_hook |
Hooks pré/post-LLM : injecter un contexte en direct (tarification, disponibilité, le plan du lecteur) ou capturer un lead au moment où l'intention apparaît. |
get_ai_questions |
Journal de questions verbatim — matière première pour FAQ, email d'intégration, gestion des objections. |
Une objection de prix exprimée dans votre chat de docs vaut plus qu'une vue de page : le lecteur s'est qualifié et vous a dit exactement ce qui l'empêche d'acheter.
Agir sur le constat#
Un diagnostic sans correctif n'est qu'un rapport. Ces outils bouclent la boucle au sein d'une même connexion.
| Outil | À quoi il sert |
|---|---|
search_docs |
Sections textuelles verbatim et citables — modes texte, regex, titre ou chemin. Ce qu'un agent lit avant de modifier afin de changer les bonnes lignes. |
search |
Recherche sémantique (basée sur les embeddings) — trouve une page selon ce qu'elle signifie, et non selon ce qu'elle dit littéralement, à l'aide d'un index vectoriel préconstruit. Elle repère la question en langage naturel dont les formulations n'ont rien à voir avec le titre de la page. Disponible avec tous les forfaits, elle fournit toujours une réponse : un projet qui ne possède pas encore d'index obtient la même réponse grâce à une recherche en texte intégral, et la réponse indique quel moteur a été exécuté (mode : semantic ou lexical). Utilisé sans jeton sur le point de terminaison public de votre projet, il permet donc aussi à l'agent d'un lecteur de rechercher dans votre documentation. |
get_doc_outline |
Chaque page avec son titre, son nombre de titres et sa taille. Une orientation peu coûteuse avant une recherche ou une écriture. |
write_docs |
Valide un ou plusieurs fichiers Markdown dans un seul commit Git atomique. Transforme l'analyse en modification déployée. |
fetch_url |
Lit une page web publique sous forme de Markdown propre. L'outil qui permet à un agent de vérifier une page par rapport au monde extérieur à votre espace de travail — les tarifs d'un concurrent, votre propre site marketing ou la disponibilité d'un lien dont dépend un document. |
get_change_history |
À appeler avant toute modification. Ce qui a été modifié auparavant et l'évolution du trafic des pages concernées ensuite — avec les nombres bruts de visites avant/après, les indicateurs low_sample et pending, et aucune conclusion volontairement (un commit et une évolution du trafic au cours de la même semaine ne constituent pas une relation de cause à effet). Sans cela, la même recommandation est formulée indéfiniment avec le même niveau de confiance. |
get_page_diff_impact |
À appeler après la mise en production. Cette modification a-t-elle réellement été utile ? Compare les pages touchées par un commit aux pages qui ne l'ont pas été, avant et après — répartition des résultats, résolution en libre-service, délai avant la première valeur. Les pages non touchées servent de contrôle, et c'est là tout l'intérêt : le trafic de la documentation évolue pour des raisons sans rapport avec votre modification ; une amélioration ne compte donc que si elle dépasse la tendance du site. Une modification qui s'est simplement alignée sur cette tendance est signalée comme sans effet, et non comme une réussite. Ventile également les visites par pays, langue du lecteur et appareil, chaque segment étant présenté à côté de l'évolution du même segment sur les pages non touchées — c'est ce qui transforme « le trafic a augmenté » en décision. Lorsque vous avez défini un prix moyen et une URL d'appel à l'action, l'outil attribue également une valeur à la modification — conversions et revenus des pages touchées, avant et après. |
update_navigation |
Le correctif d'un défaut get_route_patterns ou get_reverse_funnel détecté — souvent moins coûteux et plus efficace que la réécriture d'une page. |
find_skill / find_widget |
Découvrez une fonctionnalité packagée — une compétence de workflow, un widget interactif — au lieu d'en écrire une. |
list_issues / get_issue / create_issue |
Le propre outil de suivi des problèmes GitHub du projet. Tous les constats ne donnent pas lieu à une modification effectuée dans la foulée — create_issue permet de consigner celui qui ne le sera pas, au lieu de le laisser s'achever avec la conversation. Utilisez d'abord list_issues, afin qu'un constat ne fasse pas doublon avec un problème déjà ouvert. La création d'un problème nécessite un jeton en lecture-écriture ; la lecture n'en nécessite pas. |
Savoir sans regarder#
Un tableau de bord ne fonctionne que si quelqu'un l'ouvre. Un webhook fonctionne toujours. L'enregistrement d'un webhook coûte un appel d'écriture ; chaque livraison qu'il effectue par la suite est un appel sortant du réseau Docsbook.
| Outil d'événement | Ce que cela vaut |
|---|---|
register_webhook_chat_no_answer |
L'assistant vient d'échouer un lecteur — dans Slack, en quelques secondes, alors qu'il peut encore être sur la page. |
register_webhook_search_no_results |
La même chose, pour la recherche. |
register_webhook_traffic_spike / _drop |
Un pic est soit une victoire marketing qui vaut la peine d'être poursuivie, soit un incident poussant les gens à résoudre des problèmes. Une chute après une publication est une régression que vous trouveriez autrement le trimestre suivant. |
register_webhook_content_outdated |
Documents dérivant du produit — la cause principale de la plupart des mauvaises réponses de l'IA. |
register_webhook_chat_negative_feedback, _feedback_received |
La plainte explicite du lecteur, routée à quiconque possède cette section. |
register_webhook_usage_limit_approaching, _overage_limit_reached |
Contrôle budgétaire — pas de factures surprises. |
list_webhooks, unregister_webhook, list_webhook_deliveries, replay_webhook_delivery, test_webhook |
Exécutez ce qui précède : auditer, réessayer, vérifier. |
Portée et propriété#
| Outil | Ce que cela vaut |
|---|---|
update_languages |
Activer une langue cible. Lire en parallèle avec la répartition pays/langue dans get_analytics: traduire là où se trouvent déjà les lecteurs, pas là où vous espérez qu'ils seront. |
set_translation_mode, upload_translation, approve_translation, list_pending_translations, get_translation, delete_translation |
Le pipeline de traduction — automatique, ou fourni de l'extérieur avec approbation humaine. |
update_access |
Espace de travail privé, mot de passe, ou votre propre SSO/OIDC. Débloque la vente aux entreprises dont l'approvisionnement l'exige. |
update_domain |
Docs sur votre propre domaine — l'autorité SEO s'accumule à vous, pas à un sous-domaine de fournisseur. |
update_branding, update_ui_settings |
Votre produit, pas celui d'une plateforme. |
Les combinaisons qui paient#
Aucun des outils ci-dessus n'est le produit. Ces boucles le sont.
Boucle 1 — "Quelle page me coûte des clients ?"#
get_visit_outcomes → the rate: 31% of visits end with nothing
get_dead_end_pages → which pages those visits died on
get_rage_signals → what the reader was trying to do there
get_change_history → has this page been "fixed" before, and did it work?
search_docs → write_docs → ship the fix
get_page_diff_impact → did the edited pages beat the pages you did not touch?Le taux seul est inactionnable, la liste des pages seule manque d'une cause, et une correction sans get_change_history répète une modification échouée avec une confiance totale. La dernière étape est ce qui clôt la boucle : une ligne de tendance sur l'ensemble du site évolue pour une douzaine de raisons, donc "le taux s'est amélioré après mon engagement" n'est une preuve que lorsque les pages que vous avez modifiées se sont améliorées plus que celles que vous avez laissées de côté. Seule la séquence produit un changement que vous pouvez défendre.
Boucle 2 — "Ma navigation ment-elle aux lecteurs?"#
get_route_patterns → a frequent 3-page route that keeps ending badly
get_reverse_funnel → the route successful readers actually take
update_navigation → promote the working entry point
get_forward_funnel → confirm completion on the declared route improvedUn itinéraire qui échoue alors que ses pages individuelles obtiennent de bons résultats est un défaut de navigation — get_content_health continuerait à pointer vers des pages saines pour toujours.
Boucle 3 — "Où les affaires fuient-elles?"#
get_chat_intent → 40 pricing-stage conversations, a competitor named in 12
get_chat_conversations → those topics have near-zero click_through
set_chat_system_prompt → handle that objection, route to a demo
write_docs → a comparison page that answers it once and for all
get_chat_intent (later) → did the objection stop recurring?La seule boucle dans n'importe quel produit de documentation qui commence par une objection déclarée et se termine par une réponse expédiée. click_through est ce qui sépare "l'assistant a répondu" de "l'assistant a vendu".
Boucle 4 — "Suis-je visible pour l'IA, et cela a-t-il amené quelqu'un ?"#
update_geo + update_aeo → structure content for citation
get_analytics (ai_bots) → confirm crawlers are actually reading it
get_search_rankings → track classic-search position alongside
get_analytics (referrers) → referrals arriving from AI assistants
get_visit_outcomes → and whether those arrivals end in successLa dernière étape est celle que tout le monde saute. Le trafic provenant d'une réponse d'IA qui se termine sans issue est pire que pas de trafic — vous avez gagné la visibilité et brûlé l'impression.
La boucle d'auto-réparation#
Exécutez la boucle 1 selon un calendrier depuis CI :
weekly: get_content_health → take the worst 3
get_change_history → skip anything already tried and failed
search_docs → write_docs → open a PR
get_page_diff_impact → report on the PR whether the edited pages
beat the untouched ones, or say they did notDocumentation qui se répare elle-même et montre son travail — "a vu le problème" et "a corrigé le problème" sans laisser la connexion.
Remise de l'ensemble du travail#
Chaque outil ci-dessus répond à l'appel qui l'a demandé. Quatre ne le font pas, et c'est le but.
Auditer un site, en construire un, le restructurer, ou mettre en place les moniteurs qui le gardent honnête prend quelques minutes de travail — lire des pages, raisonner sur des chiffres, engager des fichiers. find_skill gère cela en remettant le SKILL.md à votre agent, ce qui ne fonctionne que si votre agent est également connecté ici, a choisi un espace de travail, et passera vingt appels d'outils à ce sujet. Ces quatre exécutent la compétence de notre côté à la place, contre votre espace de travail, avec l'ensemble complet d'outils administratifs pour lequel la compétence a été écrite.
| Outil | Quelle est sa valeur |
|---|---|
run_docs_analyze |
L'audit complet docs-analyze, exécuté pour vous : ce qui ne va pas, jugé à partir des positions de recherche, du comportement des lecteurs et de vos propres objectifs — plus l'écart qu'aucun chiffre ne montre, les publics et les cas d'utilisation que la documentation n'aborde jamais. Il est déclaré en mode audit, donc il ne peut rien changer et fonctionne avec un jeton en lecture seule. |
run_docs_create |
Le pipeline complet docs-create : auditer le produit, décider de la structure, écrire les pages, publier. Depuis votre site, un dépôt, une autre plateforme que vous quittez, ou un nom de produit seul. |
run_docs_manage |
Le livre de règles docs-manage appliqué plutôt que cité : pages réécrites, le site configuré, objectifs et tunnels déclarés. Utilisez-le lorsque la demande est un jugement ("rendez cela bon") plutôt qu'une valeur ("définissez l'accent sur #0f0"). |
run_docs_automate |
docs-automate, afin que les vérifications continuent d'avoir lieu : gardes de dérive, webhooks, vérifications CI, alertes et moniteurs permanents. |
Commencer un travail et lire son résultat sont deux appels distincts. Un appel run_docs_* renvoie { run_id, state: "queued" } — jamais de résultats, jamais de pages. get_agent_run renvoie l'état, le progrès en direct pendant son exécution, et une fois qu'il a réussi, le rapport, chaque action que l'exécution a effectuée, et ce qui a changé. list_agent_runs trouve un identifiant d'exécution que vous avez perdu ; cancel_agent_run arrête une exécution qui n'est pas terminée, sans annuler ce qu'elle a déjà engagé.
Les trois qui écrivent nécessitent un jeton lecture-écriture. run_docs_analyze ne le fait pas, car il ne peut pas écrire.
Acheter la preuve sans l'opinion#
Un audit fait sept choses en un appel : rassemble, normalise, interprète, juge, note, classe, recommande. Exécutez les deux premières deux fois et vous obtenez la même réponse, et n'importe qui peut les refaire à la main et vérifier. À partir de judge la réponse est celle du modèle. Les deux moitiés étaient auparavant facturées comme un seul agent, ce qui signifiait que la moitié que vous pouvez vérifier était vendue au prix de la moitié à laquelle vous devez faire confiance.
Cinq collecteurs constituent la première moitié à eux seuls, facturés comme un probe plutôt que comme un agent :
| Outil | Ce qu'il renvoie |
|---|---|
collect_page_text |
Vos pages en direct telles que le fil les sert réellement — statut, titre, méta description, en-têtes, blocs de code, et combien de mots de prose survivent sans moteur JavaScript — à côté de la taille de la source que nous stockons pour le même chemin. L'écart entre ces deux est la ligne : 8 000 caractères dans le dépôt arrivant comme 40 mots est une page qui est parfaite pour chaque vérification lisant la source et non citables pour chaque assistant lisant la page. |
collect_corpus_map |
Chaque page avec sa taille, le nombre d'en-têtes et la profondeur, les sections, les ébauches, et combien d'entre elles la navigation atteint. |
collect_assistant_questions |
Ce que les lecteurs ont demandé à votre assistant docs, textuellement, ce qui est resté sans réponse, le taux de réponse avec son dénominateur, et les langues dans lesquelles cela est arrivé. |
collect_traffic |
Qui est arrivé, comment les visites se sont terminées, quelles pages ils ont terminées, et les séquences de 2 à 4 pages que les lecteurs parcourent — quatre tableaux, séparés. |
collect_onsite_search |
Ce que les lecteurs ont tapé dans votre propre boîte de recherche, ce qui n'a rien retourné, et ce qui a retourné des résultats et n'a pas eu de clic — trois tableaux, séparés, car le premier est une page manquante et le second est un titre perdant. |
Il n'y a pas de modèle dans le chemin, donc il n'y a rien en eux à ne pas croire — et la charge le prouve plutôt que de le revendiquer. Chaque réponse porte un reproduce bloc : les appels MCP exacts et les arguments avec lesquels ils ont été faits, par ligne. Exécutez-les vous-même et vous obtenez le même enregistrement, à part le timestamp. Rien de ce qu'un audit retourne ne peut offrir cela, car la réponse d'un audit est passée par un modèle.
Ce que vous n'obtenez pas, c'est un jugement. Pas de conclusions, pas de notes, pas de classement, pas de recommandation — ce sont ce que le prix d'un outil d'action achète, et un collecteur qui en aurait discrètement inclus un serait un agent à une fraction du prix.
Quand le bon marché est le bon. Sans Search Console connecté, measure_intent_match note ses axes de classement comme non mesurés et facture toujours pour l'exécution ; collect_corpus_map n'a besoin d'aucune donnée de recherche, aucun trafic et aucune histoire, et renvoie de vraies lignes sur un site qui est monté ce matin. Il en va de même lorsque vous voulez les chiffres sur lesquels une action a été construite avant de décider d'acheter leur lecture.
Ce qui manque est dit à voix haute. Une source qui n'a pas pu être lue apparaît trois fois — dans skipped, dans unavailable avec ce que l'avoir aurait ajouté, et dans sa propre ligne reproduce avec la raison pour laquelle elle a échoué. Un taux sans rien à diviser revient comme null avec la raison, jamais comme un zéro, et chaque taux porte son dénominateur.
Lire les chiffres honnêtement#
Chaque réponse d'analyse du serveur Docsbook MCP comporte ses propres mises en garde dans un champ metrics. Trois méritent d'être répétées :
- Les visiteurs sont des IP hachées. Le NAT de bureau fusionne plusieurs lecteurs en un ; les réseaux mobiles divisent un lecteur en plusieurs. Signalez les tendances, jamais les comptes —
get_retentionest le plus affecté. - Les taux sont retenus en dessous de 30 visites, et les jours creux sont signalés
thin. Un taux de 100 % de points morts sur quatre visites est du bruit. terminal_successn'est pas un échec. Une page dont les gens sortent après avoir copié un extrait est la meilleure page que vous ayez. Tous les outils de classement exemptent ces pages — ne réintroduisez pas l'erreur manuellement.
Comment rechercher et modifier le contenu de la documentation depuis un agent ?#
Il existe deux façons de travailler avec le contenu de votre documentation depuis un agent, et celle que vous choisirez dépend de la présence ou non du dépôt sur le disque de l’agent :
- Hébergé, via des jetons MCP —
search_docs(lecture seule ; fonctionne avec tout jeton connecté, quelle que soit sa portée),get_doc_outline(lecture seule ; répertorie le titre, le nombre de titres et la taille de chaque page Markdown avant toute recherche ou écriture), etwrite_docs(nécessite un jeton autorisé avec une portée lecture-écriture ; valide un ou plusieurs fichiers dans un seul commit Git atomique). Ces opérations s’exécutent directement sur le dépôt hébergé par Docsbook, sans nécessiter de copie de travail locale. - En local, via
markdown-lsp— pour un agent travaillant directement sur vos fichiers extraits,markdown-lsprépond à des questions plus riches sur le graphe (vue d’ensemble de l’espace de travail, recherche approximative de titres, recherche en texte intégral avec contexte, liens entrants et sortants, résolution des liens) sous forme de commandes exécutées par l’agent —npx markdown-lsp <subcommand> ./docs— ou en tant que serveur de langage. Il ne s’agit pas d’un serveur MCP et aucun jeton n’est nécessaire. Consultez Source de vérité pour obtenir la liste des sous-commandes et leur justification.
Utilisez search_docs/write_docs lorsque l’agent dispose uniquement d’une connexion MCP (sans copie de travail locale) ; utilisez markdown-lsp lorsque l’agent a déjà le dépôt sur le disque et souhaite une navigation plus approfondie dans le graphe.
Sur quoi repose un appel au serveur MCP Docsbook ?#
Chaque appel facturé au serveur MCP Docsbook est déduit du solde du projet concerné par l'appel — le même solde alimenté par un approvisionnement et utilisé par le reste du travail d'IA de ce projet. Il n'existe pas de compteur distinct pour MCP, ni de quota mensuel d'appels à prévoir. L'argent est la seule limite.
Un appel est facturé d'un montant forfaitaire, fixé avant son exécution et indépendant de la taille de la réponse. Le même appel de reporting prélève la même somme sur un site de dix pages que sur un site de dix mille pages. Ce qui détermine le montant, c'est ce que l'exécution de l'appel fait faire au serveur :
| Classe | Ce que l'appel fait faire au serveur | Outils concernés |
|---|---|---|
| Inclus | Rien d'autre qu'une consultation | get_info, find_skill, find_widget, list_workspaces, get_workspace, create_workspace |
| Lecture | Lit une ligne qu'il stocke déjà | Une page, un paramètre ou une ligne de registre — la classe dans laquelle tombe un outil non classifié |
| Écriture | Modifie l'état stocké | create_*, update_*, set_*, delete_*, register_*, unregister_*, upload_*, approve_*, mark_* |
| Analytique | Parcourt le magasin d'événements | Entonnoirs, parcours, rétention, classements, flux, query_events |
| Sortie | Quitte le réseau Docsbook | fetch_url, read_source, test_*, replay_*, les quatre lectures de suivi (list_issues, get_issue, get_pull_request, search_prior_work), et les outils de scraping adossés à des fournisseurs |
| Sonde | Rassemble et normalise une famille de faits, sans modèle | collect_* |
| IA | Appelle un modèle pour écrire, lire ou classer | write_docs, search_docs, search, get_insights, get_chat_intent |
| Perspective | Effectue un passage de modèle sur un enregistrement de preuves qui lui a été transmis, relu depuis un angle unique déclaré | Réservé (lens_*) — aucun outil ne fait partie de cette classe aujourd'hui |
| Agent | Exécute un agent complet derrière un seul appel | Les 135 outils d'action (observe_*, explain_*, discover_*, decide_*, plan_*, draft_*, measure_*, verify_*, learn_*, handoff_*), les 41 objectifs agent_*, ainsi que audit_geo, generate_issues et run_docs_* |
Le prix d'un outil d'action est calculé à partir du travail qu'il déclare — le nombre de familles de preuves qu'il lit, le nombre d'allers-retours avec le modèle qu'il peut effectuer, s'il quitte votre site, s'il écrit un artefact — plutôt qu'à partir d'un montant forfaitaire pour toute la classe. Ainsi, une observation ciblée prélève une fraction de ce que coûte une rédaction approfondie, et son délai d'attente annoncé (environ 20 s à 70 s) varie de la même manière.
Le montant actuel de chaque classe et de chaque outil individuel figure sur la ligne propre à l'outil dans la section MCP de votre panneau d'administration, où il est lu en temps réel depuis le serveur plutôt que depuis une copie écrite, ainsi que sur la page des tarifs Docsbook. Cette page ne reproduit volontairement aucun montant : un prix copié dans la documentation est un prix qui devient obsolète sans que personne ne s'en aperçoive.
La découverte n'est jamais facturée. Décrire le serveur, trouver une compétence ou un widget, répertorier vos espaces de travail et en créer un ne coûte rien — vous ne devez pas être facturé pour la prise de contact ni pour l'appel qui crée l'élément facturé.
Le projet qui paie est déterminé à partir de l'appel lui-même — l'espace de travail que vous avez nommé, le dépôt auquel il est associé — et toujours uniquement un projet dont vous êtes propriétaire. Un appel qui ne nomme aucun projet est exécuté sans facturation. Un outil qui poursuit son exécution par un travail d'IA prélève également le montant correspondant à ce travail ; les deux montants s'additionnent au lieu de se remplacer.
Lorsque le solde est épuisé, un appel facturé est refusé avant son exécution, et le refus indique quel projet est épuisé, le montant prélevé par l'appel, le montant restant et où approvisionner ce projet. Aucun montant n'est crédité sur un solde selon un calendrier, mais vous pouvez configurer un paiement mensuel de votre choix sur l'écran de facturation, qui approvisionne le même solde chaque mois. La découverte gratuite continue de fonctionner, afin que votre agent puisse toujours savoir ce qui s'est passé.
Un appel qui échoue est tout de même facturé — le travail a été effectué, et la réponse l'indique. Un appel que le serveur n'a jamais réussi à exécuter n'est pas facturé.
Vous pouvez consulter les appels ligne par ligne. Chaque appel facturé apparaît dans le panneau Flux du projet — quel outil, s'il a fonctionné, combien de temps il a pris et quel montant il a prélevé — avec un filtrage par classe de facturation. Les appels qui ne concernaient aucun projet unique (décrire le serveur, répertorier vos projets, en créer un) appartiennent à votre compte et n'apparaissent dans le flux d'aucun projet ; les appels de découverte ne laissent aucune ligne.
L'accès non authentifié et limité à un dépôt vers un site de documentation public n'est jamais facturé.
Ce qu'un jeton est autorisé à faire#
L'accès au serveur MCP Docsbook est déterminé par le jeton, et non par un niveau. Un jeton porte une portée, et la portée est la seule chose qui distingue la lecture de l'écriture :
- Lecture seule — tous les outils de rapport, de recherche et de plan répondent.
write_docs,create_issue,connect_source,configure_source,enable_agentet les troisrun_docs_*d'écriture refusent l'opération et en indiquent la raison. Ces huit outils sont ceux qui vérifient actuellement la portée ; les outils d'écriture des paramètres, des webhooks, des objectifs et des traductions sont protégés uniquement par la propriété du projet. La lecture seule n'est donc pas un jeton qui « ne change rien » — consultez Sécurité du serveur MCP. - Lecture-écriture — tout ce que le compte peut faire : valider des pages, signaler des problèmes, connecter des sources, armer des agents et modifier les paramètres.
- Aucun jeton — sur un endpoint limité au dépôt (
docsbook.io/{owner}/{repo}/api/mcp/server),get_info,find_skill,find_widgetetlist_content_widgetsrépondent à partir du catalogue public, etsearchrépond à partir de la documentation de ce site — le seul outil ici qui lit un projet, car ce qu'il lit est le site publié. Il est refusé sur un site privé, sur un site dont le forfait a expiré, sur un endpoint qui n'est pas associé à un site et lorsque le projet n'a plus de solde IA ; il ne prend aucun argument de projet et ne peut donc jamais lire que le site auquel il est associé. Tous les autres outils nécessitent un jeton Bearer valide associé à un compte Docsbook.
Lorsqu'un appel est refusé, le serveur renvoie une erreur structurée indiquant la raison plutôt qu'une simple réponse 403, afin que l'agent puisse indiquer au lecteur ce qu'il doit corriger. Consultez Serveur MCP — Confiance & sécurité pour le processus d'authentification et savoir ce que le serveur stocke.
Associés#
- Référence des outils MCP — chaque outil avec ses paramètres.
- Crochets de chat — Configurez les crochets pré/post-LLM via MCP.
- Compétences Docs — Découvrez les fichiers SKILL.md via
find_skill, ou faites-en exécuter un pour vous avecrun_docs_*. - Webhooks — Enregistrez des gestionnaires d’événements depuis MCP et vérifiez leurs signatures.
- Tarification — ce qu’utilise un appel facturé à l’usage, généré à partir des constantes de facturation en temps réel.