Intégrations

Cursor et MCP : ajouter la recherche dans votre documentation à l'éditeur

L'équipe Kopik7 min de lecture

Pour donner à Cursor un accès à votre documentation, il suffit de déclarer un serveur MCP dans le fichier `.cursor/mcp.json` de votre projet, avec une clé API dans un en-tête. L'agent de Cursor peut alors interroger une base de connaissances pendant qu'il code et vous montrer les passages sur lesquels il s'appuie. Ce tutoriel donne la configuration exacte, les outils disponibles, des prompts types et les solutions aux erreurs les plus fréquentes.

Pourquoi brancher une documentation sur Cursor via MCP ?

Cursor lit très bien le code de votre dépôt. En revanche, il ignore tout ce qui vit à côté : vos conventions d'API internes, le guide d'intégration d'un prestataire, les règles de facturation que votre module doit respecter. Faute d'information, l'agent devine, et une supposition glissée dans du code généré coûte cher à repérer en revue.

Le Model Context Protocol (MCP) est un standard ouvert qui permet à un client d'IA comme Cursor d'appeler des outils externes. Un serveur de documentation expose un outil de recherche ; l'agent décide quand l'appeler, reçoit des passages et construit sa réponse ou sa modification à partir d'eux. Concrètement, vous y gagnez :

  • Des réponses fondées sur une source choisie plutôt que sur les souvenirs d'entraînement du modèle.
  • Des citations vérifiables : chaque réponse arrive avec des passages numérotés.
  • La fin du copier-coller de pages entières dans le chat, ce qui préserve la fenêtre de contexte pour le code.
  • Une seule source de vérité pour l'équipe : le même serveur fonctionne dans Claude, ChatGPT et d'autres clients MCP.

Pour une vue d'ensemble des agents connectés à une base, lisez connecter une base de connaissances aux agents IA avec MCP. Ici, on reste centré sur Cursor.

Les prérequis

  1. Une version récente de Cursor, avec la prise en charge de MCP.
  2. Une base à interroger : une base publique du catalogue Kopik, ou votre propre documentation déposée en base privée. La création d'une base est gratuite : vous déposez des PDF, des fichiers Word, du texte ou du Markdown, Kopik extrait, découpe et indexe pour une recherche hybride.
  3. Une clé API Kopik, créée depuis le tableau de bord, qui commence par `kpk_`. Seul l'outil gratuit `list_bases` fonctionne sans clé.
  4. Le droit d'ajouter un fichier à la racine du projet.

Commencez par votre propre documentation

Les questions posées à vos propres bases sont gratuites (usage raisonnable, environ 200 par jour). Déposez votre guide d'API interne en base privée et testez sans compter. Le détail de cette approche est dans une base de connaissances privée comme RAG pour vos agents IA.

Étape 1 : écrire le fichier .cursor/mcp.json

À la racine du projet, créez un dossier `.cursor` puis, dedans, un fichier `mcp.json`. Collez ce contenu en remplaçant la clé par la vôtre : `{ "mcpServers": { "kopik": { "url": "https://kopik.io/api/mcp", "headers": { "Authorization": "Bearer kpk_…" } } } }`. Si vous voulez le serveur dans tous vos projets, placez le même contenu dans le `mcp.json` du dossier `.cursor` de votre répertoire personnel.

Le rôle de chaque champ

ChampValeurÀ retenir
`mcpServers`Objet qui regroupe les serveursUne faute de frappe ici et Cursor ignore le fichier
`kopik`Nom libreSimple libellé affiché dans les réglages MCP de Cursor
`url``https://kopik.io/api/mcp`Transport Streamable HTTP, sans état : rien à installer en local
`headers.Authorization``Bearer kpk_…`Obligatoire pour tous les outils sauf `list_bases`

Restreindre le serveur à une seule base

L'URL ci-dessus donne accès à tout le catalogue : l'agent précise la base à chaque appel. Si le projet n'a besoin que d'une documentation, utilisez plutôt l'adresse propre à la base, `https://kopik.io/api/mcp?base=slug-de-votre-base`, affichée sur chaque page de base. L'argument `base` disparaît alors des outils, les prompts raccourcissent et l'agent ne peut pas s'égarer ailleurs. Cela fonctionne aussi pour une base privée, avec la clé de son propriétaire.

Ne versionnez pas la clé

Un `.cursor/mcp.json` contenant une vraie clé n'a rien à faire dans Git : ajoutez-le au `.gitignore`, ou gardez le serveur dans la configuration globale. Côté RGPD, appliquez la même rigueur aux documents : ne déposez des données personnelles qu'en connaissance de cause, en base privée, et inscrivez le traitement à votre registre comme pour tout prestataire, conformément aux recommandations de la CNIL.

Étape 2 : vérifier les outils dans Cursor

Ouvrez les réglages MCP de Cursor : le serveur `kopik` doit apparaître actif, avec trois outils. Si vous avez modifié le fichier pendant que Cursor était ouvert, désactivez puis réactivez le serveur, ou rechargez la fenêtre.

Les outils du serveur MCP de Kopik

