Skip to main content
Glama

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 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

Related MCP server: DolphinScheduler MCP Server

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

MCP Marketplace User Review Rating Badge|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=[])

Available Tools

32 tools
create_consumer_groupC

Create a consumer group

Inputs: consumerGroup (required), id.

create_global_ruleC

Create a global rule

Inputs: id (required), plugins (required).

create_or_update_consumerC

Create a consumer, if the consumer already exists, it will be updated

Inputs: username (required), desc, group_id, labels, +1 more.

create_or_update_credentialC

Create or update a credential for a consumer

Inputs: credential (required), id (required), username (required).

create_or_update_plugin_metadataC

Create or update plugin metadata

Inputs: metadata (required), name (required).

create_or_update_protoC

Create a proto, if the proto already exists, it will be updated

Inputs: proto (required), id.

create_or_update_stream_routeC

Create a stream route, if the stream route already exists, it will be updated

Inputs: route (required), id.

create_plugin_configC

Create a new plugin config

Inputs: id (required), plugins (required).

create_routeD

Create a route

Inputs: route (required), id.

create_secretD

Create a secret

Inputs: manager (required), secret (required), id.

create_serviceD

Create a service

Inputs: service (required), id.

create_sslC

Create an SSL certificate

Inputs: ssl (required), id.

create_upstreamC

Create an upstream service with load balancing settings

Inputs: upstream (required), id.

delete_credentialC

Delete a credential for a consumer

Inputs: id (required), username (required).

delete_plugin_metadataC

Delete plugin metadata

Inputs: name (required).

delete_resourceC

Delete a resource by ID

Inputs: id (required), type (required).

delete_secretC

Delete a secret by ID

Inputs: id (required), manager (required).

get_all_plugin_namesB

Get all plugin names

get_credentialC

Get all credentials or a specific credential for a consumer

Inputs: username (required), id.

get_plugin_metadataC

Get metadata for a specific plugin

Inputs: name (required).

get_plugin_schemaC

Get all plugins schema or a specific plugin schema by name

Inputs: name (required), type.

get_resourceC

Get resource details by ID or list all resources

Inputs: type (required), id, labels, name, +3 more.

get_secret_by_idC

Get a secret by ID

Inputs: manager (required), id, page, page_size.

send_request_to_gatewayC

Send a request or multiple requests to the APISIX gateway

Inputs: requests (required).

update_consumer_groupC

Update specific attributes of an existing consumer group

Inputs: consumerGroup, id.

update_global_ruleC

Update specific attributes of an existing global rule

Inputs: id, plugins.

update_plugin_configC

Update a plugin config

Inputs: id, plugins.

update_routeC

Update specific attributes of an existing route

Inputs: id, route.

update_secretC

Update specific attributes of an existing secret

Inputs: id, manager, secret.

update_serviceC

Update specific attributes of an existing service

Inputs: id, service.

update_sslC

Update specific attributes of an existing SSL certificate

Inputs: id, ssl.

update_upstreamC

Update specific attributes of an existing upstream

Inputs: id, upstream.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 32 tools

    Disambiguation4/5

    Most tools are clearly distinguished by their target resource (e.g., consumer, route, plugin) and action (create, update, delete), with minimal overlap. However, some tools like 'create_or_update_consumer' and 'update_consumer_group' could cause confusion about whether they handle similar entities, and 'delete_resource' is overly generic compared to specific delete tools like 'delete_secret'.

    Naming Consistency4/5

    The naming follows a consistent verb_noun pattern (e.g., create_route, update_service, delete_secret) with clear actions and resources. Minor deviations exist, such as 'send_request_to_gateway' using a longer phrase and 'get_all_plugin_names' including 'all', but overall the conventions are predictable and readable.

    Tool Count3/5

    With 32 tools, the count is on the high side for an API management server, bordering on heavy. While APISIX has many components (consumers, routes, plugins, etc.), this many tools might overwhelm agents or indicate fragmentation. It's reasonable but could benefit from consolidation or better scoping.

    Completeness5/5

    The tool set provides comprehensive CRUD and lifecycle coverage for APISIX's domain, including consumers, routes, services, plugins, SSL, and more. It supports create, update, delete, and get operations across all major resources, with no obvious gaps for core API gateway management tasks.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      A
      maintenance
      A server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.
      10,266 npm
      301
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      A Model Context Protocol server that exposes over 200+ APIs from API.market as MCP resources, allowing large language models to discover and interact with various APIs through natural language commands.
      34
      50 npm
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that bridges MCP clients with local LLM services, enabling seamless integration with MCP-compatible applications through standard tools like chat completion, model listing, and health checks.
      -