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.
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.
Claude Code, Cursor, VS Code, MCP Inspector ou curl en direct.
Référence des outilsChaque outil, ses arguments et l’autorisation requise.
AutorisationsChoisissez les outils qu’une clé peut voir.
En bref
| Endpoint | https://api.stickyprompts.com/mcp/ |
| Transport | Streamable HTTP uniquement. Il n’existe ni ancien endpoint /sse, ni serveur stdio. |
| Authentification | Authorization: Bearer STICKY-API-... (la même clé API que pour l’API REST) |
| Capacités | Outils uniquement. Pas de ressources MCP, de modèles de ressources (resource templates) ni de prompts. |
| Nom du serveur | StickyPrompts, 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.
| Situation | Ré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 plus | 401 {"error":"Invalid API key"} |
| Le compte du propriétaire de la clé n’est pas actif | 403 {"error":"user is not verified"} |
| La requête provient d’une région que le service ne dessert pas | 403 {"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êteinitializerenvoie un identifiant de session dans le header de réponseMcp-Session-Id(au formatmcp-session-<uuid>). - Chaque
POSTsuivant doit envoyer ce headerMcp-Session-Id. Un identifiant absent ou mal formé reçoit404 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.
POSTexigeContent-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
-32602avectool '<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 :
| Type | Forme | Utilisée pour |
|---|---|---|
| Erreur d’outil | Un résultat avec isError: true et un simple message, comme conversation not found | De nombreuses recherches de type « introuvable ou accès refusé » |
Erreur JSON-RPC -32603 | Un appel en échec qui porte le message du serveur, comme required argument "prompt" not found | Arguments 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 avec | Renvoie | Interroger avec | Terminé quand |
|---|---|---|---|
generate_video | {"id", "status"} | get_video_generation_status | status vaut done ou error |
start_spreadsheet_processing | {"task_id"} | get_spreadsheet_processing_task | status vaut done ou error |
run_workflow_task | {"execution_id", "status"} | Aucun outil de statut via MCP | Vé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 avecquota exceededsi 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_modelsexclut 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_filesetget_filene renvoient que l’identifiant, le nom et le type. Les résultats de médias comportent unpathvers le fichier stocké. - Pas de ressources ni de prompts MCP. Vos prompts enregistrés sont accessibles via les outils
list_prompts,get_promptetrun_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.