Serveur de Protocole de Contexte de Modèle Apisix (mcp)
Le serveur de protocole de contexte de modèle APISIX (MCP) est utilisé pour relier les grands modèles de langage (LLMs) avec l'API Admin d'APISIX.
Aperçu
Qu'est-ce que le Protocole de Contexte de Modèle APISIX (MCP) ?
Le Protocole de Contexte de Modèle APISIX (MCP) est un serveur conçu pour connecter de grands modèles de langage (LLMs) avec l'API Admin d'APISIX. Cette intégration permet aux développeurs de tirer parti des capacités des LLMs dans leurs applications, améliorant ainsi la fonctionnalité et permettant des interactions plus sophistiquées.
Caractéristiques de l'APISIX MCP
- Intégration Transparente : L'APISIX MCP offre un moyen simple de connecter les LLMs avec l'API Admin d'APISIX, facilitant l'accès à des capacités avancées de traitement du langage.
- Répertoire Public : Le projet est open-source et disponible sur GitHub, permettant aux développeurs de contribuer et de personnaliser la solution selon leurs besoins.
- Licence Apache-2.0 : Le MCP est sous licence Apache-2.0, garantissant qu'il peut être utilisé et modifié librement.
- Support Communautaire : Avec un nombre croissant d'étoiles et de forks sur GitHub, la communauté autour de l'APISIX MCP est active, fournissant support et améliorations.
Comment Utiliser l'APISIX MCP
- Installation : Commencez par cloner le répertoire depuis GitHub. Utilisez la commande :
git clone https://github.com/api7/apisix-mcp.git
- Configuration : Configurez les paramètres nécessaires pour connecter votre LLM avec l'API Admin d'APISIX. Cela peut impliquer de spécifier des points de terminaison API et des détails d'authentification.
- Déploiement : Déployez le serveur MCP dans votre environnement. Assurez-vous qu'il est accessible à vos applications qui utiliseront les capacités du LLM.
- Intégration : Utilisez les points de terminaison API fournis pour interagir avec les LLMs. Cela peut inclure l'envoi de requêtes pour la génération de texte, l'analyse ou d'autres tâches de traitement du langage.
Questions Fréquemment Posées
Quelles sont les conditions préalables pour utiliser l'APISIX MCP ?
Pour utiliser l'APISIX MCP, vous devez avoir une compréhension de base des API et être familier avec Git pour cloner le répertoire. De plus, des connaissances dans le langage de programmation que vous prévoyez d'utiliser pour l'intégration sont bénéfiques.
Puis-je contribuer au projet APISIX MCP ?
Oui ! Le projet est open-source et les contributions sont les bienvenues. Vous pouvez soumettre des problèmes, des demandes de fonctionnalités ou des demandes de tirage sur le répertoire GitHub.
Y a-t-il une documentation disponible ?
Oui, une documentation détaillée est généralement fournie dans le fichier README du répertoire et dans d'autres fichiers markdown. Vous pouvez également trouver des discussions communautaires et des exemples dans la section des problèmes.
Comment puis-je signaler des bugs ou demander des fonctionnalités ?
Vous pouvez signaler des bugs ou demander des fonctionnalités en ouvrant un problème sur le répertoire GitHub. Assurez-vous de fournir une description claire et tous les détails pertinents pour aider les mainteneurs à traiter votre demande efficacement.
Détail
APISIX Model Context Protocol (MCP) Server
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API. It aims to enable natural language-based interaction for viewing and managing resources in APISIX through MCP-compatible AI clients.
https://github.com/user-attachments/assets/081e878c-225e-4ff8-a9c5-5813f4784cfe
Support Operations
Common Operations
get_resource
: Retrieve resources by type (routes, services, upstreams, etc.)delete_resource
: Remove resources by IDsend_request_to_gateway
: Send a request or multiple requests to the APISIX gateway
API Resources Operations
create_route
/update_route
/delete_route
: Manage routescreate_service
/update_service
/delete_service
: Manage servicescreate_upstream
/update_upstream
/delete_upstream
: Manage upstreamcreate_ssl
/update_ssl
/delete_ssl
: Manage SSL certificatescreate_or_update_proto
: Manage protobuf definitionscreate_or_update_stream_route
: Manage stream routes
Plugin Operations
get_all_plugin_names
: Get all available plugin namesget_plugin_info
/get_plugins_by_type
/get_plugin_schema
: Retrieve plugins configurationcreate_plugin_config
/update_plugin_config
: Manage plugin configurationscreate_global_rule
/update_global_rule
: Manage plugin global rulesget_plugin_metadata
/create_or_update_plugin_metadata
/delete_plugin_metadata
: Manage plugin metadata
Security Configuration
get_secret_by_id
/create_secret
/update_secret
: Manage secretscreate_or_update_consumer
/delete_consumer
: Manage consumersget_credential
/create_or_update_credential
/delete_credential
/: Manage consumer credentialscreate_consumer_group
/delete_consumer_group
: Manage consumer groups
Configuration in AI client
Prerequisite
Follow the APISIX Getting Started guide to set up and run APISIX.
Installing via Smithery
To install APISIX Model Context Protocol Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @api7/apisix-mcp --client claude
Using npm
Configure your AI client (Cursor, Claude, Copilot, etc.) with following settings:
{
"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"
}
}
}
}
Using source code
First clone the apisix-mcp repository:
git clone https://github.com/api7/apisix-mcp.git
cd apisix-mcp
Install the dependencies and build the project:
pnpm install
pnpm build
Configure your AI client (Cursor, Claude, Copilot, etc.) with following settings:
{
"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"
}
}
}
}
Environment Variables
Variable | Description | Default Value |
---|---|---|
APISIX_SERVER_HOST | Host that have access to your APISIX server | http://127.0.0.1 |
APISIX_SERVER_PORT | APISIX server port | 9080 |
APISIX_ADMIN_API_PORT | Admin API port | 9180 |
APISIX_ADMIN_API_PREFIX | Admin API prefix | /apisix/admin |
APISIX_ADMIN_KEY | Admin API authentication key | edd1c9f034335f136f87ad84b625c8f1 |
To view or modify Admin API configurations in APISIX, refer to the Admin API documentation.
Resources
Open MCP Marketplace API Support
- Allow AI App/Agent/LLM to find this MCP Server via common python/typescript API, search and explore relevant servers and tools
Example: Search Server and Tools
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=[])
Configuration du serveur
{
"mcpServers": {
"apisix-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--api7--apisix-mcp--apisix-mcp",
"pnpm run start"
],
"env": {
"APISIX_SERVER_HOST": "apisix-server-host",
"APISIX_SERVER_PORT": "apisix-server-port",
"APISIX_ADMIN_API_PORT": "apisix-admin-api-port",
"APISIX_ADMIN_API_PREFIX": "apisix-admin-api-prefix",
"APISIX_ADMIN_KEY": "apisix-admin-key"
}
}
}
}