Vue d'ensemble de MCP

Le serveur MCP de StickyPrompts fournit aux clients IA comme Claude Code, Cursor et VS Code un ensemble d'outils pour vos prompts, agents, bases de connaissances, intégrations et médias, avec une clé API ordinaire pour l'authentification.

6 min de lecture · Mis à jour le 28 septembre 2026

Le Model Context Protocol (MCP) est un standard ouvert qui permet à un client IA d’appeler des outils sur un serveur distant. Le serveur MCP de StickyPrompts expose votre espace de travail sous forme d’outils : rechercher dans une base de connaissances, exécuter un prompt enregistré, trouver un contact CRM, interroger une base de données connectée, envoyer un e-mail, générer une image. Connectez-le une fois, et votre assistant peut accomplir un vrai travail avec les mêmes modèles, les mêmes données et les mêmes règles que votre équipe dans l’application.

En bref

Endpointhttps://api.stickyprompts.com/mcp/
TransportStreamable HTTP uniquement. Il n’existe ni ancien endpoint /sse, ni serveur stdio.
AuthentificationAuthorization: Bearer STICKY-API-... (la même clé API que pour l’API REST)
CapacitésOutils uniquement. Pas de ressources MCP, de modèles de ressources (resource templates) ni de prompts.
Nom du serveurStickyPrompts, version 1.0.0 (indiqués dans initialize)

Conservez la barre oblique finale

L’endpoint est /mcp/, avec une barre oblique finale. Une requête vers /mcp est redirigée vers /mcp/ (301 pour GET, 307 pour POST et DELETE). La plupart des clients suivent la redirection, mais configurez directement https://api.stickyprompts.com/mcp/ : vous évitez un aller-retour et restez compatible avec les clients qui ne suivent pas les redirections.

Authentification

Envoyez votre clé API dans le header Authorization, exactement comme pour REST. Vous créez les clés dans Settings > API keys ; voir Clés API et authentification.

SituationRéponse HTTP
Pas de header Authorization, ou un token qui n’a pas la forme Bearer STICKY-API-...401 {"error":"unauthorized"}
Clé inconnue, secret incorrect, ou propriétaire de la clé qui n’existe plus401 {"error":"Invalid API key"}
Le compte du propriétaire de la clé n’est pas actif403 {"error":"user is not verified"}
La requête provient d’une région que le service ne dessert pas403 {"error":"access from your region is not supported"}

Aucune autorisation particulière n’est nécessaire pour se connecter. Toute clé valide liée à un compte actif peut ouvrir une session ; ce qu’elle peut faire ensuite se décide outil par outil.

La clé agit en tant que l’utilisateur qui l’a créée : même espace de travail, mêmes projets, mêmes ressources partagées, dans la limite de ses autorisations. Tout ce que vous créez via MCP (conversations, projets, fichiers générés) vous appartient et apparaît dans l’application.

Sessions

Le serveur utilise des sessions Streamable HTTP standard. Les clients MCP gèrent tout cela automatiquement ; ces détails ne comptent que si vous parlez le protocole à la main.

  • Un POST /mcp/ contenant une requête initialize renvoie un identifiant de session dans le header de réponse Mcp-Session-Id (au format mcp-session-<uuid>).
  • Chaque POST suivant doit envoyer ce header Mcp-Session-Id. Un identifiant absent ou mal formé reçoit 404 Invalid session ID.
  • Les sessions sont sans état côté serveur : seul le format de l’identifiant est vérifié. Elles survivent aux redémarrages du serveur, si bien que vous n’avez pas à vous reconnecter après un déploiement.
  • POST exige Content-Type: application/json. Dans la pratique, les réponses sont en JSON, car aucun outil n’envoie de notifications de progression.
  • GET /mcp/ ouvre un flux de notifications facultatif, qui reste la plupart du temps inactif. DELETE /mcp/ est accepté et ne fait rien.

Les autorisations déterminent les outils visibles

Chaque outil exige exactement une autorisation. Le serveur filtre tools/list comme tools/call selon les autorisations de la clé :

  • Une clé ne voit que les outils pour lesquels elle possède l’autorisation. Une clé dépourvue de toute autorisation utile à MCP se connecte sans problème et voit une liste d’outils vide.
  • L’appel d’un outil que la clé ne peut pas utiliser renvoie l’erreur JSON-RPC -32602 avec tool '<name>' not found, exactement comme l’appel d’un outil qui n’existe pas.

