openapi-mcp-server : permet à l'IA d'invoquer directement les services MCP à l'aide d'API ouvertes

Introduction générale

openapi-mcp-server est un outil open source conçu pour transformer les API conformes à OpenAPI v3.1 en ressources utilisables par l'IA. Il est maintenu par janwilmake et développé sur la base du protocole Model Context Protocol (MCP). La fonction principale du projet est d'agir comme un proxy d'API, permettant aux développeurs d'utiliser l'API de l Claude Des outils tels que Desktop interagissent directement avec l'API. Cet outil est particulièrement adapté aux développeurs et aux ingénieurs en IA qui ont besoin d'intégrer rapidement des API. Il est conçu pour être simple et direct, en open-source sur GitHub, et libre d'utilisation ou de contribution au code.

openapi-mcp-server:让AI直接调用开放API的MCP服务

 

Liste des fonctions

  • API vers proxy MCP: Convertit les points de terminaison spécifiés par OpenAPI en outils utilisables par Claude.
  • Prise en charge de plusieurs formatsLes APIs peuvent être converties en OpenAI, Anthropic ou MCP Format de l'outil.
  • opération en ligne de commandeL'interface de programmation (CLI) : fournit des outils CLI pour faciliter les appels programmatiques à l'interface de programmation.
  • exemple de serveurExemples d'API Petstore intégrés pour aider les utilisateurs à démarrer rapidement.
  • Open source et gratuitLe code est accessible au public et peut être librement modifié et étendu par l'utilisateur.

 

Utiliser l'aide

openapi-mcp-server ne nécessite pas d'installation compliquée, il suffit de récupérer le code source via GitHub et de l'exécuter. Voici les étapes détaillées.

Installation et fonctionnement

  1. Préparation de l'environnement
    Assurez-vous que Node.js et pnpm sont installés sur votre ordinateur (recommandé). Ceci peut être vérifié avec la commande :
node -v
pnpm -v

Si ce n'est pas le cas, visitez le site https://nodejs.org répondre en chantant https://pnpm.io Télécharger et installer.
2. entrepôt de clones
Ouvrez un terminal et tapez

git clone https://github.com/janwilmake/openapi-mcp-server.git
cd openapi-mcp-server
  1. Installation des dépendances
    Exécuter dans le répertoire du projet :
pnpm install
  1. Construire le projet
    Construire le code pour s'assurer du bon fonctionnement :
pnpm build
  1. Liaison des commandes globales
    Mettre à disposition des outils de ligne de commande :
npm link

Configuration de Claude Desktop

  1. Modifier le fichier de configuration
    Trouvez le fichier de configuration de Claude Desktop, généralement dans :
  • Fenêtres. %AppData%\Claude\claude_desktop_config.json
  • Mac. ~/Library/Application Support/Claude/claude_desktop_config.json
    Si ce n'est pas le cas, créez un nouveau fichier.
  1. Ajout d'un serveur MCP
    Ajoutez les éléments suivants au fichier de configuration :
{
"mcpServers": {
"petstore-api": {
"command": "npx",
"args": ["openapi-mcp-server", "/path/to/petstore-openapi.json"]
}
}
}

commandant en chef (militaire) /path/to/petstore-openapi.json Remplacez-le par le chemin d'accès à votre fichier OpenAPI, par exemple le fichier examples/petstore-openapi.json.
3. Démarrer Claude Desktop
Lancez Claude Desktop et il chargera automatiquement ce serveur.

Appeler l'API avec l'interface de programmation

  1. Préparation du fichier OpenAPI
    Assurez-vous d'avoir le fichier JSON OpenAPI v3.1 pour l'API cible, par exemple petstore-openapi.json.
  2. Exécuter la commande
    Saisissez-le dans le terminal :
npx openapi-mcp-server /path/to/your-openapi.json

Cela permet de démarrer un serveur proxy.
3. Exemple de test d'une animalerie
Le projet est fourni avec un exemple d'API Petstore. Exécutez-le :

npx openapi-mcp-server examples/petstore-openapi.json

Interagissez ensuite avec lui dans Claude Desktop, par exemple en tapant "get pet by ID".

API de conversion programmatique

  1. Importation du module
    Dans votre projet Node.js, ajoutez le code :
import { OpenAPIToMCPConverter } from 'openapi-mcp-server';
  1. API de conversion
    Utilisez le code suivant pour convertir OpenAPI au format outil :
const converter = new OpenAPIToMCPConverter(openApiSpec); // openApiSpec 是你的 JSON 数据
const openAiTools = await converter.convertToOpenAITools(); // 转为 OpenAI 格式
const mcpTools = converter.convertToMCPTools(); // 转为 MCP 格式
  1. Appeler l'API
    Utiliser HttpClient pour exécuter la requête :
import { HttpClient } from 'openapi-mcp-server';
const httpClient = new HttpClient({ baseUrl: 'https://api.example.com' }, openApiSpec);
const response = await httpClient.executeOperation(mcpTools.openApiLookup['getPetById'], { petId: 123 });

suggestion d'opération

  • Problèmes de débogageSi Claude se plante, vérifiez la spécification du fichier OpenAPI à l'aide de la commande https://editor.swagger.io Validation.
  • Code de mise à jourAprès avoir modifié le code, exécutez pnpm build et redémarrer Claude Desktop.
  • Exemples d'apprentissage: Voir examples/README.mdPour comprendre les opérations CRUD du serveur Petstore, vous devez savoir comment utiliser le serveur Petstore.

 

scénario d'application

  1. Intégration rapide de l'API
    Un développeur souhaite ajouter une fonctionnalité de gestion des animaux domestiques à un projet. Il a chargé l'API Petstore avec openapi-mcp-server et a testé les points de terminaison directement dans Claude pour gagner du temps en écrivant le code manuellement.
  2. Développement assisté par l'IA
    L'ingénieur IA doit générer le code d'appel API. Il convertit le fichier OpenAPI à l'aide d'un outil et génère le code de requête complet avec Claude.
  3. Démonstration d'enseignement
    L'enseignant utilise l'exemple de Petstore pour montrer aux élèves comment brancher des API sur des outils d'IA et apprendre les interactions entre API.

 

QA

  1. Dois-je payer ?
    Pas besoin, le projet est entièrement open source et gratuit, hébergé sur GitHub.
  2. Quelles sont les API prises en charge ?
    Toute API faisant partie de la spécification OpenAPI v3.1 est acceptable, comme GitHub, Cloudflare, etc.
  3. Et si Claude ne le reconnaît pas ?
    Vérifiez que le chemin du fichier de configuration et le fichier OpenAPI sont corrects et que le serveur est opérationnel.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...