MCP : Connecter Claude Code à Vos Outils

14 janvier 2026 | 15 min de lecture

Qu'est-ce que MCP ?

MCP (Model Context Protocol) permet à Claude d'interagir avec des services externes de maniere securisee. Les serveurs MCP tournent localement - vos donnees ne transitent pas par Anthropic.

Serveurs MCP disponibles

Installation

# Installer le serveur MCP PostgreSQL
npm install -g @anthropic-ai/mcp-server-postgres

# Configurer
claude mcp add postgres \
 --connection-string "postgresql://user:pass@localhost:5432/mydb"

Configuration

# .claude/config.yaml
mcp:
 servers:
 - name: postgres
 command: mcp-server-postgres
 args:
 connection: "postgresql://localhost:5432/mydb"
 - name: github
 command: mcp-server-github
 args:
 token: ${GITHUB_TOKEN}

Utilisation

# Claude interroge la DB via MCP
claude chat "Montre-moi les 10 derniers utilisateurs inscrits"

# Claude crée une issue GitHub
claude chat "Cree une issue pour le bug de login"
Formation Claude Code
Notre écosystème

Plus qu'un organisme de formation,
un mouvement

Ambassadeur gouvernemental, organisateur du 1er hackathon agents IA de France, partenaire des écoles et des institutions.

Ambassadeur Osez l'IA
300 ambassadeurs

Ambassadeur Osez l'IA

Programme gouvernemental

Hacktogone
350+ participants

Hacktogone

1er Hackathon Agents IA de France

Interventions médias

Hacktogone au Vélodrome

BFM Business

Interview BFM Marseille

L'IA et la formation

Certifié Qualiopi
100% finançable CPF/OPCO

Articles connexes

Architecture MCP : JSON-RPC 2.0 sous le capot

Le Model Context Protocol (MCP), publie par Anthropic en fin 2024 et stabilise en 2026, repose sur JSON-RPC 2.0 sur un transport stdio ou HTTP+SSE. Cette specification ouverte permet a n'importe quel LLM compatible (pas seulement Claude) de dialoguer avec des serveurs d'outils tiers. En 2026, MCP est implemente par Claude Code, Cursor, Continue, Zed, et plusieurs IDE JetBrains.

Les trois primitives fondamentales :

Chaque echange suit le format JSON-RPC : {"jsonrpc":"2.0","method":"tools/call","params":{...},"id":1}. Le serveur repond avec {"jsonrpc":"2.0","result":{...},"id":1} ou une erreur structuree.

Exemple : serveur MCP custom en Python

#!/usr/bin/env python3
"""Serveur MCP minimal exposant un outil 'search_docs'."""
import asyncio
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp.types import Tool, TextContent

server = Server("docs-search")

@server.list_tools()
async def list_tools() -> list[Tool]:
    return [
        Tool(
            name="search_docs",
            description="Cherche dans la documentation interne",
            inputSchema={
                "type": "object",
                "properties": {
                    "query": {"type": "string"}
                },
                "required": ["query"]
            }
        )
    ]

@server.call_tool()
async def call_tool(name: str, arguments: dict) -> list[TextContent]:
    if name == "search_docs":
        query = arguments["query"]
        # TODO: brancher sur un index Qdrant / Elastic / SQLite FTS
        results = f"Resultats simulés pour: {query}"
        return [TextContent(type="text", text=results)]
    raise ValueError(f"Outil inconnu: {name}")

async def main():
    async with stdio_server() as (read, write):
        await server.run(read, write, server.create_initialization_options())

if __name__ == "__main__":
    asyncio.run(main())

Exemple : serveur MCP custom en TypeScript

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";

const server = new Server(
  { name: "docs-search", version: "1.0.0" },
  { capabilities: { tools: {} } }
);

server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: "search_docs",
    description: "Cherche dans la documentation interne",
    inputSchema: {
      type: "object",
      properties: { query: { type: "string" } },
      required: ["query"]
    }
  }]
}));

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "search_docs") {
    const { query } = request.params.arguments as { query: string };
    return { content: [{ type: "text", text: `Resultats pour: ${query}` }] };
  }
  throw new Error("Outil inconnu");
});

const transport = new StdioServerTransport();
await server.connect(transport);

Securite et sandboxing MCP

Un serveur MCP tourne en processus local avec les droits de l'utilisateur qui le lance. Regles de securite a appliquer systematiquement :

Debugger avec MCP Inspector

MCP Inspector est l'outil officiel fourni par Anthropic pour tester un serveur MCP en isolation avant de le brancher a Claude Code. Il offre une interface web locale pour :

# Lancement de MCP Inspector sur un serveur local
npx @modelcontextprotocol/inspector node dist/mon-serveur.js

# Ou pour un serveur Python
npx @modelcontextprotocol/inspector python mon-serveur.py

# Puis ouvrir http://localhost:5173

FAQ MCP Claude Code

MCP est-il specifique a Claude ou universel ?

Universel. MCP est une specification ouverte publiee par Anthropic mais adoptee par de nombreux outils (Cursor, Continue, Zed). N'importe quel LLM compatible (Claude Sonnet 4.6, Opus 4.7, Haiku 4.5 ou tout modele externe) peut consommer un serveur MCP.

Mes donnees transitent-elles par Anthropic avec MCP ?

Les serveurs MCP tournent en local ou sur votre infra. Les donnees echangees avec le LLM sont envoyees a Anthropic uniquement via les appels API classiques de Claude — ce qui est le cas de toute utilisation d'un LLM. MCP ne cree pas de flux reseau supplementaire vers Anthropic.

Combien de serveurs MCP peut-on lancer simultanement ?

En pratique, 10 a 20 serveurs chargés en parallele sans impact perceptible sur une machine moderne. Chaque serveur consomme peu de memoire au repos. Au-dela, surveiller la RAM et envisager un loader lazy.

Quels serveurs MCP sont prets a l'emploi en 2026 ?

Plus de 200 serveurs maintenus : PostgreSQL, MySQL, SQLite, GitHub, GitLab, Slack, Linear, Notion, Google Workspace, Filesystem, Puppeteer, Brave Search, Sentry, Stripe, AWS, etc. Le repo officiel modelcontextprotocol/servers liste l'ecosysteme.

Faut-il un backend pour creer un serveur MCP ?

Non. Un serveur MCP peut etre un simple script Python ou Node.js en stdio, sans port reseau. Pour des usages multi-utilisateurs ou distants, une variante HTTP+SSE est possible mais rarement necessaire.

Comment partager un serveur MCP avec une equipe ?

Publier sur un repo Git interne + un fichier .mcp.json versionne a la racine du projet decrivant les serveurs requis. Claude Code lit automatiquement .mcp.json au demarrage et propose l'installation.