Servidor APISIX Model Context Protocol (MCP)
El servidor APISIX Model Context Protocol (MCP) se utiliza para conectar grandes modelos lingüísticos (LLM) con la API de administración de APISIX. Su objetivo es permitir la interacción basada en el lenguaje natural para la visualización y gestión de recursos en APISIX a través de clientes AI compatibles con MCP.
mcp-demo.mp4
Operaciones de soporte
Operaciones comunes
get_resource
: Recuperar recursos por tipo (rutas, servicios, upstreams, etc.)delete_resource
: Eliminar recursos por IDsend_request_to_gateway
: Enviar una solicitud o varias solicitudes a la pasarela APISIX
Operaciones de recursos de API
create_route/update_route/delete_route
: Gestionar rutascrear_servicio/actualizar_servicio/eliminar_servicio
: Gestionar servicioscreate_upstream/update_upstream/delete_upstream
: Gestionar flujo ascendentecreate_ssl/update_ssl/delete_ssl
: Gestión de certificados SSLcreate_or_update_proto
: Gestionar definiciones de protobufscreate_or_update_stream_route
: Gestionar rutas de flujo
Operaciones con plugins
get_all_plugin_names
: Obtener todos los nombres de plugins disponiblesget_plugin_info/get_plugins_by_type/get_plugin_schema
: Recupera la configuración de los pluginscreate_plugin_config/update_plugin_config
: Gestionar configuraciones de pluginscreate_global_rule/update_global_rule
: Gestión de reglas globales de pluginsget_plugin_metadata/create_or_update_plugin_metadata/delete_plugin_metadata
: Gestión de metadatos de plugins
Configuración de seguridad
get_secret_by_id/create_secret/update_secret
: Gestión de secretoscreate_or_update_consumer/delete_consumer
: Gestión de consumidoresget_credential/create_or_update_credential/delete_credential/
: Gestionar credenciales de consumidorescreate_consumer_group/delete_consumer_group
: Gestión de grupos de consumidores
Configuración en el cliente AI
Requisitos previos
Siga la guía de inicio de APISIX para configurar y ejecutar APISIX.
Instalación a través de Smithery
Para instalar APISIX Model Context Protocol Server para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @api7/apisix-mcp --client claude
Usando npm
Configure su cliente AI (Cursor, Claude, Copilot, etc.) con las siguientes opciones:
{ "mcpServers": { "apisix-mcp": { "command": "npx", "args": [ "-y", "apisix-mcp" ], "env": { "APISIX_SERVER_HOST": "tu-apisix-servidor-host", "APISIX_SERVER_PORT": "your-apisix-server-port", "APISIX_ADMIN_API_PORT": "your-apisix-admin-api-port", "APISIX_ADMIN_API_PREFIX": "su-apisix-admin-api-prefijo", "APISIX_ADMIN_KEY": "your-apisix-api-key" } } }
Uso del código fuente
Primero clona el repositorio apisix-mcp:
git clone https://github.com/api7/apisix-mcp.gitcd apisix-mcp
Instala las dependencias y construye el proyecto:
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": "su-apisix-admin-api-prefijo", "APISIX_ADMIN_KEY": "your-apisix-api-key" } } }
Variables de entorno
Variable | Descripción | Valor por defecto |
---|---|---|
APISIX_SERVER_HOST | Host que tiene acceso a su servidor APISIX | http://127.0.0.1 |
APISIX_SERVER_PORT | Puerto del servidor APISIX | 9080 |
APISIX_ADMIN_API_PORT | Puerto API de administración | 9180 |
APISIX_ADMIN_API_PREFIX | Prefijo de la API de administración | /apisix/admin |
APISIX_ADMIN_KEY | Clave de autenticación de la API de administración | edd1c9f034335f136f87ad84b625c8f1 |
Para ver o modificar las configuraciones de la API de administración en APISIX, consulte la documentación de la API de administración.
Recursos
Soporte de la API Open MCP Marketplace
|GitHub|Doc|MCP Marketplace
- Permite a AI App/Agent/LLM encontrar este servidor MCP a través de la API común python/typescript, buscar y explorar servidores y herramientas relevantes
Ejemplo: Buscar servidores y herramientas
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") # buscar servidor por categoría elegir varios endpoint result_id = mcpm.search(id="api7/apisix-mcp", mode="list", page_id=0, count_per_page=100, config_name="deepnlp") # buscar servidor por id elegir varios puntos finales tools = mcpm.list_tools(id="api7/apisix-mcp", config_name="deepnlp_tool") # Llamar a Claude para elegir herramientas Llamadas a funciones client = anthropic.Anthropic() response = client.messages.create(model="claude-3-7-sonnet-20250219", max_tokens=1024, tools=tools, messages=[])