通过 API7-MCP 在 AI 客户端中管理 API7 企业版
本文介绍如何在本地运行 API7-MCP,将 API7 企业版连接到兼容 MCP 的 AI 客户端。完成配置后,AI 客户端可以通过自然语言提示词读取 API7 资源、查看监控数据、管理 RBAC,并向网关发送测试流量。
API7-MCP 是一个模型上下文协议(Model Context Protocol,MCP)服务器,它把 API7 企业版 Admin API 和网关数据面能力暴露为 AI 客户端可调用的工具。
这类工作流适用于以下场景:
- 不在控制台和 API 调用之间频繁切换,也能查看路由、服务、上游或消费者配置。
- 在 AI 客户端中查询请求量、健康检查等监控数据。
- 将 RBAC 查询、风险检查或测试流量生成等运维任务交给兼容 MCP 的助手执行。
本文与将 REST API 暴露为 MCP 工具互为补充。后者说明如何通过 openapi-to-mcp 插件把业务 API 暴露给 AI 智能体,而本文说明如何让 AI 客户端通过 API7-MCP 使用 API7 企业版本身。
前提条件
开始之前,请确认你已经准备好:
- 一个可用的 API7 企业版实例,并且可以访问控制台,至少有一个网关实例。
- 控制台访问令牌。API7-MCP 会使用该令牌作为
X-API-KEY请求头发起 Admin API 调用,因此 AI 客户端会继承令牌持有者的权限。建议为 API7-MCP 创建专用令牌,并按最小权限原则分配角色。 - 兼容 MCP 的 AI 客户端,例如 Cursor、Claude Desktop、GitHub Copilot 或 Cline。
- 在运行 AI 客户端的机器上安装 Node.js。MCP 服务器会作为 AI 客户端拉起的 Node.js 子进程运行。
如需更完整的界面化配置步骤和截图,可以参考部署 API7 MCP。
可用操作
API7-MCP 暴露一组固定操作,你不需要在 AI 客户端配置中手动定义这些工具:
| 类别 | 操作 |
|---|---|
| 资源查询 | get_resource,用于查询服务、路由、上游、消费者、凭证、证书、网关组等资源 |
| 网关流量 | send_request_to_gateway,用于向网关发送一个或多个并发请求 |
| 监控 | get_prometheus_metrics、get_service_healthcheck |
| 风险检查 | check_risk |
| 角色 | get_role、create_role、delete_role、update_assigned_roles_for_user、get_role_by_user_id |
| 用户 | get_userId_by_username |
| 权限策略 | get_permission_policy、create_permission_policy、update_permission_policy、delete_permission_policy、attach_permission_policy_to_role、detach_permission_policy_from_role、get_permission_policy_by_role |
实际可用工具以运行中的 MCP 服务器通过 tools/list 返回的结果为准。api7-mcp README 可以作为参考,但运行时返回结果才是最终依据。
安装并配置 API7-MCP
API7-MCP 作为 AI 客户端的本地子进程运行。你只需要在客户端的 MCP 服务器配置文件中添加一次。不同客户端的配置文件位置和字段名称可能不同,请以对应客户端的 MCP 文档为准。
配置中需要使用以下三个环境变量:
| 变量 | 取值 |
|---|---|
DASHBOARD_URL | API7 企业版控制台地址,例如 https://dashboard.example.com:7443。 |
GATEWAY_URL | 用于发送测试流量的 API7 网关实例地址,例如 http://gateway.example.com:9080。 |
TOKEN | 前提条件中准备的控制台访问令牌。 |
你可以从 npm 安装 API7-MCP,也可以从源码构建。两种方式运行的是同一个 MCP 服务器。大多数情况下,直接使用 npm 更简单。
通过 npm 安装
{
"mcpServers": {
"api7-mcp": {
"command": "npx",
"args": ["-y", "api7-mcp"],
"env": {
"DASHBOARD_URL": "https://dashboard.example.com:7443",
"GATEWAY_URL": "http://gateway.example.com:9080",
"TOKEN": "your-api7-enterprise-token"
}
}
}
}
通过源码安装
克隆仓库并构建项目:
git clone https://github.com/api7/api7-mcp.git
cd api7-mcp
pnpm install
pnpm build
构建完成后会生成 dist/index.js。在 AI 客户端中配置 node 启动该文件:
{
"mcpServers": {
"api7-mcp": {
"command": "node",
"args": ["/absolute/path/to/api7-mcp/dist/index.js"],
"env": {
"DASHBOARD_URL": "https://dashboard.example.com:7443",
"GATEWAY_URL": "http://gateway.example.com:9080",
"TOKEN": "your-api7-enterprise-token"
}
}
}
}
请使用 dist/index.js 的绝对路径。相对路径会从 AI 客户端的工作目录解析,而不同客户端的工作目录可能不同。
保存配置后,重启 AI 客户端或重新加载 MCP 服务器列表。客户端应显示 api7-mcp 已连接,并将可用操作展示为工具。
验证
以下检查用于确认 API7-MCP 既能读取控制台数据,也能通过网关发送流量。请在 AI 客户端的对话中执行。
发送测试流量
在 AI 客户端中输入:
向 API7 网关发送 5 个请求。
客户端会调用 send_request_to_gateway,并通常要求你确认是否允许执行该工具。确认后,客户端会返回请求发送结果。