1. GitHub MCP – 代码托管必备
安装命令:
claude mcp add github
核心功能:
- 🔍 搜索代码仓库和问题
- 📝 创建/更新 Issues 和 Pull Requests
- 🌿 管理分支和提交
- 📊 查看仓库统计和活动
使用场景:
- 快速创建 Issue: 告诉 Claude "在仓库 X 创建一个关于 Y 的 bug 报告"
- 代码搜索: "查找我们所有项目中使用 Redis 的代码"
- PR 管理: "为这个功能创建 PR 并关联 Issue #123"
配置技巧:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}
Pro Tip: 创建一个 fine-grained token 而非经典 token,限制权限范围,只授予必要的仓库访问权限。
2. Sequential Thinking – AI 推理增强
安装命令:
claude mcp add sequential-thinking
核心功能:
- 🧠 扩展思维链 (Chain of Thought)
- 🔄 动态推理过程可视化
- 📋 复杂问题分步骤解决
- ✅ 减少 AI 幻觉和错误
使用场景:
- 复杂架构设计: "设计一个支持百万并发的微服务架构"
- 调试难题: "分析这个内存泄漏问题的可能原因"
- 算法优化: "优化这个 O(n²) 的算法到 O(n log n)"
工作原理:
Sequential Thinking 强制 Claude 展示中间推理步骤,而非直接给出答案。这类似于让学生展示解题过程:
普通模式:
User: 如何优化这段代码?
Claude: 使用缓存即可。
Sequential Thinking 模式:
User: 如何优化这段代码?
Claude:
步骤1:分析瓶颈 -> 发现重复计算
步骤2:评估方案 -> 缓存 vs 算法改进
步骤3:对比成本 -> 缓存内存占用低
结论:使用 LRU 缓存,存储最近 1000 次计算
配置示例:
{
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
}
}
3. Context7 – 实时文档库
安装命令:
claude mcp add context7
核心功能:
- 📚 访问最新技术文档 (React, Next.js, Tailwind…)
- 🔄 自动更新知识库
- 🎯 精准搜索 API 和示例
- 💡 最佳实践推荐
使用场景:
- 学习新框架: "用 SvelteKit 5 创建一个表单验证示例"
- API 查询: "PostgreSQL 15 有哪些新的 JSON 函数?"
- 兼容性检查: "这个 CSS 属性在 Safari 中支持吗?"
支持的文档库 (部分):
- 前端: React, Vue, Svelte, Astro, Tailwind CSS
- 后端: Node.js, Deno, Bun, FastAPI, Django
- 数据库: PostgreSQL, MongoDB, Redis, Supabase
- 工具: Vite, Webpack, ESLint, Prettier
配置技巧:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server"],
"env": {
"CONTEXT7_API_KEY": "your_api_key_here"
}
}
}
}
注意: Context7 需要免费注册获取 API key,每月有一定的免费配额。
4. Playwright MCP – 浏览器自动化
安装命令:
claude mcp add playwright
核心功能:
- 🌐 控制 Chrome/Firefox/Safari
- 📸 截图和 PDF 生成
- 🧪 端到端测试自动化
- 🕷️ 网页数据抓取
使用场景:
- 自动化测试: "为登录流程创建一个 Playwright 测试"
- 网页截图: "打开这个 URL 并截图保存"
- 数据抓取: "从这个网站抓取所有产品价格"
示例对话:
User: 帮我测试购物车功能
Claude:
1. 打开网站
2. 添加商品到购物车
3. 验证数量和价格
4. 测试删除功能
5. 生成测试报告
配置示例:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@executeautomation/playwright-mcp-server"]
}
}
}
Pro Tip: 结合 Sequential Thinking,可以让 Claude 生成更健壮的测试用例。
5. PostgreSQL MCP – 数据库直连
安装命令:
claude mcp add postgres
核心功能:
- 🗄️ 直接执行 SQL 查询
- 📊 数据库架构分析
- 🔍 性能优化建议
- 🛠️ 迁移脚本生成
使用场景:
- 数据分析: "查询最近 7 天的销售趋势"
- 架构优化: "为用户表添加索引建议"
- 数据迁移: "生成将 MySQL 迁移到 PostgreSQL 的脚本"
配置示例:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "postgresql://user:password@localhost:5432/mydb"
}
}
}
}
安全建议:
- ⚠️ 不要使用生产数据库连接
- 🔒 创建只读用户或使用开发环境
- 📝 设置查询超时和行数限制
6. Docker MCP – 容器管理
安装命令:
claude mcp add docker
核心功能:
- 🐳 管理容器和镜像
- 📦 构建和推送镜像
- 🔍 日志查看和分析
- 🛠️ Compose 文件生成
使用场景:
- 快速部署: "为这个 Node.js 应用创建 Dockerfile"
- 问题排查: "查看容器 X 的最近 100 行日志"
- 资源监控: "显示所有运行中容器的 CPU 和内存使用"
配置示例:
{
"mcpServers": {
"docker": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-docker"]
}
}
}
实用技巧:
User: 我的应用需要 Redis 和 PostgreSQL
Claude: [生成 docker-compose.yml]
services:
app:
build: .
ports: ["3000:3000"]
redis:
image: redis:alpine
postgres:
image: postgres:15
environment:
POSTGRES_PASSWORD: example
7. Supabase MCP – 后端即服务
安装命令:
claude mcp add supabase
核心功能:
- 🔐 管理认证和用户
- 📊 实时数据库操作
- 📁 存储文件管理
- 🪝 Edge Functions 部署
使用场景:
- 快速原型: "创建一个带登录的待办事项应用"
- 数据管理: "为项目创建数据库表和 RLS 策略"
- 文件上传: "实现用户头像上传功能"
配置示例:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "@supabase/mcp"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_KEY": "your_service_key"
}
}
}
}
最佳实践:
- 使用项目级配置而非全局配置
- 为不同环境 (开发/生产) 创建独立项目
- 定期轮换 service key
8. Sentry MCP – 错误追踪
安装命令:
claude mcp add sentry
核心功能:
- 🐛 查询错误和异常
- 📈 性能监控分析
- 🔍 堆栈跟踪解析
- 📊 Release 健康度报告
使用场景:
- 故障排查: "显示最近 1 小时的严重错误"
- 性能分析: "找出响应时间超过 2 秒的 API"
- 发布监控: "对比最新版本与上一版本的错误率"
配置示例:
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sentry"],
"env": {
"SENTRY_AUTH_TOKEN": "your_auth_token",
"SENTRY_ORG": "your-org",
"SENTRY_PROJECT": "your-project"
}
}
}
}
智能分析示例:
User: 为什么用户登录失败率突然上升?
Claude:
1. 查询最近 24h 登录相关错误
2. 分析堆栈信息
3. 发现:Redis 连接超时 (85% 的失败)
4. 建议:检查 Redis 服务器状态和网络连接
9. AWS MCP – 云服务管理
安装命令:
claude mcp add aws
核心功能:
- ☁️ 管理 EC2、S3、Lambda
- 📊 CloudWatch 日志和指标
- 🔐 IAM 权限管理
- 💰 成本分析和优化
使用场景:
- 资源部署: "创建一个 Lambda 函数处理图片压缩"
- 成本优化: "找出未使用的 EC2 实例和 EBS 卷"
- 安全审计: "列出所有公开的 S3 存储桶"
配置示例:
{
"mcpServers": {
"aws": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-aws"],
"env": {
"AWS_ACCESS_KEY_ID": "your_access_key",
"AWS_SECRET_ACCESS_KEY": "your_secret_key",
"AWS_REGION": "us-east-1"
}
}
}
}
安全警告:
- 🔒 使用 IAM 用户而非根账户
- 📝 遵循最小权限原则
- 🔄 定期轮换访问密钥
10. Notion MCP – 知识库集成
安装命令:
claude mcp add notion
核心功能:
- 📝 读写 Notion 页面和数据库
- 🔍 搜索知识库内容
- 📊 同步项目文档
- ✅ 任务和待办管理
使用场景:
- 文档生成: "根据代码生成 API 文档并保存到 Notion"
- 知识检索: "查找团队 wiki 中关于部署流程的文档"
- 任务同步: "创建一个 bug 修复任务并关联 GitHub Issue"
配置示例:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/mcp-server"],
"env": {
"NOTION_API_KEY": "secret_your_integration_token"
}
}
}
}
高级用法:
结合 Sequential Thinking + Notion:
User: 分析这个项目并生成技术文档
Claude:
1. 分析代码架构
2. 提取关键模块和 API
3. 生成 Mermaid 图表
4. 在 Notion 创建页面并插入内容
5. 添加相关标签和链接
MCP 配置最佳实践
配置文件位置
macOS/Linux:
~/.claude.json
Windows:
%APPDATA%\Claude\claude.json
推荐配置结构
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "postgresql://localhost/dev"
}
}
}
}
性能优化技巧
- 只安装需要的 MCP: 每个 MCP 都会占用内存和启动时间
- 使用项目级配置: 针对特定项目加载相关 MCP
- 定期清理: 移除不再使用的 MCP 服务器
安全检查清单
- API 密钥存储在环境变量而非代码中
- 数据库连接使用只读账户
- 云服务使用最小权限 IAM 角色
- 定期轮换所有访问令牌
- 不在公开仓库中提交配置文件
选择 MCP 的决策树
你的主要需求是什么?
├─ 代码托管和协作
│ └─ GitHub MCP ⭐⭐⭐⭐⭐
│
├─ AI 推理质量提升
│ └─ Sequential Thinking MCP ⭐⭐⭐⭐⭐
│
├─ 查询最新技术文档
│ └─ Context7 MCP ⭐⭐⭐⭐
│
├─ 自动化测试
│ └─ Playwright MCP ⭐⭐⭐⭐
│
├─ 数据库管理
│ └─ PostgreSQL / Supabase MCP ⭐⭐⭐⭐
│
├─ 容器化部署
│ └─ Docker MCP ⭐⭐⭐
│
├─ 云服务运维
│ └─ AWS MCP ⭐⭐⭐
│
├─ 错误监控
│ └─ Sentry MCP ⭐⭐⭐
│
└─ 团队知识管理
└─ Notion MCP ⭐⭐⭐
推荐组合:
- 全栈开发者: GitHub + Sequential Thinking + Context7 + PostgreSQL
- 前端工程师: GitHub + Playwright + Context7 + Notion
- DevOps 工程师: GitHub + Docker + AWS + Sentry
- 独立开发者: GitHub + Supabase + Sequential Thinking
常见问题
Q: MCP 会拖慢 Claude Code 启动速度吗?
A: 会有轻微影响。建议只安装 2-3 个常用 MCP,按需启用。
Q: 可以自己开发 MCP 服务器吗?
A: 可以!参考 MCP 官方文档,使用 Python 或 TypeScript 创建自定义服务器。
Q: MCP 是否支持本地运行,不需要网络?
A: 部分支持。Sequential Thinking、Docker、PostgreSQL 等可以完全本地运行;GitHub、AWS、Notion 等需要网络访问。
Q: 企业环境如何安全使用 MCP?
A:
- 使用自托管的 MCP 服务器
- 配置 VPN 和防火墙规则
- 审计所有 API 调用日志
- 限制敏感数据访问权限
总结
最值得安装的 3 个 MCP:
- GitHub MCP – 代码协作必备
- Sequential Thinking MCP – AI 推理增强
- Context7 MCP – 实时文档查询
快速上手步骤:
- 安装 Claude Code 最新版
- 运行
claude mcp add github等命令 - 配置必要的 API 密钥
- 重启 Claude Code 生效
MCP 的出现让 Claude Code 从一个"会写代码的 AI"变成了"全栈工程师助手"。选对工具,配置得当,你的开发效率可以提升 2-3 倍。
推荐阅读:
推荐 APIYI: 稳定可靠的 AI大模型API中转站,价格便宜、免费试用。如果你需要稳定的 Claude API 访问,可以试试 APIYI 的服务。
Les 10 serveurs MCP essentiels
1. GitHub MCP Server ⭐⭐⭐⭐⭐
Fonctionnalité : Interagir directement avec les dépôts GitHub, PR, Issues et workflows CI/CD
C'est le serveur MCP le plus utilisé, quasiment indispensable pour les développeurs. Une fois installé, vous pouvez demander à Claude de :
- Créer et réviser des Pull Requests
- Gérer les Issues et discussions
- Surveiller l'état des GitHub Actions
- Rechercher dans le code et l'historique des commits
Commande d'installation :
claude mcp add github --scope user -- npx -y @modelcontextprotocol/server-github
Variable d'environnement : Nécessite la configuration de GITHUB_PERSONAL_ACCESS_TOKEN
Cas d'usage : Maintenance open source, collaboration d'équipe, automatisation des revues de code
2. Sequential Thinking ⭐⭐⭐⭐⭐
Fonctionnalité : Serveur de pensée structurée, permet à Claude de résoudre des problèmes complexes étape par étape
Ce serveur transforme la façon dont Claude Code traite les problèmes complexes. Il introduit un processus de réflexion qui simule la cognition humaine, permettant à Claude de :
- Décomposer les problèmes de manière méthodique
- Corriger sa direction pendant le raisonnement
- Maintenir le contexte dans des chaînes de raisonnement longues
Commande d'installation :
claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking
Cas d'usage : Conception d'architecture, débogage de bugs complexes, planification de fonctionnalités majeures
3. Filesystem MCP Server ⭐⭐⭐⭐⭐
Fonctionnalité : Opérations sécurisées sur les fichiers locaux — lecture, écriture, édition, recherche dans les répertoires
C'est le serveur officiel de base qui offre un contrôle granulaire des permissions et supporte les workflows complexes de refactoring de code.
Commande d'installation :
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
Cas d'usage : Manipulation de code local, traitement par lots de fichiers, migration de projets
4. Context7 MCP ⭐⭐⭐⭐⭐
Fonctionnalité : Obtenir en temps réel la documentation et les références API les plus récentes
Ça résout le problème des bases de connaissances obsolètes de l'IA. Context7 récupère automatiquement la documentation des versions actuelles, garantissant que les exemples de code et l'utilisation des API fournis par Claude sont à jour.
Commande d'installation :
claude mcp add context7 -- npx -y @context7/mcp
Cas d'usage : Équipes utilisant des frameworks à itération rapide comme React, Next.js, Vue
5. Playwright MCP ⭐⭐⭐⭐
Fonctionnalité : Automatisation du navigateur, support des tests end-to-end et extraction de données web
Playwright MCP utilise des snapshots d'accessibilité (Accessibility Snapshots) pour comprendre la structure des pages web, permettant des opérations précises sans analyse visuelle.
Commande d'installation :
claude mcp add playwright -- npx -y @playwright/mcp@latest
Cas d'usage : Rédaction de tests E2E, scraping web, automatisation frontend
6. Brave Search MCP ⭐⭐⭐⭐
Fonctionnalité : Recherche web axée sur la confidentialité, support de la recherche et citation de contenu
Permet à Claude de rechercher les informations les plus récentes, citer des sources et résumer du contenu, sans compromettre la confidentialité.
Commande d'installation :
claude mcp add brave-search -- npx -y @anthropic/mcp-server-brave-search
Variable d'environnement : Nécessite la configuration de BRAVE_API_KEY
Cas d'usage : Recherche technique, citation de documentation, analyse concurrentielle
7. PostgreSQL MCP Server ⭐⭐⭐⭐
Fonctionnalité : Interagir directement avec les bases de données PostgreSQL
Permet à Claude d'interroger les bases de données, analyser les structures de données, générer des requêtes SQL et optimiser les performances des requêtes.
Commande d'installation :
claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres postgresql://user:pass@localhost/db
Cas d'usage : Analyse de données, optimisation de bases de données, développement backend
8. Docker MCP Server ⭐⭐⭐⭐
Fonctionnalité : Construire, exécuter, inspecter des conteneurs, gérer Docker directement via commandes IA
Parfait pour déboguer des services, générer des Dockerfiles, gérer des environnements de développement reproductibles.
Commande d'installation :
claude mcp add docker -- npx -y @modelcontextprotocol/server-docker
Cas d'usage : Développement conteneurisé, workflows DevOps, débogage d'environnement
9. Sentry MCP ⭐⭐⭐
Fonctionnalité : Intégration du suivi d'erreurs et surveillance des performances
Permet à Claude d'analyser les rapports d'erreurs dans Sentry et de suggérer immédiatement des solutions de correction.
Mode d'installation : Serveur distant SSE, nécessite un token API Sentry
Cas d'usage : Débogage en production, analyse d'erreurs, optimisation des performances
10. Notion MCP ⭐⭐⭐
Fonctionnalité : Intégration de base de connaissances, support des opérations sur pages et bases de données
Permet à Claude de lire et mettre à jour les documents dans Notion, créant une synergie entre gestion des connaissances et développement de code.
Mode d'installation : Implémentation officielle, nécessite une clé API Notion
Cas d'usage : Gestion de documentation, enregistrement de projets, maintenance de base de connaissances
Guide rapide de classification des serveurs MCP

