Qu'est-ce que le Model Context Protocol (MCP) ?
Le Model Context Protocol (MCP) est un protocole open-source créé par Anthropic en novembre 2024 pour standardiser la façon dont les LLMs (Large Language Models) se connectent à des outils, bases de données, et sources de données externes.
Avant MCP, chaque intégration LLM ↔ outil était spécifique : les "function calls" d'OpenAI, les "tool use" d'Anthropic, les plugins ChatGPT avaient des formats incompatibles. MCP standardise tout ça avec un protocole unique.
Architecture MCP
┌─────────────────┐ MCP Protocol ┌──────────────────┐
│ LLM Host │◄──────────────────────►│ MCP Server │
│ (Claude, etc.) │ │ (OneMCP, etc.) │
└─────────────────┘ └──────────────────┘
│
┌────────┴────────┐
▼ ▼
Source 1 Source 2
(INSEE) (BODACC)
MCP Host : l'environnement LLM (Claude Desktop, Cursor, Cline, VS Code Copilot).
MCP Server : le serveur qui expose des outils. OneMCP est un serveur MCP.
Transport : soit stdio (process local), soit HTTP/SSE (réseau).
Les 3 primitives MCP
1. Tools (Outils)
Les outils sont des fonctions que le LLM peut appeler. Exemple OneMCP :
{
"name": "company_get",
"description": "Obtenir les informations d'une entreprise française par SIREN ou SIRET",
"inputSchema": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "SIREN (9 chiffres) ou SIRET (14 chiffres)"
}
},
"required": ["identifier"]
}
}
2. Resources (Ressources)
Les ressources exposent des données statiques ou dynamiques lisibles par le LLM — comme des fichiers de configuration, des templates, ou des données de référence.
3. Prompts (Invites)
Les prompts permettent au serveur MCP de proposer des templates de conversation pré-configurés pour des cas d'usage spécifiques.
Comment fonctionne un appel MCP
- LLM reçoit une question : "Quel est le statut de l'entreprise BNP Paribas ?"
- LLM décide d'utiliser un outil : il sélectionne
company_searchavecquery: "BNP Paribas" - Message envoyé au serveur MCP via le protocole (JSON-RPC 2.0)
- Le serveur exécute l'outil : appelle INSEE Sirene + BODACC
- Retourne le résultat : données structurées JSON
- LLM formule la réponse en langage naturel
Transport stdio vs HTTP/SSE
stdio : le serveur MCP tourne comme un sous-processus local, communique via stdin/stdout. Idéal pour les usages desktop (Claude Desktop, Cursor, Cline).
HTTP/SSE (Server-Sent Events) : le serveur tourne sur un serveur distant, le client se connecte via HTTP. Idéal pour les usages cloud et multi-utilisateurs.
OneMCP supporte les deux :
onemcpvia stdio (local)https://api.onemcp.fr/mcpvia SSE (hébergé)
Pourquoi MCP plutôt que les function calls classiques ?
| Critère | Function calls | MCP |
|---|---|---|
| Portabilité | Spécifique au LLM | Universel |
| Découverte des outils | Hardcodé | Dynamique (list_tools) |
| Serveurs partagés | Non | Oui |
| Transport | Intégré | stdio ou HTTP |
| Stateful | Non | Possible |
La différence clé : un serveur MCP peut être utilisé par Claude, Cursor, Cline, Copilot, et n'importe quel client MCP — sans adaptation. OneMCP est développé une fois, compatible partout.
Clients MCP supportant OneMCP
| Client | Support MCP | Configuration |
|---|---|---|
| Claude Desktop | Natif | claude_desktop_config.json |
| Cursor | Depuis 0.43 | Settings → MCP |
| Cline (VS Code) | Natif | mcp_settings.json |
| Windsurf | Natif | mcp_settings.json |
| GitHub Copilot | VS Code | .vscode/mcp.json |
| Continue.dev | Natif | .continue/config.json |
Créer son propre serveur MCP
Pour les développeurs qui veulent exposer leurs propres données en MCP :
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({ name: "mon-serveur", version: "1.0.0" });
server.tool(
"mon_outil",
"Description de l'outil",
{ param: z.string() },
async ({ param }) => ({
content: [{ type: "text", text: `Résultat pour ${param}` }]
})
);
MCP et OneMCP
OneMCP implémente le protocole MCP pour exposer 41 outils couvrant 15 sources officielles françaises et européennes. C'est un exemple concret de ce que MCP permet : agréger plusieurs APIs hétérogènes (REST, SOAP, fichiers) derrière une interface unifiée que n'importe quel LLM peut utiliser.
Conclusion
MCP est en train de devenir le standard de l'industrie pour connecter LLMs et données externes — comme REST l'est pour les APIs web. OneMCP l'implémente pour les données officielles françaises. Si vous construisez un agent IA qui a besoin de données d'entreprises, d'immobilier, juridiques ou d'emploi en France, MCP + OneMCP est l'architecture recommandée.