OutilArgumentsCe qu'il renvoiePrix
`list_bases``topic`, `query` (facultatifs)Les bases publiques correspondantesGratuit, sans clé
`ask_base``base`, `question`, `maxPriceCents` (facultatif)Une réponse rédigée et des passages sources numérotésLe prix de la base par question
`search_base``base`, `question`, `maxPriceCents` (facultatif)Les passages seulsMême prix que `ask_base`

Par défaut, Cursor vous demande d'approuver chaque appel d'outil. Gardez ce réglage au début : vous voyez exactement quelle base et quelle question l'agent envoie.

Des prompts types qui fonctionnent

L'agent choisit seul le moment d'appeler un outil, mais nommer l'outil et la base rend son comportement prévisible :

  • Trouver une base : « Utilise list_bases avec la requête « TVA micro-entreprise » et dis-moi quelle base convient. »
  • Poser une question sourcée : « Demande à la base fr-micro-entrepreneur-fiscalite-tva à partir de quel chiffre d'affaires la franchise en base de TVA cesse de s'appliquer, et cite les passages. »
  • Coder d'après votre doc : « Appelle ask_base sur guide-api-interne : comment fonctionne la pagination de l'endpoint commandes ? Puis adapte fetchOrders dans ce fichier. »
  • Récupérer des passages bruts : « Utilise search_base sur guide-api-interne pour « politique de relance et clés d'idempotence », écris le wrapper de relance et indique les numéros de passages en commentaire. »
  • Plafonner la dépense : « Pose la question avec maxPriceCents à 10. »

Deux réflexes changent tout. Demandez les passages, pas seulement la conclusion, pour vérifier avant de fusionner. Et préférez `search_base` quand l'agent va de toute façon écrire du code : il reçoit les preuves brutes et raisonne dans votre contexte, au même prix.

Dépannage : quand le serveur MCP ne répond pas

Symptômes fréquents et solutions

SymptômeCause probableSolution
Serveur absent ou en erreurJSON invalide (virgule finale, guillemets typographiques) ou fichier mal placéValidez le JSON, vérifiez le chemin `.cursor/mcp.json`, rechargez
`list_bases` marche, `ask_base` échoueClé absente, mal recopiée ou révoquéeL'en-tête doit être `Bearer kpk_…` avec un seul espace
Base introuvableSlug erroné, ou base privée interrogée avec une autre cléCopiez le slug depuis la page de la base
Appel refusé sans frais`maxPriceCents` inférieur au prix de la baseRelevez le plafond ou choisissez une autre base
L'agent répond sans appeler l'outilPrompt trop vagueNommez l'outil et la base, ou restreignez le serveur à une base
Erreur de limiteQuota atteint20 questions par minute et 1 000 par jour par utilisateur, 120 requêtes par minute par IP

Si vous scriptez vos appels, sachez que les lots JSON-RPC sont limités à 10 requêtes. Tout le détail, y compris l'API REST équivalente, se trouve dans la documentation développeurs.

Sécurité et coûts avant de déployer en équipe

Le texte récupéré est une donnée, pas une consigne. Kopik encadre le contenu des bases par des balises kopik-untrusted pour que le client le distingue de votre prompt, ce qui limite l'injection d'instructions cachées dans un document. Gardez l'approbation des appels activée dans les sessions où l'agent peut aussi modifier des fichiers ou lancer des commandes.

Côté budget, les appels par API et MCP sont toujours facturés au prix de la base, sur des crédits prépayés ; les questions offertes sur le site ne s'appliquent pas ici. Vos propres bases restent gratuites dans la limite d'un usage raisonnable.

Branchez Cursor sur vos bases

La page développeurs réunit l'URL du serveur MCP, chaque outil et ses arguments, l'API REST et la configuration pour Cursor, Claude Code et les autres clients.

Questions fréquentes

Où Cursor cherche-t-il la configuration MCP ?

Dans le fichier .cursor/mcp.json à la racine du projet, et dans un mcp.json global placé dans le dossier .cursor de votre répertoire personnel. Le premier sert aux configurations de projet, le second rend le serveur disponible partout.

Faut-il installer quelque chose en local ?

Non. Un serveur distant en Streamable HTTP ne demande qu'une URL et, le cas échéant, un en-tête. Le serveur de Kopik, https://kopik.io/api/mcp, est sans état et tourne entièrement côté hébergé.

Cursor peut-il chercher dans ma documentation privée ?

Oui. Déposez vos documents en base privée et utilisez votre clé API. Vous pouvez restreindre le serveur à cette base avec ?base=slug-de-votre-base. Les questions à vos propres bases sont gratuites dans la limite d'un usage raisonnable.

Quelle différence entre ask_base et search_base ?

ask_base renvoie une réponse rédigée avec des passages sources numérotés. search_base renvoie uniquement les passages, utile quand l'agent raisonne et écrit le code lui-même. Les deux coûtent le même prix.

Comment éviter une dépense imprévue ?

Indiquez maxPriceCents : si la base coûte plus que ce plafond, l'appel est refusé sans frais. Des limites par minute et par jour s'appliquent aussi à chaque utilisateur.

Recevez la newsletter Kopik

Nouvelles bases de connaissances, guides sur le RAG et nouveautés du produit. Un mail toutes les une à deux semaines, désinscription en un clic.

En vous abonnant, vous acceptez de recevoir notre newsletter. Votre adresse n'est jamais partagée.

Cursor MCP : chercher dans sa documentation depuis l'éditeur