设置 MCP 网关
AISIX MCP 网关把已注册的 MCP 服务器置于统一的 /mcp 端点后,并控制每个调用方可以使用的工具。这样,应用无需直接连接各个上游服务器,即可通过 AISIX 访问获准使用的工具。
本指南将注册一个上游 MCP 服务器,把其中一个工具授予一把调用方 API Key,并验证该调用方只能使用这个工具。AISIX Enterprise 和 AISIX Cloud 使用控制面路径,AISIX OSS 使用资源文件路径;两种路径配置的是相同的网关运行时行为。
前置条件
开始前,请准备以下环境:
- 对于 AISIX Enterprise,完成 AISIX Enterprise 入门,并保持其 Shell 和
aisix-dp网关运行。对于 AISIX Cloud,请从所属组织获取环境、已连接网关、写入作用域管理员 Token、调用方 API Key 和网关 URL。 - 对于开源 AISIX 网关,完成开源 AISIX 网关快速入门,并停留在其 Shell 和工作目录中,同时保持
aisix-quickstart网关运行。 - Docker、cURL 和 jq。
启动 MCP 测试服务器
此示例在 Docker 中运行 MCP 官方的 Everything 测试服务器。该服务器与你现有的网关会加入一个临时 Docker 网络,因此网关无需重启即可访问服务器。Everything 服务器只能用于本地测试:它没有身份认证,并包含一个可返回其进程环境的诊断工具。此处使用的容器不会接收任何机密信息。完成本指南后,请停止并移除该容器。
根据你的配置路径设置网关容器名称。
对于 AISIX Enterprise 或 AISIX Cloud:
export AISIX_GATEWAY_CONTAINER="aisix-dp"
对于开源 AISIX 网关:
export AISIX_GATEWAY_CONTAINER="aisix-quickstart"
创建临时网络,并把正在运行的网关连接到该网络:
docker network create aisix-mcp
docker network connect aisix-mcp "$AISIX_GATEWAY_CONTAINER"
在同一网络上启动 Everything 服务器:
docker run -d --name aisix-mcp-everything \
--network aisix-mcp \
node:22-alpine \
sh -c 'npx -y @modelcontextprotocol/server-everything@2026.7.4 streamableHttp'
等待服务器就绪:
for attempt in $(seq 1 120); do
docker logs aisix-mcp-everything 2>&1 | grep -q "listening on port 3001" && break
sleep 1
done
docker logs aisix-mcp-everything 2>&1 | grep "listening on port 3001"
最后一条命令会打印一行日志,确认端口 3001 已就绪。从网关容器中可通过 http://aisix-mcp-everything:3001/mcp 访问 MCP 端点。