autoapproved_toolsLABSCO SUMMARY
It trades a UI problem for a local attack surface, and says so.
The value is real — declarative approvals that you can revise, plus an explicit blocklist for the tools that should never run unattended. The cost is equally real: the remote debugging port is open to anything running on your machine, and the author calls it a low risk only if you know what else is running there. The maintainers also note this may become unnecessary if the underlying approval bug is fixed.
What it is
An MCP server that restarts Claude Desktop with its remote debugging port enabled and injects a script into the running app, extending it with auto-approve behaviour driven by your configuration. It exists because the "Always approve" button in Claude Desktop cannot be undone; this restores the safer arrangement where permanent approvals live in a file you can edit and everything else stays a per-chat decision.
What you get
- Per-server
autoapproveandautoblockarrays inclaude_desktop_config.json, listing the tool names to approve or block automatically - Decisions you can change later by editing the config, rather than an approval that cannot be undone
- The current state readable from inside Claude Desktop by asking it to list the auto-approved or auto-blocked tools
- A
--persistoption on macOS that installs a watcher script and a LaunchAgent, so Claude Desktop is restarted with the debugger port whenever it is not running with one; removing the argument uninstalls both - A non-invasive approach: nothing in the app is modified except with
--persist, so normal Claude Desktop updates still apply - A documented workaround for an approval you already made by mistake — rename the MCP server in the config, for example
gittogit_new
Requirements
No account and no key. uv installed and on your PATH — via Homebrew, MacPorts or winget — after which the client entry is uvx claude-autoapprove-mcp. Two arguments: port, the debugger port, defaulting to 19222; and persist, macOS only. Configuration is the autoapprove and autoblock arrays you add to each server's block in claude_desktop_config.json. The published package is claude-autoapprove-mcp 0.2.5. On first start Claude Desktop closes itself immediately — that is expected. The security trade-off is stated plainly by the author: an open remote debugging port lets any application on your machine connect to Claude Desktop and execute code in its context.
Setup effort
One command — uvx claude-autoapprove-mcp
USE CASES
Approving the safe tools without approving everything
List the read-only tools in autoapprove per server and leave the rest to a per-chat decision.
Making sure one tool never runs unprompted
Put it in autoblock for that server, so an approval decision cannot quietly cover it.
Recovering from an irreversible approval
Rename the server key in the config, which detaches the stored approval from it.
Keeping it working across restarts on macOS
Pass the persist argument so a watcher and LaunchAgent restart Claude Desktop with the debugger port instead of doing it by hand.
2 tools
Listed in project docs. Your client may show a different list.
autoblocked_toolsBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
uvx on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx claude-autoapprove-mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"claude-autoapprove-mcp": {
"command": "uvx",
"args": [
"claude-autoapprove-mcp"
],
"autoapprove": [
"autoapproved_tools",
"autoblocked_tools"
]
}
}
}