Serveur APISIX Model Context Protocol (MCP)
Le serveur APISIX Model Context Protocol (MCP) est utilisé pour relier les grands modèles de langage (LLM) à l'API d'administration d'APISIX. Il vise à permettre une interaction basée sur le langage naturel pour la visualisation et la gestion des ressources dans APISIX par le biais de clients IA compatibles avec le MCP.
mcp-demo.mp4
Opérations de support
Opérations communes
get_resource
: Récupérer des ressources par type (routes, services, upstreams, etc.)delete_resource
: Supprime les ressources par identifiantsend_request_to_gateway
: Envoyer une requête ou plusieurs requêtes à la passerelle APISIX
Opérations sur les ressources API
create_route/update_route/delete_route
: Gérer les itinérairescreate_service/update_service/delete_service
: Gérer les servicescreate_upstream/update_upstream/delete_upstream
: Gestion de l'amontcreate_ssl/update_ssl/delete_ssl
: gestion des certificats SSLcreate_or_update_proto
: Gestion des définitions de protobufcreate_or_update_stream_route
: Gérer les routes de flux
Opérations sur les plugins
get_all_plugin_names
: Obtenir tous les noms de plugins disponiblesget_plugin_info/get_plugins_by_type/get_plugin_schema
: Récupère la configuration des pluginscreate_plugin_config/update_plugin_config
: Gérer les configurations des pluginscreate_global_rule/update_global_rule
: Gérer les règles globales du pluginget_plugin_metadata/create_or_update_plugin_metadata/delete_plugin_metadata
: Gérer les métadonnées des plugins
Configuration de la sécurité
get_secret_by_id/create_secret/update_secret
: Gestion des secretscreate_or_update_consumer/delete_consumer
: Gestion des consommateursget_credential/create_or_update_credential/delete_credential/
: Gestion des informations d'identification des consommateurscreate_consumer_group/delete_consumer_group
: Gestion des groupes de consommateurs
Configuration dans le client AI
Conditions préalables
Suivez le guide de démarrage d'APISIX pour configurer et exécuter APISIX.
Installation via Smithery
Pour installer APISIX Model Context Protocol Server pour Claude Desktop automatiquement via Smithery :
npx -y @smithery/cli install @api7/apisix-mcp --client claude
Utilisation de npm
Configurez votre client AI (Cursor, Claude, Copilot, etc.) avec les paramètres suivants :
{ "mcpServers" : { "apisix-mcp" : { "command" : "npx", "args" : [ "-y", "apisix-mcp" ], "env" : { "APISIX_SERVER_HOST" : "your-apisix-server-host", "APISIX_SERVER_PORT" : "your-apisix-server-port", "APISIX_ADMIN_API_PORT" : "your-apisix-admin-api-port", "APISIX_ADMIN_API_PREFIX" : "your-apisix-admin-api-prefix", "APISIX_ADMIN_KEY" : "your-apisix-api-key" } } } }
Utilisation du code source
Commencez par cloner le dépôt apisix-mcp :
git clone https://github.com/api7/apisix-mcp.gitcd apisix-mcp
Installez les dépendances et construisez le projet :
pnpm install pnpm build
{ "mcpServers" : { "apisix-mcp" : { "command" : "node", "args" : [ "your-apisix-mcp-path/dist/index.js" ], "env" : { "APISIX_SERVER_HOST" : "your-apisix-server-host", "APISIX_SERVER_PORT" : "your-apisix-server-port", "APISIX_ADMIN_API_PORT" : "your-apisix-admin-api-port", "APISIX_ADMIN_API_PREFIX" : "your-apisix-admin-api-prefix", "APISIX_ADMIN_KEY" : "your-apisix-api-key" } } } }
Variables d'environnement
Variable | Description de la variable | Valeur par défaut |
---|---|---|
APISIX_SERVER_HOST | Hôte qui a accès à votre serveur APISIX | http://127.0.0.1 |
APISIX_SERVER_PORT | Port du serveur APISIX | 9080 |
APISIX_ADMIN_API_PORT | Port de l'API d'administration | 9180 |
APISIX_ADMIN_API_PREFIX | Préfixe de l'API d'administration | /apisix/admin |
APISIX_ADMIN_KEY | Clé d'authentification de l'API Admin | edd1c9f034335f136f87ad84b625c8f1 |
Pour afficher ou modifier les configurations de l'API d'administration dans APISIX, reportez-vous à la documentation de l'API d'administration.
Ressources
Support de l'API Open MCP Marketplace
|GitHub|Doc|MCP Marketplace
- Permet à AI App/Agent/LLM de trouver ce serveur MCP via une API python/typescript commune, de rechercher et d'explorer des serveurs et des outils pertinents
Exemple : Recherche de serveurs et d'outils
import anthropic import mcp_marketplace as mcpm result_q = mcpm.search(query="apisix mcp", mode="list", page_id=0, count_per_page=100, config_name="deepnlp") # search server by category choose various endpoint result_id = mcpm.search(id="api7/apisix-mcp", mode="list", page_id=0, count_per_page=100, config_name="deepnlp") # search server by id choose various endpoint tools = mcpm.list_tools(id="api7/apisix-mcp", config_name="deepnlp_tool") # Call Claude to Choose Tools Function Calls client = anthropic.Anthropic() response = client.messages.create(model="claude-3-7-sonnet-20250219", max_tokens=1024, tools=tools, messages=[])