Si votre client signale qu’un outil StickyPrompts manque, vérifiez donc d’abord les autorisations de la clé. Dans la référence des autorisations, celles qui portent le badge MCP sont celles qui débloquent des outils, et chaque entrée de la référence des outils indique son autorisation.

Le moindre privilège compte ici plus que d’habitude : un client IA utilisera tous les outils qu’il voit. Ne donnez à la clé d’un assistant que les outils que vous êtes prêt à le voir appeler, et laissez de côté les outils d’écriture comme send_email ou run_database_query tant que vous n’en avez pas besoin.

Résultats et erreurs

Chaque outil renvoie un seul élément de contenu texte, dont le texte est un document JSON. Analysez ce texte comme du JSON. Il n’y a ni structuredContent ni schéma de sortie ; la forme de chaque résultat est documentée dans la référence des outils.

{
  "content": [
    { "type": "text", "text": "{\"conversation_id\": 5120, \"text\": \"Here are three options ...\"}" }
  ]
}

Les erreurs reviennent de deux manières :

TypeFormeUtilisée pour
Erreur d’outilUn résultat avec isError: true et un simple message, comme conversation not foundDe nombreuses recherches de type « introuvable ou accès refusé »
Erreur JSON-RPC -32603Un appel en échec qui porte le message du serveur, comme required argument "prompt" not foundArguments obligatoires manquants, la plupart des échecs de validation, défaillances des fournisseurs et des intégrations

Les schémas d’entrée sont annoncés à votre client mais ne sont pas validés par le serveur : un argument du mauvais type se traduit donc par l’une des erreurs ci-dessus plutôt que par une erreur de schéma.

Outils à exécution longue

La plupart des outils sont synchrones : ils répondent une fois le travail terminé. Quelques-uns répondent immédiatement et doivent ensuite être interrogés.

Démarrer avecRenvoieInterroger avecTerminé quand
generate_video{"id", "status"}get_video_generation_statusstatus vaut done ou error
start_spreadsheet_processing{"task_id"}get_spreadsheet_processing_taskstatus vaut done ou error
run_workflow_task{"execution_id", "status"}Aucun outil de statut via MCPVérifiez ensuite total_run_count et success_rate avec get_workflow_task

Une vidéo peut prendre plusieurs minutes ; la description de l’outil demande elle-même au modèle d’attendre 15 à 60 secondes entre deux interrogations. generate_speech, generate_music et transcribe sont synchrones : ils bloquent jusqu’à ce que l’audio ou la transcription soit prêt. Prévoyez dans votre client un délai d’expiration généreux pour ces outils, ainsi que pour send_message avec un modèle lent.

Crédits et règles d’accès

  • Les outils qui effectuent un vrai travail (send_message, run_prompt, custom_run, les outils de médias, search_knowledge_base, le traitement de feuilles de calcul et les exécutions de workflows) sont décomptés sur le compte du propriétaire de la clé, comme les mêmes actions dans l’application.
  • Un workflow lancé avec run_workflow_task échoue avec quota exceeded si le propriétaire a épuisé son quota.
  • Les règles d’accès aux modèles et les filtres de résidence des données s’appliquent au moment où le modèle est résolu. Un modèle que votre espace de travail n’autorise pas fait échouer l’appel. list_ai_models exclut déjà les modèles que vous ne pouvez pas utiliser.

Choisir un modèle

run_prompt, custom_run et start_spreadsheet_processing exigent un ai_model_id obtenu avec list_ai_models. Il n’existe pas de valeur "auto". send_message accepte un ai_model_id facultatif, mais transmettez-le toujours lorsque vous démarrez une nouvelle conversation : sans lui, l’appel échoue actuellement avec no AI model is selected, try reselecting model. Les outils de médias ne prennent aucun argument de modèle.

Ce que le serveur MCP ne fait pas

  • Pas de téléversement de fichiers. Importez des fichiers depuis Google Drive avec import_storage_files, ou téléversez-les via l’API REST.
  • Pas de liens de téléchargement pour n’importe quel fichier. list_files et get_file ne renvoient que l’identifiant, le nom et le type. Les résultats de médias comportent un path vers le fichier stocké.
  • Pas de ressources ni de prompts MCP. Vos prompts enregistrés sont accessibles via les outils list_prompts, get_prompt et run_prompt.
  • Pas d’OAuth. Les clients qui ne savent ajouter des serveurs distants que par une connexion OAuth ne peuvent pas se connecter avec une clé API.