Client et hôte MCP

IA / LLM 🔴 Senior

Définition

L'hôte (Claude Code, Cursor, une application maison) crée un client par serveur, gère les permissions, le consentement utilisateur et l'agrégation du contexte. Chaque client parle à exactement un serveur et joint version de protocole et capacités à chaque requête. Principe clé : un serveur ne voit ni la conversation entière ni les autres serveurs. Transports : stdio et Streamable HTTP (POST par message, réponse JSON ou flux SSE).

Analogie

Un standard téléphonique : une ligne dédiée par correspondant, et l'opérateur décide qui entend quoi.

Exemple de code

import { Client } from '@modelcontextprotocol/client';
import { StdioClientTransport } from '@modelcontextprotocol/client/stdio';

const client = new Client({ name: 'mon-hote', version: '1.0.0' });
await client.connect(new StdioClientTransport({ command: 'node', args: ['tickets-server.js'] }));

const { tools } = await client.listTools();            // → à convertir en tools Anthropic
const anthropicTools = tools.map(t => ({
  name: t.name, description: t.description ?? '', input_schema: t.inputSchema,
}));
// Quand le modèle renvoie un tool_use :
const out = await client.callTool({ name: call.name, arguments: call.input });
// → renvoyer out.content dans un tool_result, après consentement si l'outil écrit

Cas d'usage

Construire son propre hôte agentique ; comprendre ce que font Claude Code ou Cursor sous le capot.

Anti-pattern

Laisser un serveur MCP tiers s'exécuter avec tous les droits sans revue : ses descriptions d'outils sont non fiables.
#ia#mcp#agents

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre