Aller au contenu
Bastide Connexion Créer un compte
Appuyez sur / pour chercher

mcp_client.consent.create

Markdownv0.3.0

Consentir à une demande d'autorisation d'un client MCP, ou la refuser. Rend l'adresse où renvoyer le navigateur.

  • APIPOST /v1/account/mcp-consents/{requestId}
  • CLIbastide mcp_client consent create

EX-MCP-220, EX-MCP-235. Accordée, l'autorisation est nommée et le client reçoit un code à usage unique, lié à son défi PKCE, qu'il échange contre un jeton d'agent de trente minutes. Les portées accordées sont au plus celles demandées. Refusée, le client reçoit access_denied. Sous une session de console seulement.

PropriétéValeur
Niveauaccount
Rang minimal—
Rôle transversal—
Portéesorg:admin
Compte de servicene la mène pas : elle est réservée à une personne
RéversibilitéR — réversible : exécution directe, tracée, annulable
Idempotenceune clé d'idempotence est acceptée : le rejeu rend la première réponse
Limites de débit, par jeton600 appels par 60 secondes (general), et 60 appels par 60 secondes (sensitive)

API

POST /v1/account/mcp-consents/{requestId} — succès en 200.

ParamètreOùTypeRequisDescription
requestIdchemintexte, motif ^mcd_[0-9A-HJKMNP-TV-Z]{26}$ouiIdentifiant de demande d'autorisation de client MCP
Idempotency-Keyen-têtetexte, de 8 à 128 caractèresnonClé d'idempotence. Un rejeu portant la même clé retourne le résultat initial sans nouvel effet de bord, et la réponse porte alors « Idempotency-Replayed: true ». Équivaut au champ « idempotencyKey » du corps ; les deux à la fois ne sont acceptés que s'ils sont identiques.
decisioncorpsl'un de grant, denyoui« grant » pour autoriser, « deny » pour refuser.
scopescorpsliste de de 1 à 12 éléments — chaque élément : l'un de project:read, project:write, deploy:write, db:read, db:write, db:destructive, secrets:write, billing:read, billing:write, domain:write, audit:read, org:adminnonLes portées accordées, parmi celles demandées. Absentes : toutes celles demandées.
idempotencyKeycorpstexte, de 8 à 128 caractèresnonClé d'idempotence, obligatoire. Un rejeu portant la même clé rend le résultat initial, sans nouvel effet de bord.

La réponse :

ChampTypeDescription
requestIdtexte, motif ^mcd_[0-9A-HJKMNP-TV-Z]{26}$Identifiant de demande d'autorisation de client MCP
authorizationIdtexte, motif ^mca_[0-9A-HJKMNP-TV-Z]{26}$, ou nul
redirectTotexteL'adresse de retour du client, avec le code ou le refus, state et iss.
undoTokennul

En-têtes de la réponse : RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, RateLimit-Policy, Idempotency-Replayed.

Autres réponses : 400, 401, 403, 404, 409, 429, 500, 503 — communes à toute opération.

Ligne de commande

bastide mcp_client consent create --request-id <valeur> --decision <valeur>

OptionTypeRequiseDéfautDescription
--request-idtexteoui—Identifiant de demande d'autorisation de client MCP
--decisiontexteoui—« grant » pour autoriser, « deny » pour refuser.
--scopeslistenon—Les portées accordées, parmi celles demandées. Absentes : toutes celles demandées.
--idempotency-keytextenon—Clé d'idempotence, obligatoire. Un rejeu portant la même clé rend le résultat initial, sans nouvel effet de bord.

La commande s'exécute sans confirmation.

MCP

Aucun outil : elle touche à l'identité d'une personne ou d'un compte — ses facteurs, ses sessions, ses jetons, ce que l'organisation exige de ses membres : un agent agit sous un jeton de soixante minutes au plus et ne se fabrique aucun accès durable (§ 6.4.3, EX-MCP-080).

Erreurs

CodeSurfaceCause
session_requiseles deuxCe geste ne se fait que sous une session de console, ouverte par un mot de passe : un jeton personnel ne le fait pas.
portee_non_detenueles deuxLe jeton présenté ne porte pas une portée demandée pour le nouveau jeton : il ne peut donner que ce qu'il porte.
idempotency_key_conflictAPIDeux clés d'idempotence différentes ont été présentées, dans le corps et dans l'en-tête.

S'y ajoutent les refus communs à toute opération — entrée invalide, authentification, autorisation, cible introuvable, conflit, limite de débit, indisponibilité — que le catalogue des erreurs décrit.

Exemples

Autoriser un client en lecture seule :

{
  "requestId": "mcd_01JQ8ZK4M70000000000000001",
  "decision": "grant",
  "scopes": [
    "project:read"
  ],
  "idempotencyKey": "consentement-mcp-2026-10-14"
}

Signaler une erreur sur cette page