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.
{{ message }}
api7 / apisix-mcp Public
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API.
Apache-2.0 license
25 stars7 forksBranches Tags Activity
Star
Notifications
main
BranchesTags
Go to file
Code
Name | Name | Last commit message | Last commit date |
---|---|---|---|
37 Commits | |||
src | src | ||
.gitignore | .gitignore | ||
Dockerfile | Dockerfile | ||
LICENSE | LICENSE | ||
eslint.config.js | eslint.config.js | ||
package.json | package.json | ||
pnpm-lock.yaml | pnpm-lock.yaml | ||
readme.md | readme.md | ||
smithery.yaml | smithery.yaml | ||
tsconfig.json | tsconfig.json | ||
View all files |
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
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 gatewaycreate_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 routesget_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 metadataget_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 groupsFollow the APISIX Getting Started guide to set up and run APISIX.
To install APISIX Model Context Protocol Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @api7/apisix-mcp --client claude
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" } } } }
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" } } } }
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.
|GitHub|Doc|MCP Marketplace
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=[])
typescript api-management mcp apisix mcp-server
Readme
Activity
Custom properties
25 stars
4 watching
7 forks
Report repository
No releases published
No packages published
Provides safe, read-only access to Kubernetes cluster resources for debugging and inspection.
An MCP server for interacting with the CoSense collaborative sensemaking platform, supporting public and private projects.
Integrates with Lemon Squeezy to manage subscriptions, checkouts, and products.
List and analyze Netbird network peers, groups, policies, and more.
A server for managing Alibaba Cloud services, requiring an Access Key ID and Secret for authentication.
An example project for deploying a remote MCP server on Cloudflare Workers without authentication.
A cloud infrastructure from Alibaba Cloud for AI Agents, featuring one-click configuration and serverless execution.
Deploy a remote MCP server on Cloudflare Workers with OAuth login support, using Cloudflare KV for data storage.
MCP server acting as an interface to the Google Ads, enabling programmatic access to Google Ads data and management features.
Query and interact with kubernetes environments monitored by Metoro