Advanced

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.

#Claude Code #MCP #MCP server #integrations #extensions