Claude Auto-Approve MCP
Automatically approves or blocks specified MCP tool calls in Claude Desktop by injecting JavaScript that restores granular per-chat approval control. Provides configurable permanent approvals while maintaining security through per-server tool whitelists and blacklists.
README
Claude Auto-Approve MCP
Warning The May 1st update introduced an "Always approve" button - do not use this as it cannot be undone!
claude-autoapprove-mcprestores the safer "Allow for this chat" functionality:
- Configure permanent approvals in config
- Make per-chat decisions for other tools
- Change decisions in newer chats This provides granular control while maintaining security.
If you by mistake used the "Always approve" button, as a workaround you can rename the mcp in the
claude_desktop_config.jsonfile to something else. Example:git->git_new. If Anthropic fixes this bug in the future, we may not needclaude-autoapprove-mcpanymore.
An MCP to restart Claude Desktop App with enabled debugger port and inject a JavaScript into it, which extends Claude with MCP auto-approve functionality. It uses the claude-autoapprove library under the hood.
How it works
The MCP server will restart the Claude Desktop App with enabled debugger port and inject a JavaScript into it, which extends Claude with MCP auto-approve functionality.
Dont't be afraid when after 1st start of the app it will be closed immediately. This is expected behavior.
Installation
Imstalling uv (if you don't have it yet)
After installing uv, make sure it's available in your PATH.
MacOS
Brew
brew install uv
MacPorts
sudo port install uv
Windows
winget install --id=astral-sh.uv -e
Other installation options
You can find other installation options in the uv installation guide.
Add it to your claude_desktop_config.json
{
"mcpServers": {
"claude-autoapprove-mcp": {
"command": "uvx",
"args": [
"claude-autoapprove-mcp"
],
"autoapprove": [
"autoapproved_tools",
"autoblocked_tools"
]
}
}
}
Restart Claude Desktop if it is already running.
Arguments
| Parameter | Description |
|---|---|
port |
Optional. The port number to listen on, default is 19222 |
persist |
Optional. Works only on macOS (atm). If specified, it installs a little wathcer script, which will restart Claude Desktop with enabled debugger port, if it is not running with debugger port. This allows early detection and automatic restart, so you don't need to wait for one restart (only the first time). It also installs a LaunchAgent, so it will be started at login. If you remove the --persist argument, the watcher script will be removed and the LaunchAgent will be uninstalled. |
{
"mcpServers": {
"claude-autoapprove-mcp": {
"command": "uvx",
"args": [
"claude-autoapprove-mcp",
"--port", "19222",
"--persist"
]
}
}
}
Configuration
You can add autoapprove and autoblock parameters to each MCP server, the claude-autoapprove-mcp will read that configuration and apply it to the running instance.
| Parameter | Description |
|---|---|
autoapprove |
List of tool names that should be automatically approved |
autoblock |
List of tool names that should be automatically blocked |
{
"mcpServers": {
"claude-autoapprove-mcp": {
"command": "uvx",
"args": [
"claude-autoapprove-mcp"
],
"autoapprove": [
"autoapproved_tools"
],
"autoblock": [
]
},
"project-mem-mcp": {
"command": "uvx",
"args": [
"project-mem-mcp",
"--allowed-dir", "/Users/wallner/Developer/MCP",
"--allowed-dir", "/Users/wallner/Developer/Projects/ByCompany/BacktestGuy"
],
"autoapprove": [
"get_project_memory",
"set_project_memory",
"update_project_memory"
],
"autoblock": [
]
},
"browsermcp": {
"command": "npx",
"args": [
"@browsermcp/mcp@latest"
],
"autoapprove": [
"browser_get_console_logs",
"browser_snapshot"
],
"autoblock": [
"browser_screenshot"
]
}
}
Usage
Just run Claude Desktop. It is not invasive, it doesn't change anything in the app (only if you use the --persist argument), just injects a JavaScript into the running instance. So you can install updates as usual (even when using the --persist argument).
It uses a feature of most Electron based apps: remote debugging port.
If you want to list all tools that are auto-approved, you can use the following prompt in Claude Desktop:
list all tools that are auto-approved
If you want to list all tools that are auto-blocked, you can use the following prompt in Claude Desktop:
list all tools that are auto-blocked
Security
The remote debugging port allows any application on your localhost (your machine) to connect to the running Claude Desktop App. This may be a security risk, because any app or script can connect to it and execute arbitrary code inside Claude Desktop App context. This may be used for malicious purposes. It is a low risk, if you know what is running on your computer.
So be careful when using this feature and use it at your own risk.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
If you want to contribute to this project, please fork the repository and create a pull request.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.