tool_filtering
Which per-server tool filtering mechanisms the provider supports. Contents: {allowlist: bool, blocklist: bool, disable_flag: bool}. Controls which server tools are exposed to the agent. Boundary: tool_filtering governs tool visibility (what appears in the agent’s available tool set); see auto_approve for execution gating of visible tools.
Type: object Content type: mcp
Provider Support
Section titled “Provider Support”| Provider | Supported | Mechanism |
|---|---|---|
| amp | ✓ | per_tool_enable_disable: Amp supports per-tool enable/disable configuration to control which MCP tools are exposed to the agent |
| cline | ✓ | always_allow_tools (visibility scope): Cline's always_allow list controls which MCP tools are exposed in the agent's available tool set without per-invocation prompts |
| codex | ✓ | mcp_enabled_disabled_tools: Codex supports per-server tool enable/disable configuration controlling which tools are exposed to the agent |
| copilot-cli | ✓ | mcp_tool_allow_deny_flags: Copilot CLI supports per-tool allow and deny flags to control which MCP tools are exposed |
| crush | ✓ | MCPConfig has a disabled_tools array (list of tool names to exclude from a specific server). This enables per-server tool filtering at the configuration level. |
| factory-droid | ✓ | per-server tool disable via disabledTools field in Configuration Schema |
| gemini-cli | ✓ | tool_filtering: Gemini CLI supports per-server tool filtering to control which MCP tools are exposed to the agent |
| kiro | ✓ | kiro_mcp_disabled_tools: Kiro supports per-server tool disable configuration to control which MCP tools are available to the agent |
| opencode | ✓ | MCP tools are filtered via the global tools map in opencode.json using the server name as a prefix (e.g., mymcpservername_*: false); glob patterns (* and ?) are supported; per-agent tool access is controlled via the agent's permission or tools map |
| roo-code | ✓ | per_server_tool_filtering: alwaysAllow and disabledTools arrays on each server entry filter which MCP tools are exposed and which bypass confirmation |
| windsurf | ✓ | tool_limit_100: individual MCP tools can be toggled on or off per server via the Cascade panel UI; disabled tools are tracked in a disabledTools array separate from whitelist matching |
| zed | ✓ | Per-profile per-server tool enable/disable maps are supported via context_servers.<name>.tools in agent profile config; enable_all_context_servers: false allows disabling all servers except those explicitly listed in the profile |
| claude-code | ✗ | Claude Code exposes all tools from connected MCP servers; no per-server tool allowlist or blocklist for individual tool visibility |
| cursor | ✗ | Cursor does not document per-server tool allowlists or blocklists for MCP servers. |
| pi | ✗ | not documented |