Servidor del Protocolo de Contexto del Modelo Apisix (mcp)
El servidor del Protocolo de Contexto del Modelo APISIX (MCP) se utiliza para conectar modelos de lenguaje grandes (LLMs) con la API de administración de APISIX.
Resumen
¿Qué es el Protocolo de Contexto del Modelo APISIX (MCP)?
El Protocolo de Contexto del Modelo APISIX (MCP) es un servidor diseñado para conectar modelos de lenguaje grandes (LLMs) con la API de administración de APISIX. Esta integración permite a los desarrolladores aprovechar las capacidades de los LLMs en sus aplicaciones, mejorando la funcionalidad y habilitando interacciones más sofisticadas.
Características del MCP de APISIX
- Integración Sin Problemas: El MCP de APISIX proporciona una forma sencilla de conectar LLMs con la API de administración de APISIX, facilitando el acceso a capacidades avanzadas de procesamiento del lenguaje.
- Repositorio Público: El proyecto es de código abierto y está disponible en GitHub, lo que permite a los desarrolladores contribuir y personalizar la solución según sus necesidades.
- Licencia Apache-2.0: El MCP está licenciado bajo la licencia Apache-2.0, lo que garantiza que se puede usar y modificar libremente.
- Soporte Comunitario: Con un número creciente de estrellas y bifurcaciones en GitHub, la comunidad alrededor del MCP de APISIX es activa, proporcionando soporte y mejoras.
Cómo Usar el MCP de APISIX
- Instalación: Comienza clonando el repositorio desde GitHub. Usa el comando:
git clone https://github.com/api7/apisix-mcp.git
- Configuración: Configura las configuraciones necesarias para conectar tu LLM con la API de administración de APISIX. Esto puede implicar especificar puntos finales de API y detalles de autenticación.
- Despliegue: Despliega el servidor MCP en tu entorno. Asegúrate de que sea accesible para tus aplicaciones que utilizarán las capacidades del LLM.
- Integración: Usa los puntos finales de API proporcionados para interactuar con los LLMs. Esto puede incluir enviar solicitudes para generación de texto, análisis u otras tareas de procesamiento del lenguaje.
Preguntas Frecuentes
¿Cuáles son los requisitos previos para usar el MCP de APISIX?
Para usar el MCP de APISIX, deberías tener un entendimiento básico de las APIs y familiaridad con Git para clonar el repositorio. Además, el conocimiento del lenguaje de programación que planeas usar para la integración es beneficioso.
¿Puedo contribuir al proyecto MCP de APISIX?
¡Sí! El proyecto es de código abierto y las contribuciones son bienvenidas. Puedes enviar problemas, solicitudes de características o solicitudes de extracción en el repositorio de GitHub.
¿Hay documentación disponible?
Sí, la documentación detallada generalmente se proporciona en el archivo README del repositorio y en archivos markdown adicionales. También puedes encontrar discusiones comunitarias y ejemplos en la sección de problemas.
¿Cómo puedo reportar errores o solicitar características?
Puedes reportar errores o solicitar características abriendo un problema en el repositorio de GitHub. Asegúrate de proporcionar una descripción clara y cualquier detalle relevante para ayudar a los mantenedores a abordar tu solicitud de manera efectiva.
Detalle
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=[])
Configuración del Servidor
{
"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"
}
}
}
}