Référence des ressources
Le serveur acf-mcp expose le corpus ACF® comme ressources MCP — URI canoniques, MIME typés, lectures seules, contenu signé. Chaque ressource est addressable par son URI acf://… et servable dans la langue négociée par le client.
acf-mcp sont la matière brute : whitepaper, fiches, articles régulateurs, glossaire, métadonnées. Les outils READ (par exemple acf.fiche.lookup) sont des accès enrichis à ces mêmes ressources avec contexte et cross-refs.Qu’est-ce qu’une ressource MCP
Dans la spécification Model Context Protocol, une ressource est un contenu identifié par une URI, accompagné d’un MIME type et exposé en lecture seule via les méthodes resources/list et resources/read. Le client négocie le contenu, le serveur le sert. C’est l’équivalent d’un GET HTTP doctrinal — pas de mutation, pas d’effet de bord.
Chaque ressource d’acf-mcp est signée à la source : la version de la doctrine est gelée dans le content_hash exposé par acf://meta, signé Ed25519 et archivée sur acfstandard.com. Un client peut donc citer une ressource dans une réponse utilisateur et prouver hors-ligne, des années plus tard, qu’elle a été lue exactement telle qu’elle l’est aujourd’hui.
Par catégorie
Les ressources ACF® sont organisées en quatre catégories logiques. Cliquez pour la liste exhaustive et un exemple de fetch.
Le corpus fondateur — whitepaper, quatre principes (P1–P4), quatre niveaux d’autonomie (N0–N3), six dimensions de maturité (D1–D6), le rôle DDAO, le manuel et le deck.
Les 17 fiches ACF® canoniques (ACF-00 à ACF-16), bilingues, servies en Markdown avec frontmatter. La colonne vertébrale opérationnelle du standard.
Lecture opérationnelle de l’AI Act, du RGPD, de DORA, de NIS2 et de l’ISO 42001 — chaque guide cartographié vers les principes, dimensions et fiches pertinents.
Index du glossaire, métadonnées de la doctrine (version, hash, URL d’archive, langues) et bundle d’archive permanente.
Par motif d’URI
Toutes les ressources sont adressées par une URI de la forme acf://catégorie/identifiant. La langue est négociée hors-URI via l’en-tête Accept-Language ou la variable ACF_MCP_LOCALE — pas dans l’URI elle-même, pour garder une seule URI canonique par contenu.
acf://whitepaper— le whitepaper fondateur d’ACF® (Markdown)acf://deck— le deck de présentation du standard (Markdown)acf://manual,acf://manual/toc,acf://manual/section/{N}— le manuel pédagogique complet, sa table des matières, et chaque partie individuellement (9 parties)acf://framework/principle/{P1..P4}— les 4 principes fondateurs (JSON structuré)acf://framework/autonomy-level/{N0..N3}— les 4 niveaux d’autonomie (JSON structuré)acf://framework/dimension/{D1..D6}— les 6 dimensions de maturité (JSON structuré)acf://framework/ddao— la définition canonique du rôle DDAOacf://fiche/{ACF-00..ACF-16}— une des 17 fiches méthodologiques (Markdown avec frontmatter)acf://guide/{ai-act|gdpr|dora|nis2|iso-42001}— le guide opérationnel d’un régulateur (Markdown)acf://glossary— l’index canonique des termes ACF®acf://meta— métadonnées de la doctrine — version, hash, URL d’archive, langues
Récupérer une ressource
Un client MCP appelle la méthode resources/read avec l’URI cible. Le serveur renvoie un tableau contents avec le MIME type et le texte. La langue effectivement servie est exposée dans le frontmatter served_locale (pour les Markdown) ou dans l’enveloppe served_locale / is_fallback (pour les JSON), pour qu’un client puisse détecter un fallback vers l’anglais.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "npx",
args: ["-y", "acf-mcp@latest"],
env: { ACF_MCP_LOCALE: "fr" },
});
const client = new Client({ name: "acf-demo", version: "1.0.0" }, {});
await client.connect(transport);
// List every resource
const { resources } = await client.listResources();
// Read one — here ACF-07 (Kill switch)
const { contents } = await client.readResource({
uri: "acf://fiche/ACF-07",
});
console.log(contents[0].mimeType); // "text/markdown"
console.log(contents[0].text); // frontmatter + bodySignature
La signature ne porte pas sur chaque ressource individuelle mais sur le content_hash de la doctrine complète, exposé par acf://meta et embarqué dans le pied-de-page de chaque sortie d’outil. C’est ce hash qui rend opposable l’ensemble du corpus : si une seule fiche change, le hash change, et la doctrine entière reçoit une nouvelle version. Détails cryptographiques et code de vérification : page Signatures.