ApisixCAUTION
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://mseep.ai/app/api7-apisix-mcp)
[](https://smithery.ai/server/@api7/apisix-mcp)
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 IDsend_request_to_gateway: Send a request or multiple requests to the APISIX gateway
API Resources Operations
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
Plugin Operations
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
Security Configuration
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 credentials- `create_consumer
a58be1abf94fOBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add apisix-mcp --env APISIX_ADMIN_KEY=${APISIX_ADMIN_KEY} -- npx -y [email protected]{
"mcpServers": {
"apisix-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"APISIX_ADMIN_KEY": "${APISIX_ADMIN_KEY}"
}
}
}
}Exposed tools (32)
6 read · 22 write · 4 destructive. Blast radius: 4 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
create_consumer_group | write | Create a consumer group |
create_global_rule | write | Create a global rule |
create_or_update_consumer | write | Create a consumer, if the consumer already exists, it will be updated |
create_or_update_credential | write | Create or update a credential for a consumer |
create_or_update_plugin_metadata | write | Create or update plugin metadata |
create_or_update_proto | write | Create a proto, if the proto already exists, it will be updated |
create_or_update_stream_route | write | Create a stream route, if the stream route already exists, it will be updated |
create_plugin_config | write | Create a new plugin config |
create_route | write | Create a route |
create_secret | write | Create a secret |
create_service | write | Create a service |
create_ssl | write | Create an SSL certificate |
create_upstream | write | Create an upstream service with load balancing settings |
delete_credential | destructive | Delete a credential for a consumer |
delete_plugin_metadata | destructive | Delete plugin metadata |
delete_resource | destructive | Delete a resource by ID |
delete_secret | destructive | Delete a secret by ID |
get_all_plugin_names | read | Get all plugin names |
get_credential | read | Get all credentials or a specific credential for a consumer |
get_plugin_metadata | read | Get metadata for a specific plugin |
get_plugin_schema | read | Get all plugins schema or a specific plugin schema by name |
get_resource | read | Get resource details by ID or list all resources |
get_secret_by_id | read | Get a secret by ID |
send_request_to_gateway | write | Send a request or multiple requests to the APISIX gateway |
update_consumer_group | write | Update specific attributes of an existing consumer group |
update_global_rule | write | Update specific attributes of an existing global rule |
update_plugin_config | write | Update a plugin config |
update_route | write | Update specific attributes of an existing route |
update_secret | write | Update specific attributes of an existing secret |
update_service | write | Update specific attributes of an existing service |
update_ssl | write | Update specific attributes of an existing SSL certificate |
update_upstream | write | Update specific attributes of an existing upstream |
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (4)
export const APISIX_SERVER_HOST = process.env.APISIX_SERVER_HOST || "http://127.0.0.1";
delete_credential, delete_plugin_metadata, delete_resource, delete_secret
| `APISIX_SERVER_HOST` | Host that have access to your APISIX server | `http://127.0.0.1` |
@modelcontextprotocol/sdk, axios, zod, @eslint/js, @types/node, eslint, globals, shx
Gates applied: no_behavioural_pass.
a58be1abf94ffull audit observations/trust-audit/mcp-server/api7__apisix.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | a58be1abf94f | CAUTION | B | 89 | first audit |
Questions
What is the Apisix MCP server?
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API.
What tools does Apisix expose?
32 in total: 6 read-only, 22 that write, and 4 that can delete or overwrite (delete_credential, delete_plugin_metadata, delete_resource, delete_secret). Every one is listed on this page with its risk.
Is Apisix safe to connect to an agent?
With care. The audit graded it B (89/100) and found 4 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 4 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Apisix need?
It reads APISIX_ADMIN_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Apisix run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as apisix-mcp at 0.0.7.
How current is this page?
The grade is for one exact copy of the source (a58be1abf94f), read on 2026-10-08. The repository is watched and re-audited when it changes.