Avez-vous déjà souhaité que votre API puisse discuter avec des agents IA comme Claude ou Cursor, transformant vos points de terminaison en outils intelligents et conversationnels ? Eh bien, accrochez-vous, car nous allons voir comment **transformer votre API en serveur MCP** à l'aide de Stainless et d'une spécification OpenAPI. Ce guide conversationnel vous accompagnera tout au long du processus, de la configuration au déploiement, avec un test pour prouver que cela fonctionne. Nous utiliserons le **Model Context Protocol (MCP)** pour rendre votre API compatible avec l'IA, le tout de manière amusante et accessible. Commençons !
Vous voulez une plateforme intégrée et tout-en-un pour que votre équipe de développeurs travaille ensemble avec une productivité maximale ?
Apidog répond à toutes vos exigences et remplace Postman à un prix bien plus abordable !
Qu'est-ce qu'un serveur MCP et pourquoi devriez-vous vous en soucier ?
Le **Model Context Protocol (MCP)** est comme une poignée de main universelle pour les systèmes d'IA. C'est une norme basée sur JSON-RPC qui permet aux clients IA (comme Claude Desktop, Cursor ou VS Code Copilot) d'interagir avec votre API en utilisant le langage naturel ou des invites programmables. Un **serveur MCP** agit comme un pont, traduisant les points de terminaison de votre API en outils que les agents IA peuvent comprendre et utiliser.
Pourquoi **transformer votre API en serveur MCP** ? C'est une révolution :
- **Interaction alimentée par l'IA** : Laissez les agents IA appeler votre API avec de simples invites comme "Récupérer les données utilisateur" ou "Créer une nouvelle commande".
- **Automatisation simplifiée** : Stainless automatise le processus, générant un serveur MCP à partir de votre spécification OpenAPI avec un minimum de code.
- **Évolutivité** : Exposez votre API à plusieurs clients IA, des outils de développement locaux aux applications de qualité production.
- **Convivialité pour les développeurs** : Pas besoin de réécrire votre API – ajoutez simplement une couche MCP et laissez l'IA faire le gros du travail.
Que vous construisiez une plateforme de paiement, une API de contenu ou un service personnalisé, transformer votre API en **serveur MCP** la rend plus intelligente et plus accessible.
Comment Stainless s'intègre-t-il ?
Stainless est le meilleur ami du développeur pour la création de SDK et maintenant de serveurs MCP à partir de spécifications OpenAPI. Sa fonctionnalité expérimentale de génération de serveur MCP prend votre définition OpenAPI et produit un sous-paquet TypeScript prêt à fonctionner comme un **serveur MCP**. Cela signifie que les points de terminaison de votre API deviennent des outils accessibles à l'IA sans que vous ayez à transpirer. Voyons comment y parvenir !

