MCP Tools ACL Configuration
Parameters
See plugin common configurations for configuration options available to all plugins.
-
rules—array[object]· requiredAn array of access control rules evaluated in order. The first rule whose
exprconditions are all met (or that has noexpr) is applied; remaining rules are skipped. Each rule must contain exactly one ofallow_toolsordeny_tools.-
allow_tools—array[string]· optionalAllowlist of MCP tool names the consumer is permitted to call and see in
tools/list. Matching is exact and case-sensitive. An empty array ([]) denies all tools.Exactly one of
allow_toolsordeny_toolsmust be configured per rule; they cannot be used together in the same rule. -
deny_tools—array[string]· optionalBlocklist of MCP tool names the consumer is not permitted to call. Denied tools are also hidden from
tools/list. Matching is exact and case-sensitive.Exactly one of
allow_toolsordeny_toolsmust be configured per rule; they cannot be used together in the same rule. -
rejected_code—integer· optional · default:403Valid values: 200 to 599
HTTP status code returned when a
tools/callrequest is rejected by this rule. -
rejected_msg—string· optional · default:MCP tool is not allowedValid values: non-empty string
Message returned in the response body when a
tools/callrequest is rejected by this rule. -
expr—array· optionalAn array of one or more matching conditions in the form of APISIX expressions. The rule is applied only when all expressions evaluate to true. If omitted, the rule matches unconditionally (catch-all).
-
-
max_resp_body_size—integer· optional · default:67108864Maximum response body size in bytes buffered into memory for tool filtering. Larger responses are truncated. Available in API7 Enterprise from version 3.9.17 on the 3.9 line and from version 3.10.4 on the 3.10 line.