This guide walks you through enabling and configuring tool approval for Model Context Protocol (MCP) servers in a host application that supports it. Tool approval adds a confirmation step before an MCP tool executes, giving you control over potentially sensitive actions like file writes, network requests, or code execution. You’ll learn how to enable the feature, set approval policies, and handle common issues.
What You’ll Need
- An MCP host application (e.g., Claude Desktop, Cursor, or a custom client) that supports tool approval. Check your host’s documentation to confirm.
- At least one MCP server configured and connected to the host.
- Access to the host’s configuration file (often
mcp.json,settings.json, or a GUI settings panel). - Basic familiarity with JSON or YAML syntax if editing config files manually.
Step-by-Step
- Open your host’s MCP configuration. This is usually found in the app’s settings under “MCP Servers” or in a configuration file in your user directory. For example, in Claude Desktop it’s
claude_desktop_config.json; in Cursor it’s.cursor/mcp.json. - Locate the server entry you want to configure. Each MCP server will have an entry with a name, command, and arguments. You’ll add an approval policy to this entry.
- Find the approval settings key. Common keys are
approval,toolApproval, orpermissions. If you’re unsure, check your host’s documentation for the exact key name. - Choose an approval mode. Most hosts support one of these modes:
none– no approval required (default).always– prompt for approval every time a tool runs.allowlist– auto-approve tools on a list, prompt for others.denylist– auto-approve all except tools on a list.
- Set the mode in the config. For example, to require approval for all tools, add:
"approval": { "mode": "always" }(Adjust syntax to match your host’s format.)
- If using allowlist or denylist, specify tool names. Tool names are usually in the format
server_name/tool_nameor justtool_name. Add them as an array, e.g.,"allow": ["filesystem/read_file", "filesystem/write_file"]. - Save the configuration file. If you edited a JSON file, make sure it’s valid JSON (no trailing commas, proper quotes).
- Restart the host application. Most hosts only read the config at startup. Close and reopen the app, or use a “Reload” command if available.
- Test the approval flow. Trigger a tool call (e.g., ask the assistant to read a file). You should see a confirmation prompt before the tool executes. Approve or deny to verify it works.
Common Mistakes
- Wrong key name: Using
approvalwhen the host expectstoolApprovalleads to the setting being ignored. - Incorrect tool names: Tool names are case-sensitive and may include the server prefix. Check the exact names in the host’s tool list.
- Invalid JSON: A missing comma or extra bracket breaks the entire config, causing the host to ignore it or crash.
- Forgetting to restart: Changes won’t take effect until the host reloads the config.
- Using allowlist but not listing all needed tools: If you approve only read_file but the workflow also writes, you’ll get unexpected prompts.
Tips
- Start with
alwaysmode to see which tools are called frequently, then move to an allowlist for a smoother experience. - Use descriptive tool names in the allowlist to avoid mistakes. For example, include the server name if your host uses multiple servers.
- Keep a backup of your config file before editing, so you can revert if something goes wrong.
- If your host supports it, use environment variables to switch approval modes between development and production.
Troubleshooting
- Approval prompts don’t appear: Check that the config key is correct and the mode is set to something other than
none. Restart the host completely (not just reload). - Host fails to start: Likely a JSON syntax error. Validate your config with a JSON validator or check the host’s logs for error messages.
- Some tools are still auto-approved: If using allowlist, ensure the tool name matches exactly. Try listing the tool with and without the server prefix.
- Approval prompt appears but doesn’t block execution: Some hosts have a bug where the prompt is cosmetic. Update the host to the latest version.
- Can’t find the approval setting: Your host may not support tool approval yet. Check the official documentation or release notes.
Frequently Asked Questions
What does tool approval actually do?
It adds a confirmation step before an MCP tool runs. The host shows you the tool name and arguments, and you choose to allow or deny that specific call.
Can I approve tools automatically for certain servers?
Yes, most hosts support per-server approval settings. You can set one server to always and another to allowlist.
How do I find the exact tool name to add to the allowlist?
In the host’s UI, when a tool is about to run, the prompt usually shows the tool name. Alternatively, check the MCP server’s documentation or the host’s tool list in the settings.
Does tool approval slow down performance?
Only slightly, since you have to click a button each time. For high-frequency tools, use an allowlist to avoid delays.
Can I set approval rules per tool type, like only file writes?
Some hosts allow regex patterns in the allowlist/denylist. For example, filesystem/write_* would match all write tools. Check your host’s documentation for pattern support.
What if I accidentally deny a tool that was needed?
You can usually re-run the request, and the prompt will appear again. If not, you may need to restart the conversation or manually trigger the tool again.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.
More cards in this drawer
- Campus Tech Innovation Hubs: What They Are
- Poco C51 Airtel Prepaid Locked Variant India?
- Jenkins vs GitHub Actions: Which CI/CD Fits Your Team?
- Turn Off Backup Encryption in iTunes?
- Shared VPS Hosting: Is It Better?
- Disk Defrag Pro: What It Does and Whether You Need It