# Le serveur MCP de Permis théorique moto

Connecte un assistant d’IA compatible aux fiches publiques de Permis théorique moto : outils search et fetch, versions du protocole, en-têtes et exemple complet.

Page : https://permis-theorique-moto.be/donnees/mcp/

Corpus : 32 fiches publiques, avec leurs liens, leurs sources et leurs dates lorsqu’elles sont documentées.

## Utilisation

Accès public, lecture seule, sans clé. Aucune donnée de compte, de progression d’élève ou d’information privée. Citer le lien de la fiche et conserver ses sources et la portée de sa vérification. Les règles officielles (avec leur source) se distinguent des leçons, de la méthode et des offres de Permis théorique moto.

## MCP

URL : https://permis-theorique-moto.be/mcp

Transport Streamable HTTP, réponses JSON, protocoles 2026-07-28 et 2025-11-25 (ainsi que 2025-06-18 et 2025-03-26), sans authentification ni session. Aucun flux SSE n’est nécessaire.

Outils :
- search : {query: "limitation de vitesse"}, renvoie {results: [{id, title, url}]} dans content et structuredContent (20 résultats au plus).
- fetch : {id: "identifiant renvoyé par search"}, renvoie {id, title, text, url, metadata}. Les métadonnées donnent la nature de la fiche, ses sources, ses dates (verified_at pour une vérification, modified_at pour une modification de publication) et, pour une leçon, son chapitre, son image et sa vidéo.

En 2026-07-28 : server/discover, puis tools/list et tools/call. En 2025 : initialize puis notifications/initialized, puis tools/list et tools/call.

## En-têtes

Envoyer Content-Type: application/json et Accept: application/json, text/event-stream. Après initialize, transmettre MCP-Protocol-Version avec la version négociée. En 2026-07-28, chaque requête porte sa version dans _meta et dans les en-têtes MCP-Protocol-Version, Mcp-Method et, pour un outil, Mcp-Name. Un navigateur externe doit passer par l’API REST : la route MCP contrôle les origines. Contrôler les erreurs JSON-RPC et isError même sur une réponse HTTP 200.

## Exemples

### Rechercher puis lire une fiche avec le SDK MCP

Avec Node.js 20 ou ultérieur, installe npm install @modelcontextprotocol/sdk@1.30.0, puis enregistre ce code dans un fichier .mjs. Le SDK gère l’initialisation et les en-têtes du protocole. La lecture utilise l’identifiant réellement renvoyé par la recherche. Conserve le champ url comme citation visible dans ton interface.

```javascript
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const client = new Client({ name: 'exemple-site', version: '1.0.0' }, { capabilities: {} });
const transport = new StreamableHTTPClientTransport(new URL('https://permis-theorique-moto.be/mcp'));

function readTool(result) {
  if (result.isError) throw new Error('L’outil MCP n’a pas pu traiter la demande.');
  if (result.structuredContent) return result.structuredContent;
  const content = result.content?.find(item => item.type === 'text');
  if (!content) throw new Error('Réponse MCP sans contenu.');
  return JSON.parse(content.text);
}

try {
  await client.connect(transport);
  const available = await client.listTools();
  if (!['search', 'fetch'].every(name => available.tools.some(tool => tool.name === name))) {
    throw new Error('Les outils attendus ne sont pas disponibles.');
  }
  const search = readTool(await client.callTool({
    name: 'search', arguments: { query: 'examen' }
  }));
  if (!search.results.length) {
    console.log('Aucune fiche trouvée.');
  } else {
    const record = readTool(await client.callTool({
      name: 'fetch', arguments: { id: search.results[0].id }
    }));
    console.log(JSON.stringify(record, null, 2));
  }
} finally {
  await client.close();
}
```

## Retrouver la version actuelle d’une information

L’API et le serveur MCP donnent accès aux publications publiques de Permis théorique moto. Les fiches suivent les mises à jour du site, avec un lien vers la page d’origine et les références associées.

Avant de répondre ou de mettre à jour ton outil, relis les fiches utiles : tu retrouves leur version en ligne, leurs sources et leurs dates. Une règle officielle peut changer : sa date de vérification dit quand elle a été relue sur le texte.

## Réutiliser en citant la source

Les contenus publics de Permis théorique moto peuvent être consultés, cités et résumés pour documenter une réponse ou construire un outil, y compris commercial, avec une attribution visible et un lien vers la page utilisée : « Source : Permis théorique moto ».

Conserve les références et les réserves qui accompagnent l’information. Indique les adaptations apportées et distingue les règles officielles des explications, de la méthode et des offres de Permis théorique moto.

Les documents et visuels de tiers restent soumis à leurs propres conditions. Pour republier intégralement un cours ou un article, demande une autorisation à contact@permis.online. L’accès aux données ne vaut ni partenariat ni approbation de ton service par Permis théorique moto ou par Permis Online SRL.

## Fichiers et pages de référence

- [llms.txt](https://permis-theorique-moto.be/llms.txt) : le sommaire du site pour les assistants d’IA
- [llms-full.txt](https://permis-theorique-moto.be/llms-full.txt) : le texte intégral des contenus publics
- [Informations de référence](https://permis-theorique-moto.be/brand-facts/) : qui édite le site, ce qu’il propose, les règles officielles sourcées et datées
- [brand-facts.md](https://permis-theorique-moto.be/brand-facts.md) : les informations de référence en Markdown
- [brand-facts.json](https://permis-theorique-moto.be/.well-known/brand-facts.json) : les informations de référence en JSON
- [schema.json](https://permis-theorique-moto.be/.well-known/schema.json) : toutes les données structurées du site en un seul graphe
- [ai.json](https://permis-theorique-moto.be/.well-known/ai.json) : l’éditeur, le domaine officiel et les ressources pour les IA
- [offers.json](https://permis-theorique-moto.be/.well-known/offers.json) : les offres réellement proposées en Belgique
- [Sources et références](https://permis-theorique-moto.be/sources/) : les textes officiels et toutes les sources citées
- [sources.txt](https://permis-theorique-moto.be/sources.txt) : le registre des sources en texte
- [Plan du site](https://permis-theorique-moto.be/sitemap.xml) : toutes les pages publiques, leurs images et l’architecture du site (XML pour les robots, page lisible dans un navigateur)
- [Jumeaux Markdown](https://permis-theorique-moto.be/index.md) : chaque page publique en texte : son adresse suivie de .md (l’accueil : /index.md)
