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

smithery badge

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 ID
  • send_request_to_gateway: Send a request or multiple requests to the APISIX gateway

API Resources Operations

  • create_route/update_route/delete_route: Manage routes
  • create_service/update_service/delete_service: Manage services
  • create_upstream/update_upstream/delete_upstream: Manage upstream
  • create_ssl/update_ssl/delete_ssl: Manage SSL certificates
  • create_or_update_proto: Manage protobuf definitions
  • create_or_update_stream_route: Manage stream routes

Plugin Operations

  • get_all_plugin_names: Get all available plugin names
  • get_plugin_info/get_plugins_by_type/get_plugin_schema: Retrieve plugins configuration
  • create_plugin_config/update_plugin_config: Manage plugin configurations
  • create_global_rule/update_global_rule: Manage plugin global rules
  • get_plugin_metadata/create_or_update_plugin_metadata/delete_plugin_metadata: Manage plugin metadata

Security Configuration

  • get_secret_by_id/create_secret/update_secret: Manage secrets
  • create_or_update_consumer/delete_consumer: Manage consumers
  • get_credential/create_or_update_credential/delete_credential/: Manage consumer credentials
  • create_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

VariableDescriptionDefault Value
APISIX_SERVER_HOSTHost that have access to your APISIX serverhttp://127.0.0.1
APISIX_SERVER_PORTAPISIX server port9080
APISIX_ADMIN_API_PORTAdmin API port9180
APISIX_ADMIN_API_PREFIXAdmin API prefix/apisix/admin
APISIX_ADMIN_KEYAdmin API authentication keyedd1c9f034335f136f87ad84b625c8f1

To view or modify Admin API configurations in APISIX, refer to the Admin API documentation.

Related Servers