← Articles

MCP : Comment connecter Claude a vos outils et bases de donnees

Le Model Context Protocol (MCP) permet a Claude de se connecter directement a vos fichiers, bases de donnees et APIs. Voici comment l'implementer concretement.

C’est quoi MCP et pourquoi ca change tout

Vous en avez marre de copier-coller vos fichiers dans Claude ? De lui expliquer manuellement la structure de votre base de donnees ? Le Model Context Protocol (MCP) est la reponse d’Anthropic a ce probleme. C’est un protocole standardise qui permet a Claude de se connecter directement a vos sources de donnees, outils et APIs. Et contrairement a ce qu’on pourrait croire, c’est pas si complique a mettre en place.

Je vais vous montrer comment installer votre premier serveur MCP et comment l’utiliser avec Claude Desktop.

L’architecture MCP en 2 minutes

MCP fonctionne avec trois composants :

  1. Le client MCP : c’est Claude Desktop (ou votre app custom)
  2. Le serveur MCP : un petit programme qui expose vos donnees
  3. La source de donnees : vos fichiers, votre BDD, votre API, etc.

Le serveur MCP agit comme un traducteur. Il comprend les requetes de Claude et les transforme en operations sur vos donnees. Claude ne voit jamais directement vos fichiers ou votre base - il passe toujours par le serveur.

Le truc cool ? Les serveurs MCP sont reutilisables. Une fois qu’un serveur PostgreSQL existe, tout le monde peut l’utiliser. Anthropic maintient deja une collection de serveurs officiels sur GitHub.

Installer votre premier serveur MCP

On va commencer simple : connecter Claude a un dossier de votre ordinateur. J’utilise le serveur filesystem officiel.

Etape 1 : Installer Claude Desktop

Si c’est pas deja fait, telechargez Claude Desktop depuis claude.ai. MCP necessite la version desktop, ca marche pas sur le web.

Etape 2 : Configurer le serveur

Ouvrez le fichier de config MCP. Son emplacement depend de votre OS :

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows : %APPDATA%\Claude\claude_desktop_config.json

Ajoutez cette configuration :

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/votrenom/Documents/projets"
      ]
    }
  }
}

Remplacez le chemin par le dossier que vous voulez exposer a Claude. Attention : Claude aura acces en lecture ET ecriture a ce dossier.

Etape 3 : Redemarrer Claude Desktop

Quittez completement l’app et relancez-la. Si tout est bien configure, vous verrez une petite icone de marteau dans l’interface.

Etape 4 : Tester

Demandez a Claude : “Quels fichiers Python se trouvent dans mon dossier projets ?”

Claude va automatiquement utiliser le serveur MCP pour lister les fichiers. Vous verrez la requete MCP s’executer en temps reel.

Connecter Claude a une base de donnees

Le vrai potentiel de MCP, c’est les bases de donnees. Je vais vous montrer avec PostgreSQL, mais ca marche pareil avec SQLite, MySQL, ou meme MongoDB.

Installation du serveur PostgreSQL

Ajoutez cette config a votre claude_desktop_config.json :

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://user:password@localhost/mabase"
      ]
    }
  }
}

Remplacez la connection string par vos identifiants reels. Le serveur MCP se connectera a votre base en utilisant ces credentials.

Utilisation concrete

Une fois connecte, vous pouvez :

  • “Donne-moi le schema de la table users”
  • “Combien de commandes ont ete passees ce mois-ci ?”
  • “Cree une vue materializee pour les stats journalieres”

Claude execute les requetes SQL directement. Il comprend votre schema, vos relations, vos index. C’est comme avoir un DBA junior qui connait parfaitement votre base.

Securite importante

Je vous conseille de creer un utilisateur PostgreSQL dedie pour MCP avec des permissions limitees :

CREATE USER claude_mcp WITH PASSWORD 'un_mot_de_passe_fort';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO claude_mcp;
GRANT INSERT, UPDATE ON TABLE logs, analytics TO claude_mcp;

Comme ca, meme si Claude fait une betise, il peut pas DROP votre base de prod.

Creer votre propre serveur MCP

