Custom MCP server tools not discovered after update to 2.1.116
Status Closed — not planned
Reported on v2.1.116
Maintainer reply ✓ Yes — localden
Workaround ✓ Mentioned in thread ↓
Activity 13 comments · opened Apr 21, 2026 · closed May 23, 2026
💡 Likely answer: A maintainer (localden, collaborator)
responded on this thread — see the highlighted reply below.
Description
After updating Claude Code to version 2.1.116, custom MCP server tools are no longer being discovered and loaded into the deferred tools registry, even though the servers are connected and working correctly.
Steps to Reproduce
- Have a custom MCP server configured in
.mcp.json(e.g.,google-mcp-serverfromngs/homebrew-tap) - Update Claude Code to 2.1.116 (
npm update -g @anthropic-ai/claude-code) - Start a new session
- Run
claude mcp list— server shows as "✓ Connected" - Try to use ToolSearch to find the custom server's tools — they don't appear
- Only built-in
claude.airemote MCP connectors appear in the deferred tools list
Expected Behavior
Custom MCP server tools should be discovered and available via ToolSearch, prefixed with mcp__{server_name}__ (e.g., mcp__google__calendar_events_list).
Actual Behavior
claude mcp listshows custom server as connected- Querying the server directly via JSON-RPC confirms it exposes tools correctly:
``bash``
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | /opt/homebrew/bin/google-mcp-server serve
Returns 50+ tools (calendar_events_list, gmail_messages_list, etc.)
- But ToolSearch returns "No matching deferred tools found" for any custom server tools
- Only
claude.aibuilt-in remote connectors appear in the registry
Environment
- Claude Code version: 2.1.116
- OS: macOS (Darwin 24.6.0, arm64)
- Custom MCP server: google-mcp-server v0.4.0 (from ngs/homebrew-tap)
- Shell: zsh
Additional Context
- The custom MCP server was working correctly before this update
- Re-adding the server via
claude mcp remove+claude mcp adddoes not fix the issue - Restarting the session does not fix the issue (tool discovery seems broken at startup)
Workaround
None currently — built-in claude.ai connectors work but custom stdio MCP servers do not have their tools loaded.
13 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
I can reproduce and confirm this issue with Claude Desktop using the Code tab, version 1.3883.0 (93ff6c) 2026-04-21T17:24:01.000Z, on macOS 11.7.5. Command /mcp just pops up a window with the standard connectors.
Claude helped find a workaround:
If
enabledMcpjsonServersis an empty list for your project in~/.claude.json, servers in.mcp.jsonare silently never activated no matter how many times you restart. Manually add your server names to the array and restart.Or run this Python script:
This should normally work on a per-project basis with its own .claude settings
Can confirm the same problem occurs on Windows.
enabledMcpjsonServersinitializes as an empty array[]for new projects in~/.claude.json, which prevents.mcp.jsonservers from being auto-activated.Environment:
C:\Users\<user>\.claude.json).mcp.jsondefines two HTTP Streamable serversWorkaround: Manual update of
~/.claude.jsonwith server names in theenabledMcpjsonServersarray. Same solution as macOS.Confirms this blocks project setup on both platforms.
Reproduces for remote HTTP OAuth connectors, not just stdio via .mcp.json — the regression is broader than the title suggests.
Confirming the same symptom on a custom remote HTTP OAuth MCP connector (not stdio, not .mcp.json-configured — added via Claude Desktop's Settings → Connectors UI).
Regression window pinned to a specific Desktop MSIX update (Windows):
Last working: Claude_1.3561.0.0_x64__pzs8sxrjxfjjc — last used 2026-04-21 17:43 local
First broken: Claude_1.3883.0.0_x64__pzs8sxrjxfjjc — auto-installed 2026-04-22 10:09:34 local
SDK version logged on restart: [CCD] Wrote SDK version file: 2.1.111
Log fingerprint in %APPDATA%\Claude\logs\main.log on every 1.3883 restart:
MCP Server connection requested for: mcp-registry
MCP Server connection requested for: Claude in Chrome
No equivalent connection requested line is ever emitted for the custom connector's UUID. [LocalAgentModeSessionManager] mcpServerStatus returned 63 servers (14 with tools) — the 14 include Gmail, Drive, Granola, Apollo, Claude-in-Chrome and 9 Anthropic-internal servers; the custom remote connector is absent entirely. Zero 401/OAuth/network errors in the logs — the client never attempts the connection.
@Boilerplate4u's enabledMcpjsonServers workaround does not apply here — that key only gates .mcp.json-defined servers. Remote HTTP connectors added via the Desktop connector UI live in a different config path (~/.claude.json mcpServers or the Desktop connector state store) and are not enabled/disabled by that array. No manual JSON edit unblocks them.
Server verified MCP 2025-06-18 / RFC 9728 / RFC 8414 compliant via direct curl: proper WWW-Authenticate: Bearer resource_metadata="..." on 401, valid /.well-known/oauth-protected-resource document with authorization_servers, bearer_methods_supported, resource fields. Issue is not server-side.
Together this strongly suggests the root cause is the new connector-enumeration path (through the mcp-registry pseudo-server) introduced in Desktop 1.3883 / Claude Code 2.1.116, silently filtering out custom connectors of all types — stdio AND remote HTTP — not just the .mcp.json class currently called out in this issue title. Title may want to be broadened to reflect this.
Happy to share full main.log excerpts or the server's discovery responses if helpful.
@theoquarri: Logs will most likely be very valuable for whoever is responsible for resolving the issue. They can save a lot of time diagnosing what's going wrong and the logs also help confirm and support the reported problems. I'll upload my own logs as well.
Same issue here
Linear MCP intermittently fails to register at remote/web session start. Tools listed in session config but ToolSearch select:save_issue,... returns no match. Toggling connector OFF/ON in client UI forces re-handshake. Also see intermittent -32600 Anthropic Proxy: Invalid content from server on list_teams/list_cycles when MCP is up.
Same issue for me, in claude desktop with an assigned sub-agent persona in project settings, is unable to fetch any project MCPs
Some new info on this — the same bug (and closed sibling #55914, another report of the same symptom) still happens in 2.1.147 and other recent versions. I see it on both Windows and macOS, and across both Team and Premium plans (My org upgraded mid-session 2026-05-21; behaviour was the same before and after). The platform and CLI version don't seem to matter.
Setup: Claude Code with several
mcp__claude_ai_*connectors registered via claude.ai Settings → Connectors. On my own remote MCP server, the logs show the same pattern every time: repeatedClient initialize requestfromclaude-codewith no follow-uptools/list. The connection finishes and shows ✓ Connected, but tool discovery never happens for that session.Two notes:
claude mcp listreports✓ Connected, butclaude mcp get "<name>"returnsNo MCP server foundfor the same connector. The two commands don't agree about whether it exists./exit+ re-enter): the first launch started before the connector was ready and got zeromcp__claude_ai_*tools; the second launch, with the connector already showing ✓, loaded them.The same "✓ Connected but no tools" pattern seems to also show up on Claude Desktop on macOS, and I think I've seen it on the claude.ai web app — not 100% sure of details as it's happened quite a few times.
Thanks for the report. This is the same issue as #12164 (stdio MCP server connects but tools never exposed). Consolidating tracking there.
@localden, 12164 is marked as "fixed 2 weeks ago" but I experienced this bug a couple days ago. So either it's not the same or the fix has not been placed in production yet?
Clarification: #12164 seems to be about stdio MCP. My comment is about a custom MCP server registered as a connector in claude.ai —
Connectedwith no tools registered happens there.This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.