APISIX-MCP

by api7

17 stars
1.1k downloads
Not rated
GitHub

About

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](https://github.com/apache/apisix).

Details

Author
api7
Repository
api7/apisix-mcp
GitHub stars
17
Downloads
1,111
License
Apache License 2.0
Categories
Cloud Service, Community, Other, AI, API, Knowledge Base, Infrastructure
Tags
#integration

- Manage routes, services, upstreams, and SSL certificates.
- Create and update plugin configurations and global rules.
- Handle secrets, consumers, and consumer credentials.
- Retrieve plugin names, schemas, and metadata.
- Send test requests to the APISIX gateway.
- Install via Smithery, npm, or source code.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name APISIX-MCP
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via Smithery (npx -y @smithery/cli install @api7/apisix-mcp), npm (npx -y apisix-mcp), or from source (clone repo, pnpm install && pnpm build, then run node dist/index.js). Configure your AI client (Cursor, Claude, Copilot, etc.) with the required environment variables (APISIX_SERVER_HOST, APISIX_SERVER_PORT, APISIX_ADMIN_API_PORT, APISIX_ADMIN_API_PREFIX, APISIX_ADMIN_KEY). A running APISIX instance is a prerequisite.

get_resource

Get resource details by ID or list all resources

delete_resource

Delete a resource by ID

send_request_to_gateway

Send a request or multiple requests to the APISIX gateway

create_route

Create a route

update_route

Update specific attributes of an existing route

create_service

Create a service

update_service

Update specific attributes of an existing service

create_upstream

Create an upstream service with load balancing settings

update_upstream

Update specific attributes of an existing upstream

create_or_update_consumer

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

get_credential

Get all credentials or a specific credential for a consumer

create_or_update_credential

Create or update a credential for a consumer

delete_credential

Delete a credential for a consumer

create_ssl

Create an SSL certificate

update_ssl

Update specific attributes of an existing SSL certificate

create_global_rule

Create a global rule

update_global_rule

Update specific attributes of an existing global rule

create_consumer_group

Create a consumer group

update_consumer_group

Update specific attributes of an existing consumer group

get_all_plugin_names

Get all plugin names

get_plugin_schema

Get all plugins schema or a specific plugin schema by name

get_plugin_metadata

Get metadata for a specific plugin

create_plugin_config

Create a new plugin config

update_plugin_config

Update a plugin config

create_or_update_plugin_metadata

Create or update plugin metadata

delete_plugin_metadata

Delete plugin metadata

create_or_update_stream_route

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

get_secret_by_id

Get a secret by ID

create_secret

Create a secret

update_secret

Update specific attributes of an existing secret

delete_secret

Delete a secret by ID

create_or_update_proto

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

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "apisix-mcp": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

MseeP.ai Security Assessment Badge

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.

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

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=[])

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.