Local MCP servers blocked by cloud connector PreToolUse:Callback hook
Bug Description
Local MCP servers defined in .mcp.json (project-level) and claude_desktop_config.json are blocked by a PreToolUse:Callback hook with the error:
"This tool has been disabled in your connector settings."
Cloud-based MCP connectors (Notion, Gmail, Google Calendar — the ones with UUID-based names like mcp__9ef64cc8-...) work fine. Other local servers installed via marketplace/plugins (e.g., Desktop Commander) also work. Only stdio servers from .mcp.json / claude_desktop_config.json are affected.
Environment
- Platform: Windows 11 (10.0.26200)
- Claude Desktop (not CLI)
- Claude Code version: 2.0.74
- Feature flag:
tengu_claudeai_mcp_connectors: true(cached in.claude.json)
Steps to Reproduce
- Define a local MCP server in
.mcp.json:
{
"mcpServers": {
"myserver": {
"type": "stdio",
"command": "python.exe",
"args": ["server.py"]
}
}
}
- Server starts and responds correctly to
initialize(verified manually via stdin/stdout) enableAllProjectMcpServers: trueis set in both project and global.claude/settings.jsonmcp__myserver__*is in theallowlist insettings.local.json- Calling any tool from this server returns:
"This tool has been disabled in your connector settings."
What We Tried (none worked)
- Setting
enabledMcpjsonServers: ["myserver"]in.claude.jsonproject config - Setting
tengu_claudeai_mcp_connectors: falsein cached growth book features (gets overwritten on restart) - Setting environment variable
ENABLE_CLAUDEAI_MCP_SERVERS=false(Windows user-level) - Moving server definition to global
mcpServersin.claude.json - Full app restart between each attempt
Root Cause Analysis
The tengu_claudeai_mcp_connectors feature flag enables a PreToolUse:Callback hook that checks tools against cloud connector registry on claude.ai. Local stdio MCP servers don't exist in that registry, so the callback blocks them as "disabled".
Cloud connectors (with UUID prefixes) pass because they ARE in the registry. Marketplace-installed servers (Desktop Commander) pass because they use a different registration path.
Impact
This completely breaks all custom/local MCP servers for users who have the tengu_claudeai_mcp_connectors feature flag enabled. In our case, a production MCP server with 212+ tools for school management became unusable overnight.
Expected Behavior
Local MCP servers from .mcp.json and claude_desktop_config.json should not be subject to cloud connector checks, OR there should be a reliable way to opt out of the cloud connector feature.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