Development · MODEL CONTEXT PROTOCOL
api7 apisix mcp
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API.
连接能力
api7 apisix mcp 为 AI Agent 提供什么
来源目录未提供结构化功能列表,请在使用前阅读源仓库文档。
安全
MCP 收录不等于安全审核
MCP 服务器可能获得模型上下文、凭据、本地文件或调用外部系统的权限。连接 Agent 前,请检查代码、环境变量、网络行为、软件包来源与维护状态。
README
仓库文档
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 gateway
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
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
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
Follow 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 claudeConfigure 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-mcpInstall the dependencies and build the project:
pnpm install
pnpm buildConfigure 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"
}
}
}
}| 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.
- 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=[])社区