Cette page est destinée aux personnes qui construisent un client MCP ou déboguent une connexion. Si vous souhaitez uniquement connecter Claude ou ChatGPT, consultez Connectez une application AI.
TradeCatalog suit la spécification d'autorisation MCP : OAuth 2.1 avec PKCE, métadonnées des ressources protégées (RFC 9728) et métadonnées du serveur d'autorisation (RFC 8414).
Points de terminaisonLien vers cette section#
| Quel | URL |
|---|---|
| Serveur MCP (ressource protégée) | https://tradecatalog.app/mcp |
| Métadonnées de la ressource protégée | https://tradecatalog.app/.well-known/oauth-protected-resource/mcp |
| Métadonnées du serveur d'autorisation | https://tradecatalog.app/.well-known/oauth-authorization-server |
| Point de terminaison d'autorisation | https://tradecatalog.app/oauth/authorize |
| Point de terminaison de jeton | https://tradecatalog.app/oauth/token |
| Enregistrement dynamique du client | https://tradecatalog.app/oauth/register |
| Applications connectées (pour les personnes) | https://tradecatalog.app/oauth/connections |
Les métadonnées de la ressource protégée se trouvent à l'adresse spécifique au chemin pour /mcp, comme décrit dans le RFC 9728 pour une ressource avec un chemin. Il n'y a délibérément rien à /.well-known/oauth-protected-resource seul.
La connexion /mcp/account facultative ajoute un transfert sécurisé exclusif à l'administrateur pour les hôtes d'agents qui autorisent la facturation par abonnement logiciel. Il s'agit d'une ressource protégée /mcp : utilisez les métadonnées ci-dessus et resource=https://tradecatalog.app/mcp lors de l'autorisation ou de la demande de jetons. L'inscription, la consentement OAuth et l'accès aux espaces de travail utilisent le même compte. Les plugins ChatGPT se connectent à /mcp ; voir inscription et facturation.
PortéeLien vers cette section#
Demandez tradecatalog:read pour les recherches. Demandez tradecatalog:read tradecatalog:write pour préparer également des modifications. La page de consentement décrit l'accès demandé. Les autorisations en lecture seule existantes ne gagnent jamais automatiquement un accès en écriture. Les rôles et les restrictions de facturation sont réexaminés lors de la proposition et de l'approbation des actions. Les écritures conséquentes nécessitent une confirmation unique dans la carte de discussion, ou la page de revue connectée pour les clients sans cartes ; voir Outils.
Flux de découverteLien vers cette section#
- Le client appelle
https://tradecatalog.app/mcpsans jeton. - Le serveur répond avec
401 Unauthorizedavec un en-têteWWW-Authenticate: Bearerpointant vers les métadonnées de la ressource protégée. - Le client lit les métadonnées de la ressource protégée pour trouver le serveur d'autorisation,
https://tradecatalog.app. - Le client lit les métadonnées du serveur d'autorisation pour les points de terminaison ci-dessus.
curl https://tradecatalog.app/.well-known/oauth-protected-resource/mcp
{
"resource": "https://tradecatalog.app/mcp",
"authorization_servers": ["https://tradecatalog.app"],
"scopes_supported": ["tradecatalog:read", "tradecatalog:write"],
"bearer_methods_supported": ["header"],
"resource_name": "TradeCatalog MCP server"
}
Enregistrement d'un clientLien vers cette section#
Utilisez l'une des deux options :
- Documents de métadonnées d'identifiant client (recommandé) : utilisez une URL
httpsque vous contrôlez comme votreclient_id, fournissant les métadonnées de votre client. Les personnes approuvant la connexion voient l'hôte de cette URL comme l'éditeur. - Enregistrement dynamique du client (RFC 7591) à
/oauth/register.
Tout le monde peut enregistrer un client sous n'importe quel nom, donc la page d'approbation montre aux personnes où l'approbation est envoyée (l'hôte de redirection) et, pour les identifiants de client URL, l'éditeur. Le nom seul est marqué comme non vérifié.
AutorisationLien vers cette section#
Utilisez le flux de code d'autorisation avec PKCE (S256) :
- Envoyez le navigateur de la personne à
/oauth/authorizeavecresponse_type=code,client_id,redirect_uri,code_challenge,code_challenge_method=S256,stateetscope=tradecatalog:read. - Si elle n'est pas connectée, TradeCatalog lui demande de s'inscrire avec un code envoyé par courriel (ou Google ou Microsoft, si activé), puis la redirige.
- Elle voit quelle application demande, le compte avec lequel elle est connectée et ce qu'elle peut faire, puis choisit Autoriser ou Refuser.
- Autoriser redirige vers votre
redirect_uriaveccodeetstate. Refuser redirige avecerror=access_denied. - Échangez le code à
/oauth/tokenavec votrecode_verifier. Vous obtenez un jeton d'accès et un jeton de rafraîchissement.
Envoyez le jeton d'accès sur chaque demande MCP :
POST /mcp HTTP/1.1
Host: tradecatalog.app
Authorization: Bearer <access token>
Content-Type: application/json
Accept: application/json, text/event-stream
Les jetons d'accès sont à courte durée. Utilisez le jeton de rafraîchissement à /oauth/token pour en obtenir un nouveau.
Qui peut approuverLien vers cette section#
- Tout utilisateur connecté à TradeCatalog : personnel fournisseur ou acheteurs.
- Pas les visiteurs de démonstration (sessions invitées). Ils sont redirigés vers une connexion correcte.
- Il n’existe aucun moyen de créer un compte via ce flux, et pas d'accès uniquement machine (informations d'identification du client). Pour un accès serveur à serveur, utilisez l'API REST avec une clé API.
Le droit porte uniquement sur l'identité de la personne. Chaque appel d'outil vérifie à nouveau ce qu'elle peut voir, donc si elle perd l'accès à un espace de travail, l'application IA y perd aussi.
TransportsLien vers cette section#
Le serveur est HTTP streamable sans état. Il n'émet pas d'identifiants de session ; chaque demande est indépendante, et il répond avec du JSON plutôt qu'un flux d'événements.
RévocationLien vers cette section#
Les personnes voient et déconnectent les applications approuvées à /oauth/connections. La déconnexion révoque immédiatement le droit et ses jetons.
Publications supplémentairesLien vers cette section#
/auth.md: un résumé court de cette page pour les agents./.well-known/mcp/server-card.json: la carte du serveur MCP avec la liste des outils.