Configuration des serveurs MCP dans Claude Code et cas d'utilisation pratiques
Un guide complet sur les capacités des serveurs MCP de Claude Code. Apprenez à connecter des outils externes, configurer des serveurs et découvrez des exemples d'intégration concrets.
Qu’est-ce que MCP ?
MCP (Model Context Protocol) est un protocole ouvert permettant de connecter des assistants IA à des outils externes et des sources de données. Claude Code agit comme un client MCP, lui permettant d’interagir avec des bases de données, des API et divers services via des serveurs MCP.
Configuration des serveurs MCP
Les paramètres des serveurs MCP se placent dans .claude/settings.json ou ~/.claude/settings.json :
{
"mcpServers": {
"server-name": {
"command": "executable-command",
"args": ["arg1", "arg2"],
"env": {
"ENV_VAR": "value"
}
}
}
}
Vous pouvez également ajouter des serveurs via la CLI :
claude mcp add server-name -- command arg1 arg2
Exemple 1 : Intégration avec une base de données
Configurez un serveur MCP pour exécuter des requêtes directement contre PostgreSQL :
claude mcp add postgres-server -- npx -y @modelcontextprotocol/server-postgres postgresql://user:pass@localhost:5432/mydb
Une fois configuré, vous pouvez interroger votre base de données depuis une session Claude Code :
> Compte les nouvelles inscriptions d'utilisateurs de la dernière semaine dans la table users
> Affiche la tendance quotidienne sous forme de tableau
Claude Code génère et exécute automatiquement les requêtes SQL, puis formate les résultats pour vous.
Exemple 2 : Intégration avec GitHub
Le serveur MCP GitHub vous permet de gérer les issues et les PR directement depuis Claude Code :
claude mcp add github -- npx -y @modelcontextprotocol/server-github
Configurez le token via les variables d’environnement :
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
}
}
}
}
Voici ce que vous pouvez faire :
> Liste toutes les issues ouvertes du dépôt
> Examine l'Issue #42, crée une branche de correction et implémente la solution
> Une fois la correction terminée, crée une PR
Exemple 3 : Extension du système de fichiers
Un serveur MCP offrant un accès sécurisé à un répertoire spécifique :
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
Exemple 4 : Web scraping
Le serveur MCP Puppeteer permet de récupérer des pages web et d’interagir avec elles :
claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer
> Lis la documentation de l'API sur https://example.com/api/docs
> et crée une bibliothèque cliente pour cette API
Exemple 5 : Intégration avec Slack
Le serveur MCP Slack vous permet de lire les messages des canaux et d’envoyer des notifications :
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx"
}
}
}
}
> Vérifie les derniers messages dans #dev
> Publie la mise à jour de progression d'aujourd'hui dans #daily-report
Gestion des serveurs MCP
Lister les serveurs enregistrés
claude mcp list
Supprimer un serveur
claude mcp remove server-name
Définir la portée
Vous pouvez spécifier la portée de configuration des serveurs MCP :
# Local au projet (par défaut)
claude mcp add --scope project db-server -- command
# Global utilisateur
claude mcp add --scope user db-server -- command
Créer un serveur MCP personnalisé
Vous pouvez également créer des outils spécifiques à votre projet sous forme de serveurs MCP personnalisés :
// my-mcp-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "my-project-tools",
version: "1.0.0",
});
// Définir un outil personnalisé
server.tool(
"deploy-staging",
"Déployer sur l'environnement de staging",
{ branch: z.string().describe("Nom de la branche à déployer") },
async ({ branch }) => {
// Logique de déploiement
return {
content: [{ type: "text", text: `${branch} déployé sur le staging` }],
};
}
);
const transport = new StdioServerTransport();
await server.connect(transport);
Enregistrez-le ainsi :
claude mcp add my-tools -- npx tsx my-mcp-server.ts
Considérations de sécurité
1. Gestion des identifiants
Les tokens et mots de passe dans les configurations de serveurs MCP doivent être gérés via des variables d’environnement ou des fichiers .env. Ne les commitez jamais dans Git.
2. Limiter la portée d’accès
Suivez le principe du moindre privilège : par exemple, utilisez un utilisateur de base de données en lecture seule pour votre serveur MCP de base de données.
3. Utiliser les paramètres locaux
Stockez les configurations contenant des identifiants dans .claude/settings.local.json et ajoutez-le au .gitignore.
Conclusion
Les serveurs MCP vous permettent d’étendre les capacités de Claude Code à l’ensemble de l’écosystème de votre projet. Des requêtes de base de données aux workflows GitHub en passant par les notifications Slack, vous pouvez utiliser Claude Code comme le centre névralgique de votre workflow de développement. Commencez avec les serveurs MCP officiels, puis créez des serveurs personnalisés selon vos besoins.