Server del Protocollo di Contesto del Modello Apisix (mcp)
Il server del Protocollo di Contesto del Modello APISIX (MCP) è utilizzato per collegare i grandi modelli di linguaggio (LLM) con l'API di amministrazione di APISIX.
Panoramica
Cos'è il Protocollo di Contesto del Modello APISIX (MCP)?
Il Protocollo di Contesto del Modello APISIX (MCP) è un server progettato per connettere grandi modelli di linguaggio (LLM) con l'API di amministrazione di APISIX. Questa integrazione consente agli sviluppatori di sfruttare le capacità degli LLM nelle loro applicazioni, migliorando la funzionalità e abilitando interazioni più sofisticate.
Caratteristiche di APISIX MCP
- Integrazione senza soluzione di continuità: APISIX MCP fornisce un modo semplice per connettere gli LLM con l'API di amministrazione di APISIX, facilitando l'accesso a capacità avanzate di elaborazione del linguaggio.
- Repository pubblico: Il progetto è open-source e disponibile su GitHub, consentendo agli sviluppatori di contribuire e personalizzare la soluzione in base alle loro esigenze.
- Licenza Apache-2.0: Il MCP è concesso in licenza sotto la licenza Apache-2.0, garantendo che possa essere utilizzato e modificato liberamente.
- Supporto della comunità: Con un numero crescente di stelle e fork su GitHub, la comunità attorno ad APISIX MCP è attiva, fornendo supporto e miglioramenti.
Come utilizzare APISIX MCP
- Installazione: Inizia clonando il repository da GitHub. Usa il comando:
git clone https://github.com/api7/apisix-mcp.git
- Configurazione: Imposta le configurazioni necessarie per connettere il tuo LLM con l'API di amministrazione di APISIX. Questo potrebbe comportare la specifica di endpoint API e dettagli di autenticazione.
- Distribuzione: Distribuisci il server MCP nel tuo ambiente. Assicurati che sia accessibile alle tue applicazioni che utilizzeranno le capacità dell'LLM.
- Integrazione: Usa gli endpoint API forniti per interagire con gli LLM. Questo può includere l'invio di richieste per generazione di testo, analisi o altri compiti di elaborazione del linguaggio.
Domande Frequenti
Quali sono i requisiti per utilizzare APISIX MCP?
Per utilizzare APISIX MCP, dovresti avere una comprensione di base delle API e familiarità con Git per clonare il repository. Inoltre, è utile avere conoscenze del linguaggio di programmazione che intendi utilizzare per l'integrazione.
Posso contribuire al progetto APISIX MCP?
Sì! Il progetto è open-source e le contribuzioni sono benvenute. Puoi inviare problemi, richieste di funzionalità o pull request sul repository di GitHub.
È disponibile della documentazione?
Sì, la documentazione dettagliata è solitamente fornita nel file README del repository e in file markdown aggiuntivi. Puoi anche trovare discussioni della comunità ed esempi nella sezione delle issue.
Come posso segnalare bug o richiedere funzionalità?
Puoi segnalare bug o richiedere funzionalità aprendo un'issue sul repository di GitHub. Assicurati di fornire una descrizione chiara e eventuali dettagli pertinenti per aiutare i manutentori a gestire la tua richiesta in modo efficace.
Dettaglio
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=[])
Configurazione Server
{
"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"
}
}
}
}