Transformer votre API en serveur MCP avec Stainless
Prérequis
Avant de nous lancer, assurez-vous d'avoir :
- **Spécification OpenAPI** : Un fichier OpenAPI (Swagger) valide pour votre API (par exemple,
openapi.yaml
ouopenapi.json
). - **Compte Stainless** : Inscrivez-vous sur stainless.com pour créer un projet.
- **Compte Apidog** : Pour tester votre spécification OpenAPI (visitez https://apidog.com/).
- **Node.js 20+** : Pour les tests locaux et l'exécution du serveur MCP (nodejs.org/en/download).
- **npm** : Livré avec Node.js pour la gestion des paquets.
- **Client compatible MCP** : Claude Desktop, Cursor ou VS Code Copilot pour les tests.
- **Clé API** : Si votre API nécessite une authentification, ayez une clé API prête.
Étape 1 : Tester votre spécification OpenAPI avec Apidog
Avant ou même après avoir transformé votre **spécification OpenAPI** en **serveur MCP**, il serait bon de la tester. Et c'est là qu'**Apidog** est utile ! La plateforme intuitive d'Apidog vous permet d'importer et de tester votre spécification OpenAPI pour vous assurer que les points de terminaison de votre API sont prêts pour l'intégration MCP. Voici comment procéder :
- **Visitez Apidog et inscrivez-vous ou connectez-vous** :
- Cliquez sur **Connexion** (en haut à droite) si vous avez un compte, ou sur **Inscription** pour en créer un en suivant les instructions.
2. **Créez un nouveau projet et importez votre spécification OpenAPI** :
- Une fois connecté, cliquez sur **Créer un projet** sur le tableau de bord.
- Sur la page de création de projet, cliquez sur **Importer**.
- Saisissez l'URL de votre fichier OpenAPI (par exemple, https://my-api.com/openapi.yaml) ou cliquez sur **ou télécharger un fichier** pour sélectionner votre fichier local openapi.yaml ou openapi.json.

- Apidog analysera le fichier et générera une nouvelle API dans votre compte (cela peut prendre quelques minutes pour des spécifications complexes).
3. **Configurez les paramètres de l'API** :
- Après une importation réussie, vous serez dirigé vers la page des paramètres. Personnalisez le nom de votre API, sa description et ses exigences d'authentification (par exemple, clé API ou OAuth).

4. **Ajoutez des points de terminaison et testez** :
- Utilisez l'interface d'Apidog pour ajouter ou modifier des points de terminaison et de la documentation.
- Testez vos points de terminaison directement dans Apidog pour vérifier qu'ils fonctionnent comme prévu avant de générer votre **serveur MCP**.

Le test avec Apidog garantit la solidité de votre **spécification OpenAPI**, ce qui rend le processus de génération MCP de Stainless plus fluide et votre **serveur MCP** plus fiable.
Étape 2 : Configurer un projet Stainless avec TypeScript
**Créer un projet Stainless** :
- Connectez-vous à stainless.com et créez un nouveau projet.
- Téléchargez votre spécification OpenAPI (YAML ou JSON) pour définir les points de terminaison de votre API.
- Choisissez **TypeScript** comme langage cible (la génération de serveur MCP nécessite TypeScript, bien que les cibles
node
héritées soient prises en charge).

**Activer la génération de serveur MCP** :
- Dans la section **Ajouter des SDK** de votre projet, sélectionnez **Serveur MCP** pour activer la génération.
- Cela crée un sous-paquet sous
packages/mcp-server
dans votre projet.

Étape 3 : Configurer la génération de serveur MCP
Dans les paramètres de votre projet Stainless, configurez les options du serveur MCP. Créez ou modifiez un fichier de configuration (par exemple, stainless.yaml
) avec :
targets:
typescript:
package_name: my-org-name
production_repo: null
publish:
npm: false
options:
mcp_server:
package_name: my-org-name-mcp
enable_all_resources: true
package_name
: Nommez votre paquet de serveur MCP (par défaut, le nom de votre SDK avec-mcp
).enable_all_resources: true
: Expose tous les points de terminaison de l'API en tant qu'outils MCP par défaut.
Cela indique à Stainless de générer un sous-paquet de **serveur MCP** qui implémente les points de terminaison de votre API en tant qu'outils accessibles à l'IA.
Étape 4 : Personnaliser l'exposition des points de terminaison et les descriptions des outils
Par défaut, tous les points de terminaison de votre spécification OpenAPI deviennent des outils MCP. Pour personnaliser :
- **Sélectionner des points de terminaison spécifiques** :
- Définissez
enable_all_resources: false
et activez des ressources ou méthodes spécifiques :
resources:
users:
mcp: true
methods:
create:
mcp: true
orders:
methods:
create:
mcp: true
endpoint: post /v1/orders
2. **Affiner les métadonnées de l'outil** :
- Personnalisez les noms et descriptions des outils pour une meilleure interaction avec l'IA :
resources:
users:
methods:
create:
mcp:
tool_name: create_user
description: Crée un nouveau profil utilisateur avec nom et email.
Cela garantit que votre **serveur MCP** n'expose que les points de terminaison que vous souhaitez, avec des descriptions claires et conviviales pour l'IA.
Étape 5 : Gérer les API volumineuses avec le filtrage d'outils et les outils dynamiques
Pour les API avec de nombreux points de terminaison (>50), exposer chacun comme un outil distinct peut surcharger la fenêtre de contexte d'une IA. Utilisez ces stratégies :
- **Filtrage d'outils** :
- Filtrez les outils à l'exécution par ressource, type d'opération (par exemple, lecture/écriture) ou balises personnalisées :
npx -y my-org-mcp --resource=users
2. **Mode outils dynamiques** :
- Activez les outils dynamiques pour exposer trois méta-outils :
list_api_endpoints
,get_api_endpoint_schema
etinvoke_api_endpoint
. Cela simplifie l'interaction pour les API volumineuses :
npx -y my-org-mcp --tools=dynamic
Les outils dynamiques permettent à l'IA de découvrir et d'appeler des points de terminaison dynamiquement, réduisant ainsi la surcharge de contexte.
Étape 6 : Construire et publier votre serveur MCP
**Construire le serveur MCP** :
- Stainless génère le serveur MCP dans
packages/mcp-server
lorsque vous construisez votre SDK. - Exécutez la commande de construction dans votre projet Stainless (vérifiez le
README.md
de votre projet pour les détails).
**Publier sur npm** :
- Configurez un dépôt de production dans les paramètres de Stainless.
- Publiez le serveur MCP en tant que paquet npm distinct (par exemple,
my-org-name-mcp
) :
npm publish

Étape 7 : Installer et configurer pour les clients MCP
Après la publication, installez votre paquet de serveur MCP localement ou à distance pour l'utiliser avec les clients IA. Pour Claude Desktop :
- **Installer le paquet** :
- Si vous testez localement, accédez à
packages/mcp-server
et suivez les instructions duREADME.md
. - Pour une utilisation à distance, installez via npm :
npm install my-org-name-mcp
2. **Configurer Claude Desktop** :
- Ouvrez
claude_desktop_config.json
(macOS :~/Library/Application Support/Claude
, Windows :%APPDATA%\Claude
).

- Ajoutez :
{
"mcpServers": {
"my_org_api": {
"command": "npx",
"args": ["-y", "my-org-mcp"],
"env": {
"MY_API_KEY": "123e4567-e89b-12d3-a456-426614174000"
}
}
}
}
- Remplacez
my-org-mcp
par le nom de votre paquet etMY_API_KEY
par votre clé API. - Enregistrez et redémarrez Claude Desktop.

3. **Autres clients** :
- Pour Cursor ou VS Code Copilot, ajoutez la même configuration à leurs paramètres respectifs (par exemple,
settings.json
pour VS Code ou le panneau Outils et Intégrations de Cursor).

Étape 8 : Tester votre serveur MCP
Testons votre **serveur MCP** ! Dans Claude Desktop (ou un autre client MCP), essayez cette invite :
alex@example.com
Si votre API a un point de terminaison POST /users
(tel que défini dans votre spécification OpenAPI), le **serveur MCP** traduira cette invite en un appel API, créant un utilisateur et renvoyant une réponse comme :
User created: { "name": "Alex", "email": "alex@example.com", "id": "123" }
Cela confirme que votre **serveur MCP** fonctionne et est prêt pour les interactions pilotées par l'IA.
Conseils de dépannage
- **Erreurs de construction ?** Assurez-vous que votre spécification OpenAPI est valide et que TypeScript est activé dans votre projet Stainless.
- **Le client ne se connecte pas ?** Vérifiez le nom du paquet et la clé API dans votre configuration MCP, et redémarrez le client.
- **L'invite ne fonctionne pas ?** Vérifiez les configurations de vos points de terminaison et assurez-vous que l'action invitée correspond à un outil exposé.
- **Surcharge de contexte ?** Activez le mode outils dynamiques ou filtrez les ressources pour les API volumineuses.
Meilleures pratiques pour les serveurs MCP
- **Maintenir les outils ciblés** : N'exposez que les points de terminaison dont votre IA a besoin pour éviter l'encombrement du contexte.
- **Descriptions claires** : Rédigez des descriptions d'outils conviviales pour les LLM afin d'améliorer la précision des invites.
- **Utiliser des outils dynamiques pour les grandes API** : Simplifiez les grandes API avec des méta-outils pour économiser de l'espace de contexte.
- **Authentification sécurisée** : Utilisez des variables d'environnement ou OAuth pour les clés API en production.
- **Tester localement d'abord** : Utilisez les instructions du
README.md
pour tester avant de publier sur npm.
Conclusion
Et c'est tout ! Vous venez d'apprendre à **transformer votre API en serveur MCP** à l'aide de **Stainless**, transformant votre spécification OpenAPI en une centrale compatible avec l'IA. De la configuration des points de terminaison au test avec une invite de création d'utilisateur, ce guide facilite le pont entre votre API et les agents IA comme Claude ou Cursor. Que vous amélioriez un petit projet ou que vous mettiez à l'échelle une API de production, le **serveur MCP** est votre ticket pour des intégrations plus intelligentes et conversationnelles.
Prêt à essayer ? Prenez votre spécification OpenAPI, lancez Stainless et laissez votre API briller dans le monde de l'IA.
Vous voulez une plateforme intégrée et tout-en-un pour que votre équipe de développeurs travaille ensemble avec une productivité maximale ?
Apidog répond à toutes vos exigences et remplace Postman à un prix bien plus abordable !