Adresse
https://mcp.getleaf.dev/mcp
HTTP streamable, sans état : chaque requête est liée à la personne que son jeton nomme, les droits sont donc lus à chaque appel.
Autorisation
- OAuth 2.1 avec PKCE (S256) et inscription dynamique des clients.
/mcprépond 401 en pointant vers ses métadonnées de ressource protégée (RFC 9728), qui nomment l’émetteurhttps://app.getleaf.dev/v1/auth. - Les clients qui n’inscrivent que des retours
http://localhost(Claude Code, Cursor) sont traités comme des apps natives (RFC 8252), sur n’importe quel port. - Une seule autorisation par personne couvre toutes ses organisations ; un appel trouve son organisation dans ce qu’il nomme (
projet--organisation, un brouillon, ouorg). - Les jetons d’accès sont des JWT pour la ressource
https://mcp.getleaf.dev/mcp. Un nouveau mot de passe révoque toutes les autorisations ; Votre IA en révoque une.
Conventions
- Les outils sont nommés
<nom>_<verbe>; les listes finissent par_list;_patchchange toujours quelque chose ; lire est toujours un outil à part. - Chaque outil porte un titre et
readOnlyHint/destructiveHint. Voir Les outils de Leaf. - Les écritures sont tout ou rien et portent la révision ou le
updatedAtlu : une version dépassée est refusée, jamais écrasée. - Les refus arrivent sous la forme
Refused (code): messageavec une indication. - Les changements faits par un agent portent la personne comme auteur et l’agent comme committer (« Ada via Claude »).