Servidor do Protocolo de Contexto do Modelo Apisix (mcp)
O servidor do Protocolo de Contexto do Modelo APISIX (MCP) é usado para conectar grandes modelos de linguagem (LLMs) com a API Admin do APISIX.
Visão geral
O que é o Protocolo de Contexto de Modelo APISIX (MCP)?
O Protocolo de Contexto de Modelo APISIX (MCP) é um servidor projetado para conectar grandes modelos de linguagem (LLMs) com a API Admin do APISIX. Essa integração permite que os desenvolvedores aproveitem as capacidades dos LLMs em suas aplicações, melhorando a funcionalidade e possibilitando interações mais sofisticadas.
Recursos do APISIX MCP
- Integração Sem Costura: O APISIX MCP fornece uma maneira simples de conectar LLMs com a API Admin do APISIX, facilitando o acesso a capacidades avançadas de processamento de linguagem.
- Repositório Público: O projeto é de código aberto e está disponível no GitHub, permitindo que os desenvolvedores contribuam e personalizem a solução para atender às suas necessidades.
- Licença Apache-2.0: O MCP é licenciado sob a licença Apache-2.0, garantindo que possa ser usado e modificado livremente.
- Suporte da Comunidade: Com um número crescente de estrelas e forks no GitHub, a comunidade em torno do APISIX MCP é ativa, oferecendo suporte e melhorias.
Como Usar o APISIX MCP
- Instalação: Comece clonando o repositório do GitHub. Use o comando:
git clone https://github.com/api7/apisix-mcp.git
- Configuração: Configure as configurações necessárias para conectar seu LLM com a API Admin do APISIX. Isso pode envolver a especificação de endpoints da API e detalhes de autenticação.
- Implantação: Implemente o servidor MCP em seu ambiente. Certifique-se de que ele seja acessível para suas aplicações que utilizarão as capacidades do LLM.
- Integração: Use os endpoints da API fornecidos para interagir com os LLMs. Isso pode incluir o envio de solicitações para geração de texto, análise ou outras tarefas de processamento de linguagem.
Perguntas Frequentes
Quais são os pré-requisitos para usar o APISIX MCP?
Para usar o APISIX MCP, você deve ter um entendimento básico de APIs e familiaridade com Git para clonar o repositório. Além disso, o conhecimento da linguagem de programação que você planeja usar para a integração é benéfico.
Posso contribuir para o projeto APISIX MCP?
Sim! O projeto é de código aberto e contribuições são bem-vindas. Você pode enviar problemas, solicitações de recursos ou pull requests no repositório do GitHub.
Existe alguma documentação disponível?
Sim, a documentação detalhada é normalmente fornecida no arquivo README do repositório e em arquivos markdown adicionais. Você também pode encontrar discussões da comunidade e exemplos na seção de problemas.
Como posso relatar bugs ou solicitar recursos?
Você pode relatar bugs ou solicitar recursos abrindo um problema no repositório do GitHub. Certifique-se de fornecer uma descrição clara e quaisquer detalhes relevantes para ajudar os mantenedores a atender sua solicitação de forma eficaz.
Detalhe
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=[])
Configuração do 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"
}
}
}
}