Réponse exemple
GET/v1/mcp/hosted/{workspaceId}Surface de contrôle et de santé du serveur MCP hébergé d'un workspace.Cette route est la surface de contrôle authentifiée côté application du transport MCP public hébergé sur mcp.coffrify.com. Elle est utilisée par le tableau de bord et par le routeur hébergé pour valider un token de workspace avant d'ouvrir un flux MCP. Un GET confirme que le point d'accès est joignable, renvoie les URLs de transport (streamable-http, sse, fallback local), un récapitulatif du catalogue d'outils et l'identité authentifiée. La réponse inclut systématiquement l'en-tête X-Coffrify-MCP-Hosted: control-v1 et autorise le CORS (Access-Control-Allow-Origin: *).
Authentification
Le handler appelle l'authentification sans exiger de scope précis : il suffit d'une clé API valide, aucun scope spécifique n'est requis. Présentez un token via Authorization: Bearer .... Les préfixes acceptés sont cof_live_ / cof_test_ (clés complètes), cof_rk_live_ / cof_rk_test_ (clés restreintes) et cof_mcp_live_ / cof_mcp_test_ (tokens MCP). En plus de la validation de cycle de vie du token, le workspaceId du token doit correspondre au {workspaceId} de l'URL, sinon la requête est rejetée en 403 forbidden. Une session dashboard valide (cookie Supabase) est également acceptée et confère des scopes *.
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| workspaceId | string (path) | Oui | Identifiant du workspace cible, lu depuis le dernier segment de l'URL. Doit correspondre au workspace du token authentifié. |
Réponse
Réponse 200 avec object: "mcp_hosted_endpoint". Champs clés : status (toujours "available" quand le contrôle réussit), workspace_id, transport ("streamable-http"), spec_version ("2024-11-05"). L'objet endpoints expose streamable_http (URL personnalisée du workspace), sse et local_fallback. L'objet catalog donne tools (nombre total d'outils MCP), families (nombre de familles d'outils) et disabled_by_default (toujours 0). Enfin, authenticated_as reflète le préfixe du token (ex. cof_mcp_live_...) et scopes liste les scopes effectivement portés par le token.
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 401 invalid_api_key | Token absent, préfixe non reconnu, ou introuvable. | Présentez un Bearer valide commençant par cof_live_, cof_test_, cof_rk_*, ou cof_mcp_*. |
| 401 revoked_api_key | Le token a été révoqué ou désactivé. | Émettez un nouveau token MCP depuis app.coffrify.com/mcp. |
| 401 expired_api_key | Le token a dépassé sa date d'expiration. | Renouvelez le token expiré. |
| 403 forbidden | Le workspace du token ne correspond pas au {workspaceId} de l'URL. | Utilisez le token émis pour ce workspace précis. |
| 403 ip_not_allowed | L'IP appelante n'est pas dans l'allowlist du token. | Appelez depuis une IP autorisée ou retirez la restriction IP. |
| 429 rate_limited | Le nombre maximal d'usages du token est atteint. | Réessayez plus tard ou émettez un token sans limite d'usages. |
| 500 internal_error | Erreur interne (RPC de validation ou exception non gérée). | Réessayez ; si persistant, contactez le support. |
Voir aussi
- POST /v1/mcp/hosted/{workspaceId} — dialogue JSON-RPC (initialize, tools/list, ping) sur le même point d'accès.
- GET /v1/mcp/tokens — lister les tokens MCP du workspace.
- POST /v1/mcp/tokens — émettre un nouveau token MCP avec scopes ciblés.