TL;DR
Le protocole de contexte de modèle (MCP) est une norme pour connecter les assistants IA à des sources de données externes et des API. Il permet à Claude Desktop, Cursor et d'autres outils IA d'accéder à votre API de manière sécurisée. Modern PetstoreAPI implémente le MCP pour que les assistants IA puissent rechercher des animaux, passer des commandes et gérer l'inventaire via le langage naturel.
Introduction
Vous demandez à Claude Desktop : « Montre-moi les chats disponibles à moins de 300 $. » Claude répond : « Je n'ai pas accès aux données de la boutique d'animaux. » Vous devez copier/coller depuis votre API, ce qui interrompt votre flux de travail.
Avec le MCP (Model Context Protocol), Claude peut accéder directement à votre API. Vous posez la même question, et Claude interroge la PetstoreAPI, filtre les résultats et vous montre les chats disponibles à moins de 300 $.
Modern PetstoreAPI implémente le MCP, permettant aux assistants IA d'interagir avec la boutique d'animaux via le langage naturel.
Si vous construisez des API pour l'intégration IA, Apidog vous aide à tester les implémentations MCP et à valider les interactions des assistants IA.
Qu'est-ce que le MCP ?
Le MCP est un protocole créé par Anthropic pour connecter les assistants IA à des ressources externes.
Le problème que le MCP résout
Les assistants IA sont puissants mais isolés. Ils ne peuvent pas :
- Accéder aux API internes de votre entreprise
- Interroger votre base de données
- Lire des fichiers depuis votre système de fichiers
- Interagir avec des services externes
Le MCP offre un moyen standard aux assistants IA de se connecter à ces ressources de manière sécurisée.
Composants du MCP
1. Serveur MCP - Expose les ressources et les outils aux assistants IA
2. Client MCP - Assistant IA (Claude Desktop, Cursor, etc.)
3. Ressources - Données que l'IA peut lire (fichiers, enregistrements de base de données, réponses d'API)
4. Outils - Actions que l'IA peut effectuer (créer une commande, mettre à jour un animal, rechercher l'inventaire)
Architecture du MCP
Assistant IA (Claude Desktop)
↓ Protocole MCP
Serveur MCP (Serveur MCP PetstoreAPI)
↓ API internes
Backend PetstoreAPI
↓
Base de données
Comment fonctionne le MCP
1. Enregistrement du serveur
Configurez Claude Desktop pour se connecter au serveur MCP :
{
"mcpServers": {
"petstore": {
"command": "node",
"args": ["/path/to/petstore-mcp-server.js"],
"env": {
"PETSTORE_API_KEY": "your-api-key"
}
}
}
}
2. Découverte des outils
L'assistant IA demande : « Quels outils sont disponibles ? »
Le serveur MCP répond :
{
"tools": [
{
"name": "search_pets",
"description": "Search for pets by species, status, and price",
"inputSchema": {
"type": "object",
"properties": {
"species": {"type": "string", "enum": ["CAT", "DOG"]},
"maxPrice": {"type": "number"},
"status": {"type": "string", "enum": ["AVAILABLE", "ADOPTED"]}
}
}
},
{
"name": "create_order",
"description": "Place an order for a pet",
"inputSchema": {
"type": "object",
"properties": {
"petId": {"type": "string"},
"userId": {"type": "string"}
},
"required": ["petId", "userId"]
}
}
]
}
3. Exécution de l'outil
L'utilisateur demande : « Montre-moi les chats disponibles à moins de 300 $ »
L'assistant IA appelle :
{
"tool": "search_pets",
"arguments": {
"species": "CAT",
"status": "AVAILABLE",
"maxPrice": 300
}
}
Le serveur MCP exécute :
async function search_pets({ species, status, maxPrice }) {
const response = await fetch(
`https://petstoreapi.com/v1/pets?species=${species}&status=${status}&maxPrice=${maxPrice}`
);
return await response.json();
}
Renvoie les résultats à l'IA, qui les formate pour l'utilisateur.
MCP vs API traditionnelles
| Caractéristique | API Traditionnelle | MCP |
|---|---|---|
| Accès | HTTP direct | Via l'assistant IA |
| Interface | REST/GraphQL | Langage naturel |
| Authentification | Clés API, OAuth | Le serveur MCP gère l'authentification |
| Découverte | Documentation OpenAPI | Schémas d'outils |
| Utilisation | Code/curl | Conversationnelle |
| Gestion des erreurs | Codes de statut HTTP | L'IA interprète les erreurs |
Comparaison d'exemples
API Traditionnelle :
curl -H "Authorization: Bearer token" \
"https://petstoreapi.com/v1/pets?species=CAT&maxPrice=300"
MCP :
Utilisateur : « Montre-moi les chats disponibles à moins de 300 $ »
IA : [Appelle l'outil search_pets, formate les résultats]
« Voici 5 chats disponibles à moins de 300 $ :
1. Fluffy - 250 $
2. Whiskers - 280 $
... »
Comment Modern PetstoreAPI implémente le MCP
Modern PetstoreAPI fournit un serveur MCP.
Outils disponibles
1. search_pets - Recherche d'animaux par critères 2. get_pet - Obtention des détails d'un animal 3. create_order - Passer une commande 4. get_inventory - Vérifier l'inventaire 5. update_pet_status - Mettre à jour la disponibilité d'un animal
Exemple : Recherche et Commande
Utilisateur : « Trouve-moi un chien à moins de 500 $ et passe une commande »
Flux de travail de l'IA :
1. Appelle search_pets({species: "DOG", maxPrice: 500})
2. Montre les résultats à l'utilisateur
3. L'utilisateur confirme : "Commande le Labrador"
4. Appelle create_order({petId: "019b4132", userId: "user-456"})
5. Confirme la commande passée
Code du serveur MCP
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server({
name: 'petstore-mcp',
version: '1.0.0'
}, {
capabilities: {
tools: {}
}
});
server.setRequestHandler('tools/list', async () => ({
tools: [
{
name: 'search_pets',
description: 'Search for pets',
inputSchema: {
type: 'object',
properties: {
species: { type: 'string' },
maxPrice: { type: 'number' }
}
}
}
]
}));
server.setRequestHandler('tools/call', async (request) => {
const { name, arguments: args } = request.params;
if (name === 'search_pets') {
const response = await fetch(
`https://petstoreapi.com/v1/pets?${new URLSearchParams(args)}`
);
return { content: [{ type: 'text', text: JSON.stringify(await response.json()) }] };
}
});
const transport = new StdioServerTransport();
await server.connect(transport);
Tester le MCP avec Apidog
Apidog aide à tester les implémentations MCP :
- Tester que les API sous-jacentes fonctionnent correctement
- Valider que les schémas d'outils correspondent aux contrats d'API
- Tester la gestion des erreurs
- Vérifier les flux d'authentification
Pourquoi le MCP est important
1. API natives IA
Les API deviennent accessibles via le langage naturel. Les utilisateurs non techniques peuvent interagir avec votre API via des assistants IA.
2. Standardisation
Le MCP est en train de devenir la norme pour l'intégration IA-API. Implémentez-le une fois, fonctionne avec tous les clients MCP.
3. Sécurité
Les serveurs MCP gèrent l'authentification. Les assistants IA n'ont pas besoin d'un accès direct à l'API.
4. Composabilité
Les assistants IA peuvent combiner plusieurs serveurs MCP, créant des flux de travail à travers les services.
Conclusion
Le MCP établit un pont entre les assistants IA et les API. Modern PetstoreAPI implémente le MCP, permettant à Claude Desktop et à d'autres outils IA d'interagir avec la boutique d'animaux via le langage naturel.
Points clés à retenir :
- Le MCP connecte les assistants IA aux API
- Les outils définissent ce que l'IA peut faire
- Le langage naturel remplace les appels d'API
- Modern PetstoreAPI démontre l'implémentation du MCP
FAQ
Quels assistants IA supportent le MCP ?
Claude Desktop, Cursor et d'autres outils propulsés par Anthropic. Le support est en croissance.
Le MCP est-il sécurisé ?
Oui. Les serveurs MCP gèrent l'authentification. Les assistants IA ne voient pas les clés d'API.
Puis-je utiliser le MCP avec des API existantes ?
Oui. Construisez un serveur MCP qui encapsule votre API existante.
Le MCP remplace-t-il les API REST ?
Non. Le MCP est destiné à l'accès des assistants IA. Les API REST restent pour l'accès programmatique direct.
Comment tester les outils MCP ?
Utilisez Apidog pour tester les API sous-jacentes, puis testez les outils MCP avec Claude Desktop.