Les serveurs officiels couvrent les cas classiques, mais vous avez peut-etre des besoins specifiques. Creer un serveur MCP custom est etonnamment simple.

Voici un exemple minimaliste en TypeScript qui expose une API meteo :

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server(
  {
    name: 'weather-server',
    version: '1.0.0',
  },
  {
    capabilities: {
      tools: {},
    },
  }
);

server.setRequestHandler('tools/list', async () => {
  return {
    tools: [
      {
        name: 'get_weather',
        description: 'Obtenir la meteo actuelle pour une ville',
        inputSchema: {
          type: 'object',
          properties: {
            city: {
              type: 'string',
              description: 'Nom de la ville',
            },
          },
          required: ['city'],
        },
      },
    ],
  };
});

server.setRequestHandler('tools/call', async (request) => {
  if (request.params.name === 'get_weather') {
    const city = request.params.arguments.city;
    // Appel a votre API meteo
    const response = await fetch(
      `https://api.meteo.fr/ville/${city}`
    );
    const data = await response.json();
    
    return {
      content: [
        {
          type: 'text',
          text: JSON.stringify(data, null, 2),
        },
      ],
    };
  }
  throw new Error('Outil inconnu');
});

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

Pour l’utiliser, ajoutez-le a votre config :

{
  "mcpServers": {
    "meteo": {
      "command": "node",
      "args": ["/chemin/vers/votre/serveur.js"]
    }
  }
}

Le SDK MCP gere toute la communication avec Claude. Vous avez juste a definir vos outils et leur logique.

Cas d’usage avances

Maintenant que vous maitrisez les bases, voici des scenarios plus pousses que j’utilise au quotidien :

Code review automatise

Connectez Claude a votre repo Git via le serveur filesystem. Demandez-lui : “Review les changements dans mes 5 derniers commits”. Il lit les diffs, comprend le contexte, et vous donne un vrai feedback.

Documentation vivante

Connectez Claude a votre base de donnees + votre code. Demandez : “Genere la doc API pour l’endpoint /users avec des exemples de requetes basees sur les vraies donnees”. La doc est toujours a jour parce que Claude la genere a partir de la source de verite.

Debugging de prod

Connectez Claude a vos logs (via un serveur custom). “Pourquoi le service payment a crash a 14h37 ?” Claude analyse les logs, correlele avec le code, et vous explique la race condition que vous cherchiez depuis 2h.

Migration de donnees

Connectez Claude a deux bases (ancien et nouveau systeme). “Migre les utilisateurs de l’ancienne table vers le nouveau schema en preservant toutes les relations”. Il genere le script, vous le montre, et l’execute apres validation.

Les pieges a eviter

Apres 3 mois d’utilisation intensive de MCP, voici les erreurs courantes :

Ne pas limiter les permissions : Claude est intelligent mais pas infaillible. Utilisez toujours des users DB avec permissions restreintes.

Exposer des secrets : Ne mettez jamais de credentials directement dans le code du serveur. Utilisez des variables d’environnement.

Oublier les logs : Quand un serveur MCP plante, c’est silencieux. Regardez les logs de Claude Desktop (Menu > View > Developer > Toggle Developer Tools).

Trop de serveurs : Si vous connectez 15 sources de donnees, Claude va galérer a choisir le bon outil. Commencez petit.

Conclusion : MCP est l’avenir de l’interaction IA

MCP transforme Claude d’un chatbot intelligent en un veritable assistant qui comprend votre environnement de travail. Plus besoin de copier-coller, plus besoin d’expliquer le contexte a chaque fois.

Le protocole est encore jeune (lance fin 2024), mais l’ecosysteme grandit vite. Chaque semaine, de nouveaux serveurs apparaissent : Notion, Slack, Jira, GitHub, Figma…

Mon conseil : commencez par le serveur filesystem pour vous familiariser, puis connectez votre base de donnees principale. Vous verrez immediatement la difference.

Le repo officiel avec tous les serveurs : github.com/modelcontextprotocol

Maintenant, arretez de lire et allez configurer votre premier serveur MCP. Vous me remercierez dans une semaine quand vous vous demanderez comment vous faisiez avant.