静态配置
默认情况下,该插件将 MCP 流量代理到 127.0.0.1:3000 上的 OpenAPI-to-MCP 服务。
需要更新的文件取决于网关部署方式:
- 宿主机或 Docker
- Kubernetes (Helm)
对于宿主机或 Docker 部署,配置以下设置:
plugin_attr:
openapi-to-mcp:
port: 4000
然后重新加载网关以使静态配置更改生效。
对于 Helm 部署,请在 API7 网关 Helm Chart 中设置以下 values,并保持插件属性端口与 Chart 管理的 sidecar 端口一致。
openapiToMcp:
enabled: true
port: 4000
pluginAttrs:
openapi-to-mcp:
port: 4000
然后将 values 文件应 用到现有网关 release:
helm upgrade <gateway-release-name> api7/gateway -n <namespace> -f values.yaml
如果不使用 Helm 进行该配置,修改此值时还必须将 OpenAPI-to-MCP 服务更新为监听同一端口,否则插件会返回 503。
参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
transport
string
default:
ssevaild vaule:
sseorstreamable_http客户端-服务器通信的传输方法。推荐在生产部署中使用
streamable_http方法,因为它支持适合多个网关实例的无状态通信。sse方法是有状态的,当部署多个网关时可能会表现出意外行为。streamable_http传输方式自 API7 企业版 3.8.15 版本起可用。openapi_url
string
required
定义要通过 MCP 暴露的 API 结构的 OpenAPI 规范文档的 URL。
请注意,该插件仅支持 OpenAPI Specification (OAS) 3 版本。不支持 OpenAPI v2 (Swagger)。
此外,该插件在处理从
openapi_url获取的 OpenAPI v3 文档中的oneOf架构时存在已知的解析问题。在这种情况下,MCP 客户端将在加载工具时卡住。base_url
string
required
请求转发到的 API 服务的基础 URL。支持在值中使用内置变量(从 API7 企业版 3.8.19 版本开始可用),例如
https://${http_baseurl}.swagger.io。allowed_hosts
array[string]
vaild vaule:
精确主机名或通配主机名,如
api.example.com和*.example.com可选的主机 allow-list,用于限制解析后的
base_url可访问的目标主机。设置后,解析后的主机不在列表中的请求会被拒绝并返回 HTTP 400。自 API7 Enterprise 版本 3.9.13 起可用,APISIX 中暂不可用。headers
flatten_parameters
boolean
default:
false是否在工具架构中扁平化参数。查询和路径参数的扁平化自 API7 企业版 3.8.21 版本起可用。OpenAPI 规范中定义的 Header 参数(
in: header)的支持自 3.9.8 版本起可用,尚未在 APISIX 中提供。如果设置为
false,查询参数嵌套在queryParameters下,路径参数嵌套在pathParameters下。自 API7 企业版 3.9.8 版本起,Header 参数嵌套在headerParameters下。如果设置为true,查询和路径参数直接放置在properties下,自 3.9.8 版本起 Header 参数也直接放置在properties下。将参数设置为
true可以通过降低架构复杂性来简化 AI 模型交互。当查询、路径和 Header 参数共享相同名称时,请保持参数为false以避免冲突。