APISIX-MCP
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API, supporting querying and managing all resources in Apache APISIX.
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.
mcp-demo.mp4
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
{ "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
|GitHub|Doc|MCP Marketplace
- 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=[])
Related Servers
Qovery
An MCP server for Qovery AI Copilot that enables deploying apps and managing Kubernetes on AWS, GCP, Azure, and On-Premise infrastructure with natural language
Vertex AI MCP Server
Interact with Google Cloud's Vertex AI Gemini models for coding assistance and general query answering.
AWS MCP Server
An MCP server for AWS operations, supporting S3 and DynamoDB services. Requires AWS credentials.
Maestro MCP Server
Interact with the Bitcoin blockchain using the Maestro API to explore blocks, transactions, and addresses.
MCP DigitalOcean Integration
Manage DigitalOcean resources and perform actions using the DigitalOcean API.
Remote MCP Proxy
A Docker-based proxy to access local MCP servers through Claude's web UI using the Remote MCP protocol.
Crypto MCP Server
Fetches real-time cryptocurrency prices from the CoinGecko API.
Alpaca
Interact with the Alpaca trading API for stock trading, market data, and account management.
Unstoppable Domains MCP
AI-powered domain name management — search availability, check pricing, manage your portfolio, configure DNS, list domains for sale, and complete purchases via natural language across 400+ ICANN TLDs.
MCP Kubernetes
Execute Kubernetes commands using kubectl from any MCP-compatible client. Requires a valid kubeconfig file.