Apisix 模型上下文协议 (mcp) 服务器
APISIX 模型上下文协议 (MCP) 服务器用于将大型语言模型 (LLMs) 与 APISIX 管理 API 连接起来。
概览
什么是 APISIX 模型上下文协议 (MCP)?
APISIX 模型上下文协议 (MCP) 是一个服务器,旨在将大型语言模型 (LLMs) 与 APISIX 管理 API 连接起来。此集成使开发人员能够在其应用程序中利用 LLM 的能力,从而增强功能并实现更复杂的交互。
APISIX MCP 的特点
- 无缝集成:APISIX MCP 提供了一种简单的方法,将 LLM 与 APISIX 管理 API 连接,便于轻松访问高级语言处理能力。
- 公共仓库:该项目是开源的,托管在 GitHub 上,允许开发人员贡献和定制解决方案以满足他们的需求。
- Apache-2.0 许可证:MCP 在 Apache-2.0 许可证下授权,确保可以自由使用和修改。
- 社区支持:随着 GitHub 上星标和分支数量的不断增长,APISIX MCP 周围的社区活跃,提供支持和增强功能。
如何使用 APISIX MCP
- 安装:首先从 GitHub 克隆仓库。使用以下命令:
git clone https://github.com/api7/apisix-mcp.git
- 配置:设置必要的配置,以将您的 LLM 连接到 APISIX 管理 API。这可能涉及指定 API 端点和身份验证详细信息。
- 部署:在您的环境中部署 MCP 服务器。确保它可以被将利用 LLM 功能的应用程序访问。
- 集成:使用提供的 API 端点与 LLM 进行交互。这可以包括发送文本生成、分析或其他语言处理任务的请求。
常见问题解答
使用 APISIX MCP 的前提条件是什么?
要使用 APISIX MCP,您应该对 API 有基本了解,并熟悉 Git 以克隆仓库。此外,了解您计划用于集成的编程语言也是有益的。
我可以为 APISIX MCP 项目做贡献吗?
可以!该项目是开源的,欢迎贡献。您可以在 GitHub 仓库中提交问题、功能请求或拉取请求。
是否有可用的文档?
是的,详细文档通常在仓库的 README 文件和其他 markdown 文件中提供。您还可以在问题部分找到社区讨论和示例。
我该如何报告错误或请求功能?
您可以通过在 GitHub 仓库中打开一个问题来报告错误或请求功能。请确保提供清晰的描述和任何相关细节,以帮助维护者有效地处理您的请求。
详情
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配置
{
"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"
}
}
}
}