C’est quoi MCP et pourquoi ça change tout
Vous en avez marre de copier-coller vos fichiers dans Claude ? De lui expliquer manuellement la structure de votre base de données ? Le Model Context Protocol (MCP) est la réponse d’Anthropic à ce problème. C’est un protocole standardisé qui permet à Claude de se connecter directement à vos sources de données, outils et APIs. Et contrairement à ce qu’on pourrait croire, c’est pas si compliqué à 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 :
- Le client MCP : c’est Claude Desktop (ou votre app custom)
- Le serveur MCP : un petit programme qui expose vos données
- La source de données : vos fichiers, votre BDD, votre API, etc.
Le serveur MCP agit comme un traducteur. Il comprend les requêtes de Claude et les transforme en opérations sur vos données. Claude ne voit jamais directement vos fichiers ou votre base - il passe toujours par le serveur.
Le truc cool ? Les serveurs MCP sont réutilisables. Une fois qu’un serveur PostgreSQL existe, tout le monde peut l’utiliser. Anthropic maintient déjà une collection de serveurs officiels sur GitHub.
Installer votre premier serveur MCP
On va commencer simple : connecter Claude à un dossier de votre ordinateur. J’utilise le serveur filesystem officiel.
Étape 1 : Installer Claude Desktop
Si c’est pas déjà fait, téléchargez Claude Desktop depuis claude.ai. MCP nécessite la version desktop, ça marche pas sur le web.
Étape 2 : Configurer le serveur
Ouvrez le fichier de config MCP. Son emplacement dépend 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 à Claude. Attention : Claude aura accès en lecture ET écriture à ce dossier.
Étape 3 : Redémarrer Claude Desktop
Quittez complètement l’app et relancez-la. Si tout est bien configuré, vous verrez une petite icône de marteau dans l’interface.
Étape 4 : Tester
Demandez à Claude : “Quels fichiers Python se trouvent dans mon dossier projets ?”
Claude va automatiquement utiliser le serveur MCP pour lister les fichiers. Vous verrez la requête MCP s’exécuter en temps réel.
Connecter Claude à une base de données
Le vrai potentiel de MCP, c’est les bases de données. Je vais vous montrer avec PostgreSQL, mais ça marche pareil avec SQLite, MySQL, ou même MongoDB.
Installation du serveur PostgreSQL
Ajoutez cette config à 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 réels. Le serveur MCP se connectera à votre base en utilisant ces credentials.
Utilisation concrète
Une fois connecté, vous pouvez :
- “Donne-moi le schéma de la table users”
- “Combien de commandes ont été passées ce mois-ci ?”
- “Crée une vue matérialisée pour les stats journalières”
Claude exécute les requêtes SQL directement. Il comprend votre schéma, vos relations, vos index. C’est comme avoir un DBA junior qui connaît parfaitement votre base.
Sécurité importante
Je vous conseille de créer un utilisateur PostgreSQL dédié pour MCP avec des permissions limitées :
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 ça, même si Claude fait une bêtise, il peut pas DROP votre base de prod.
Créer votre propre serveur MCP
Les serveurs officiels couvrent les cas classiques, mais vous avez peut-être des besoins spécifiques. Créer un serveur MCP custom est étonnamment simple.
Voici un exemple minimaliste en TypeScript qui expose une API météo :
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 météo 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 à votre API météo
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 à votre config :
{
"mcpServers": {
"meteo": {
"command": "node",
"args": ["/chemin/vers/votre/serveur.js"]
}
}
}
Le SDK MCP gère toute la communication avec Claude. Vous avez juste à définir vos outils et leur logique.
Cas d’usage avancés
Maintenant que vous maîtrisez les bases, voici des scénarios plus poussés que j’utilise au quotidien :
Code review automatisé
Connectez Claude à 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 à votre base de données + votre code. Demandez : “Génère la doc API pour l’endpoint /users avec des exemples de requêtes basées sur les vraies données”. La doc est toujours à jour parce que Claude la génère à partir de la source de vérité.
Debugging de prod
Connectez Claude à vos logs (via un serveur custom). “Pourquoi le service payment a crash à 14h37 ?” Claude analyse les logs, corrèle avec le code, et vous explique la race condition que vous cherchiez depuis 2h.
Migration de données
Connectez Claude à deux bases (ancien et nouveau système). “Migre les utilisateurs de l’ancienne table vers le nouveau schéma en préservant toutes les relations”. Il génère le script, vous le montre, et l’exécute après validation.
Les pièges à éviter
Après 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 données, Claude va galérer à choisir le bon outil. Commencez petit.
Conclusion : MCP est l’avenir de l’interaction IA
MCP transforme Claude d’un chatbot intelligent en un véritable assistant qui comprend votre environnement de travail. Plus besoin de copier-coller, plus besoin d’expliquer le contexte à chaque fois.
Le protocole est encore jeune (lancé fin 2024), mais l’écosystème 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 données principale. Vous verrez immédiatement la différence.
Le repo officiel avec tous les serveurs : github.com/modelcontextprotocol
Maintenant, arrêtez de lire et allez configurer votre premier serveur MCP. Vous me remercierez dans une semaine quand vous vous demanderez comment vous faisiez avant.