| Catégorie | Serveur MCP | Valeur ajoutée |
|---|---|---|
| Contrôle de version | GitHub, GitLab | Gestion PR, automatisation revue de code |
| Amélioration cognitive | Sequential Thinking | Raisonnement structuré pour problèmes complexes |
| Opérations fichiers | Filesystem | Manipulation sécurisée de fichiers locaux |
| Documentation | Context7, Brave Search | Documentation temps réel et recherche |
| Automatisation navigateur | Playwright, Puppeteer | Tests E2E, scraping web |
| Base de données | PostgreSQL, Supabase | Requêtes et analyse de données |
| Conteneurisation | Docker | Gestion conteneurs, débogage environnement |
| Surveillance | Sentry, PostHog | Suivi erreurs, analyse produit |
| Productivité | Notion, Linear, Figma | Base de connaissances, gestion tâches, design |
Guide de configuration MCP de base
Commandes essentielles
# Ajouter un serveur MCP
claude mcp add [name] --scope user -- [command]
# Voir les MCP installés
claude mcp list
# Supprimer un serveur MCP
claude mcp remove [name]
# Tester un serveur MCP
claude mcp get [name]
Emplacement des fichiers de configuration
| Système | Chemin du fichier de configuration |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Universel | ~/.claude.json (recommandé) |
Exemple de configuration
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
}
}
Explication des portées
| Portée | Description | Cas d'usage |
|---|---|---|
| local | Disponible uniquement pour le projet actuel | Outils spécifiques au projet |
| user | Disponible pour tous les projets, privé | Outils personnels fréquemment utilisés |
| project | Configuration au niveau projet, partageable | Outils de collaboration en équipe |
Astuces de configuration
- Prérequis Node.js : La plupart des MCP utilisent npx, assurez-vous que Node.js est installé
- Redémarrage nécessaire : Vous devez redémarrer Claude Code après avoir modifié la configuration
- Traitement spécial Windows : Les commandes npx locales peuvent nécessiter le préfixe
cmd /c - Ajustement du timeout : Ajustez le délai de démarrage via
MCP_TIMEOUT=10000
Conseil : Via APIYI apiyi.com, vous pouvez obtenir un accès API à différents modèles d'IA. Utilisé avec MCP, cela permet de créer des workflows IA plus flexibles.
Bonnes pratiques d'installation MCP
Combinaisons d'installation recommandées
Développeurs frontend :
- Context7 (documentation des frameworks récents)
- Playwright (tests E2E)
- GitHub (contrôle de version)
Développeurs backend :
- PostgreSQL (opérations base de données)
- Docker (gestion des conteneurs)
- GitHub (contrôle de version)
Développeurs fullstack :
- Sequential Thinking (problèmes complexes)
- GitHub (contrôle de version)
- Context7 (documentation en temps réel)
Points d'attention
- Pas trop d'outils : Installez 2-3 MCP essentiels seulement, trop ralentit le démarrage
- Vérifier les dépendances : Assurez-vous que Node.js, Docker et autres dépendances sont correctement installés
- Protéger les identifiants : Ne commitez pas les clés API et tokens dans votre dépôt de code
- Mises à jour régulières : L'écosystème MCP évolue rapidement, restez à jour pour bénéficier des nouvelles fonctionnalités
Foire aux questions
Q1 : Quelle est la différence entre MCP et les fonctionnalités natives de Claude Code ?
Les fonctionnalités natives de Claude Code se concentrent sur l'édition de code et les opérations du terminal. MCP étend les capacités de Claude à interagir avec des systèmes externes — bases de données, services cloud, outils tiers, etc. On peut voir ça comme : les fonctionnalités natives sont les « compétences de base », MCP ce sont les « plugins d'extension ».
Q2 : J’ai installé MCP mais Claude ne réagit pas, que faire ?
Solutions courantes :
- Redémarrer Claude Code pour que la configuration prenne effet
- Utiliser
claude mcp listpour vérifier si l'installation a réussi - Vérifier que les variables d'environnement (comme les API Token) sont correctement configurées
- Contrôler s'il manque des dépendances (comme Node.js)
- Essayer d'augmenter le délai de démarrage
MCP_TIMEOUT=10000
Q3 : Quelles précautions pour les utilisateurs chinois utilisant MCP ?
Certains serveurs MCP dépendent de services internationaux (comme GitHub API, Brave Search), ce qui peut poser des problèmes d'accès. Recommandations :
- Utiliser des services relais comme APIYI apiyi.com pour obtenir un accès API stable
- Privilégier les MCP qui fonctionnent en local (comme Filesystem, Sequential Thinking)
- Pour les MCP nécessitant le réseau, s'assurer d'un environnement réseau stable
Récapitulatif
La valeur fondamentale de Claude Code MCP :
- Extension des capacités : Faire évoluer Claude d'éditeur de code vers plateforme de développement tout-en-un
- Intégration du workflow : Manipuler GitHub, bases de données, services cloud et autres outils depuis une seule interface
- Efficacité décuplée : Automatiser les tâches répétitives, se concentrer sur le développement essentiel
Les 10 MCP incontournables à retenir :
- Contrôle de version : GitHub
- Amélioration cognitive : Sequential Thinking
- Gestion de fichiers : Filesystem
- Documentation temps réel : Context7
- Recherche web : Brave Search
- Automatisation navigateur : Playwright
- Base de données : PostgreSQL
- Gestion conteneurs : Docker
- Surveillance erreurs : Sentry
- Base de connaissances : Notion
Je vous conseille de commencer par les 2-3 scénarios que vous utilisez le plus, puis d'étendre progressivement. Via APIYI apiyi.com, vous pouvez obtenir différentes API de modèles IA, et en combinaison avec MCP, construire un workflow de développement encore plus puissant.
title: "Model Context Protocol (MCP) : Le protocole qui révolutionne la collaboration entre IA et outils"
date: 2024-01-XX
author: "Équipe technique"
description: "Découvrez le Model Context Protocol (MCP), le nouveau standard open-source d'Anthropic qui permet aux IA d'interagir de manière unifiée avec n'importe quelle source de données ou outil. Guide complet avec exemples pratiques."
tags: ["MCP", "IA", "Anthropic", "Claude", "Protocole", "Intégration"]
Le Model Context Protocol (MCP) est un protocole open-source développé par Anthropic qui standardise la façon dont les applications IA se connectent aux sources de données et aux outils externes. C'est un peu comme USB pour l'IA : au lieu de créer une intégration spécifique pour chaque combinaison outil-IA, MCP propose une interface universelle.
Pourquoi MCP existe ?
Avant MCP, si vous vouliez que votre assistant IA accède à 10 sources de données différentes (GitHub, Google Drive, bases de données, etc.), vous deviez développer 10 intégrations personnalisées. Et si un autre système IA voulait accéder aux mêmes sources ? Il fallait tout refaire.
MCP résout ce problème en introduisant une couche d'abstraction standardisée. Désormais :
- Les développeurs de serveurs MCP créent une connexion une fois pour leur outil
- Les applications IA implémentent le protocole MCP une fois
- Tout fonctionne ensemble automatiquement
C'est exactement ce qui s'est passé avec USB : au lieu que chaque fabricant invente son propre connecteur, tout le monde utilise le même standard.
Architecture de MCP : comment ça marche ?
MCP suit une architecture client-serveur simple :
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Client │ ◄─────► │ Serveur MCP │ ◄─────► │ Source │
│ IA │ MCP │ │ │ de données │
└─────────────┘ └──────────────┘ └─────────────┘
Les composants principaux
-
Serveur MCP : Expose des ressources, outils et prompts
- Peut se connecter à des bases de données, APIs, systèmes de fichiers
- Implémente le protocole MCP pour communiquer avec les clients
-
Client MCP : L'application IA (Claude Desktop, votre app custom)
- Se connecte aux serveurs MCP
- Envoie des requêtes et reçoit des réponses standardisées
-
Transport : La couche de communication
- stdio (entrée/sortie standard) : pour les serveurs locaux
- HTTP/SSE : pour les serveurs distants
Trois primitives essentielles
MCP définit trois types d'objets que les serveurs peuvent exposer :
1. Resources (Ressources)
Des données que l'IA peut lire. Par exemple :
- Contenu d'un fichier
- Enregistrement dans une base de données
- Page web
// Exemple : exposer le contenu d'un fichier
{
uri: "file:///home/user/document.txt",
mimeType: "text/plain",
text: "Contenu du document..."
}
2. Tools (Outils)
Des fonctions que l'IA peut exécuter. Par exemple :
- Créer un ticket Jira
- Envoyer un email
- Exécuter une requête SQL
// Exemple : outil pour créer un fichier
{
name: "create_file",
description: "Crée un nouveau fichier",
inputSchema: {
type: "object",
properties: {
path: { type: "string" },
content: { type: "string" }
}
}
}
3. Prompts (Templates de prompts)
Des templates de prompts réutilisables avec paramètres :
{
name: "analyze_code",
description: "Analyse un fichier de code",
arguments: [
{
name: "language",
description: "Langage de programmation",
required: true
}
]
}
Créer votre premier serveur MCP
Voyons comment créer un serveur MCP simple qui expose des informations météo.
Installation
# Installer le SDK officiel
npm install @modelcontextprotocol/sdk
Code du serveur
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
ListToolsRequestSchema,
CallToolRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
// Créer le serveur
const server = new Server(
{
name: "weather-server",
version: "1.0.0",
},
{
capabilities: {
tools: {}, // On expose des outils
},
}
);
// Définir les outils disponibles
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
{
name: "get_weather",
description: "Récupère la météo d'une ville",
inputSchema: {
type: "object",
properties: {
city: {
type: "string",
description: "Nom de la ville",
},
},
required: ["city"],
},
},
],
};
});
// Gérer l'exécution des outils
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "get_weather") {
const city = request.params.arguments?.city;
// Simulation d'un appel API météo
const weatherData = {
city: city,
temperature: 22,
conditions: "Ensoleillé",
};
return {
content: [
{
type: "text",
text: `Météo à ${city}: ${weatherData.temperature}°C, ${weatherData.conditions}`,
},
],
};
}
throw new Error("Outil inconnu");
});
// Démarrer le serveur
async function main() {
const transport = new StdioServerTransport();
await server.connect(transport);
console.error("Serveur météo MCP démarré");
}
main();
Configuration dans Claude Desktop
Pour utiliser ce serveur avec Claude Desktop, ajoutez-le à votre configuration :
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Windows : %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["/chemin/vers/votre/serveur/weather-server.js"]
}
}
}
Redémarrez Claude Desktop, et voilà ! Vous pouvez maintenant demander :
"Quelle est la météo à Paris ?"
Claude utilisera automatiquement votre outil get_weather.
Cas d'usage réels
1. Serveur de système de fichiers
Permet à Claude d'accéder à vos fichiers locaux :
server.setRequestHandler(ListResourcesRequestSchema, async () => {
const files = await fs.readdir("/votre/dossier");
return {
resources: files.map(file => ({
uri: `file:///${file}`,
name: file,
mimeType: "text/plain"
}))
};
});
2. Serveur de base de données
Exécute des requêtes SQL :
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "query_db") {
const sql = request.params.arguments?.query;
const results = await db.query(sql);
return {
content: [{ type: "text", text: JSON.stringify(results) }]
};
}
});
3. Serveur GitHub
Interagit avec les repos GitHub :
{
name: "create_issue",
description: "Crée une issue GitHub",
inputSchema: {
type: "object",
properties: {
repo: { type: "string" },
title: { type: "string" },
body: { type: "string" }
}
}
}
Bonnes pratiques
Sécurité
- Validation stricte : Validez toujours les entrées utilisateur
if (!isValidPath(path)) {
throw new Error("Chemin invalide");
}
- Principe du moindre privilège : N'exposez que ce qui est nécessaire
// ✅ Bon : accès limité
const allowedDir = "/home/user/documents";
// ❌ Mauvais : accès root
const allowedDir = "/";
- Authentification : Pour les serveurs distants, utilisez OAuth ou tokens
server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
const token = extra.headers?.authorization;
if (!verifyToken(token)) {
throw new Error("Non autorisé");
}
// ...
});
Performance
- Pagination : Pour les grandes listes de ressources
{
resources: items.slice(offset, offset + limit),
nextCursor: hasMore ? offset + limit : undefined
}
- Cache : Mettez en cache les données qui changent rarement
const cache = new Map();
async function getCachedData(key) {
if (cache.has(key)) {
return cache.get(key);
}
const data = await fetchData(key);
cache.set(key, data);
return data;
}
- Streaming : Pour les longues réponses
// MCP supporte le streaming pour les gros volumes de données
async function* streamResults() {
for (const chunk of largeDataset) {
yield { type: "text", text: processChunk(chunk) };
}
}
Gestion des erreurs
try {
const result = await riskyOperation();
return { content: [{ type: "text", text: result }] };
} catch (error) {
return {
content: [{
type: "text",
text: `Erreur: ${error.message}`
}],
isError: true
};
}
Debugging
Logs côté serveur
server.onerror = (error) => {
console.error("[MCP Error]", error);
};
// Logs détaillés
console.error(`[MCP] Requête reçue: ${request.params.name}`);
console.error(`[MCP] Arguments: ${JSON.stringify(request.params.arguments)}`);
Utiliser l'inspector MCP
Anthropic fournit un outil de debug :
npx @modelcontextprotocol/inspector node votre-serveur.js
Cela ouvre une interface web pour tester votre serveur interactivement.
L'écosystème MCP
Serveurs populaires
Voici quelques serveurs MCP que vous pouvez utiliser immédiatement :
Productivité
@modelcontextprotocol/server-filesystem: Accès aux fichiers locaux@modelcontextprotocol/server-github: Intégration GitHub@modelcontextprotocol/server-gitlab: Intégration GitLab@modelcontextprotocol/server-google-drive: Accès Google Drive
Données
@modelcontextprotocol/server-postgres: Base de données PostgreSQL@modelcontextprotocol/server-sqlite: Base de données SQLitemcp-server-bigquery: Google BigQuery
Recherche et veille
@modelcontextprotocol/server-brave-search: Recherche web via Brave@modelcontextprotocol/server-fetch: Récupération de pages webmcp-server-youtube-transcript: Transcriptions YouTube
Installation rapide
# Via npm
npm install @modelcontextprotocol/server-github
# Configuration dans claude_desktop_config.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_TOKEN": "votre_token_ici"
}
}
}
}
MCP vs alternatives
Comparaison avec les plugins ChatGPT
| Aspect | MCP | Plugins ChatGPT |
|---|---|---|
| Open source | ✅ Oui | ❌ Non |
| Vendor lock-in | ❌ Non | ✅ OpenAI uniquement |
| Exécution locale | ✅ Oui | ❌ Cloud seulement |
| Contrôle données | ✅ Total | ⚠️ Limité |
| Latence | 🚀 Faible (local) | 🐌 Moyenne (API) |
Comparaison avec les Function Calling classiques
Function Calling traditionnel :
// Chaque IA a son propre format
openai.chat.completions.create({
functions: [{ name: "get_weather", parameters: {...} }]
});
anthropic.messages.create({
tools: [{ name: "get_weather", input_schema: {...} }]
});
Avec MCP :
// Un seul serveur, plusieurs clients
// Le serveur MCP fonctionne avec Claude, votre app custom, etc.
Architecture avancée : Serveurs composés
Vous pouvez créer des serveurs qui agrègent plusieurs sources :
class AggregateServer extends Server {
private githubServer: GitHubMCPServer;
private slackServer: SlackMCPServer;
async handleRequest(request) {
// Router vers le bon sous-serveur
if (request.params.name.startsWith("github_")) {
return this.githubServer.handleRequest(request);
}
if (request.params.name.startsWith("slack_")) {
return this.slackServer.handleRequest(request);
}
}
}
Sampling : quand l'IA prend le contrôle
Une fonctionnalité avancée de MCP est le sampling : le serveur peut demander au modèle IA de générer du contenu.
// Le serveur demande à l'IA de générer du code
const completion = await client.request({
method: "sampling/createMessage",
params: {
messages: [{
role: "user",
content: {
type: "text",
text: "Génère une fonction Python pour trier une liste"
}
}],
maxTokens: 1000
}
});
Cas d'usage :
- Agent autonome : le serveur orchestre des tâches complexes
- Génération de code : créer des scripts à la volée
- Analyse itérative : améliorer progressivement une réponse
Perspectives d'avenir
Ce qui arrive
- Support multi-modèles : MCP va s'étendre au-delà de Claude
- Serveurs communautaires : un écosystème riche comme npm
- Protocole de découverte : les serveurs pourront s'auto-déclarer
- Optimisations : support HTTP/2, WebSocket pour moins de latence
Comment contribuer
Le protocole est open-source ! Vous pouvez :
- Créer des serveurs pour vos outils préférés
- Améliorer le SDK sur GitHub
- Partager vos serveurs dans awesome-mcp-servers
- Proposer des améliorations au protocole via issues
Conclusion
Le Model Context Protocol représente un changement fondamental dans la façon dont les IA interagissent avec le monde extérieur. Au lieu d'intégrations point-à-point fragiles, on obtient un écosystème standardisé, extensible et sécurisé.
Points clés à retenir :
- ✅ Standard ouvert : pas de vendor lock-in
- ✅ Simple à implémenter : quelques dizaines de lignes de code
- ✅ Sécurisé par design : contrôle total sur les accès
- ✅ Écosystème croissant : des dizaines de serveurs disponibles
- ✅ Local ou distant : vous choisissez où vos données vont
Que vous développiez un assistant IA, une app d'entreprise ou juste un script personnel, MCP vous offre une fondation solide pour connecter l'IA au monde réel.
Prêt à vous lancer ? Commencez par installer un serveur existant, puis créez le vôtre !
Ressources complémentaires
⚠️ Format des liens : Tous les liens externes utilisent le format
Nom de la ressource: domaine.com, facile à copier mais non cliquable, pour éviter la perte de poids SEO.
-
Documentation officielle MCP : Spécification du Model Context Protocol
- Lien :
modelcontextprotocol.io - Description : Documentation officielle du protocole MCP par Anthropic
- Lien :
-
Dépôt officiel des serveurs MCP : Implémentations de référence sur GitHub
- Lien :
github.com/modelcontextprotocol/servers - Description : Collection des implémentations de référence de serveurs MCP maintenue officiellement
- Lien :
-
Awesome MCP Servers : Liste sélectionnée par la communauté
- Lien :
github.com/wong2/awesome-mcp-servers - Description : Liste de serveurs MCP sélectionnés et maintenus par la communauté
- Lien :
-
Documentation MCP de Claude Code : Guide de configuration officiel
- Lien :
code.claude.com/docs/en/mcp - Description : Documentation officielle de configuration et d'utilisation de MCP avec Claude Code
- Lien :
Auteur : Équipe technique
Échanges techniques : N'hésitez pas à partager vos questions dans les commentaires. Pour plus de ressources, visitez la communauté technique APIYI apiyi.com
