Apisix Model Context Protocol (mcp) Server
APISIX Model Context Protocol (MCP) server is utilized to connect large language models (LLMs) with the APISIX Admin API.
Overview
What is APISIX Model Context Protocol (MCP)?
APISIX Model Context Protocol (MCP) is a server designed to connect large language models (LLMs) with the APISIX Admin API. This integration allows developers to leverage the capabilities of LLMs in their applications, enhancing functionality and enabling more sophisticated interactions.
Features of APISIX MCP
- Seamless Integration: APISIX MCP provides a straightforward way to connect LLMs with the APISIX Admin API, facilitating easy access to advanced language processing capabilities.
- Public Repository: The project is open-source and available on GitHub, allowing developers to contribute and customize the solution to fit their needs.
- Apache-2.0 License: The MCP is licensed under the Apache-2.0 license, ensuring that it can be freely used and modified.
- Community Support: With a growing number of stars and forks on GitHub, the community around APISIX MCP is active, providing support and enhancements.
How to Use APISIX MCP
- Installation: Begin by cloning the repository from GitHub. Use the command:
git clone https://github.com/api7/apisix-mcp.git
- Configuration: Set up the necessary configurations to connect your LLM with the APISIX Admin API. This may involve specifying API endpoints and authentication details.
- Deployment: Deploy the MCP server in your environment. Ensure that it is accessible to your applications that will utilize the LLM capabilities.
- Integration: Use the provided API endpoints to interact with the LLMs. This can include sending requests for text generation, analysis, or other language processing tasks.
Frequently Asked Questions
What are the prerequisites for using APISIX MCP?
To use APISIX MCP, you should have a basic understanding of APIs and familiarity with Git for cloning the repository. Additionally, knowledge of the programming language you plan to use for integration is beneficial.
Can I contribute to the APISIX MCP project?
Yes! The project is open-source, and contributions are welcome. You can submit issues, feature requests, or pull requests on the GitHub repository.
Is there any documentation available?
Yes, detailed documentation is typically provided in the repository's README file and additional markdown files. You can also find community discussions and examples in the issues section.
How can I report bugs or request features?
You can report bugs or request features by opening an issue on the GitHub repository. Make sure to provide a clear description and any relevant details to help the maintainers address your request effectively.
Details
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 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 credentialscreate_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
- 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=[])
Server Config
{
"mcpServers": {
"apisix-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--api7--apisix-mcp--apisix-mcp",
"pnpm run start"
],
"env": {
"APISIX_SERVER_HOST": "apisix-server-host",
"APISIX_SERVER_PORT": "apisix-server-port",
"APISIX_ADMIN_API_PORT": "apisix-admin-api-port",
"APISIX_ADMIN_API_PREFIX": "apisix-admin-api-prefix",
"APISIX_ADMIN_KEY": "apisix-admin-key"
}
}
}
}