MCP servers with large tool schemas silently fail to register tools
Environment
- Claude Code version: 2.1.116
- OS: Ubuntu 24.04, headless VPS, running as non-root user via
su - aios
Problem
MCP servers that pass the health check (claude mcp list shows "Connected") but their tools never appear in sessions. No error, no warning — completely silent failure.
Details
Working servers register tools fine:
- n8n: 1,396 chars total tool schema — works
- Asana: 4,907 chars total tool schema — works
Broken servers connect but tools never register:
- Cal.com (
@calcom/cal-mcp): 53,044 chars across 9 tools — connects, tools missing - Notion (
@notionhq/notion-mcp-server): 73,396 chars across 22 tools — connects, tools missing
All 4 servers return identical protocolVersion (2024-11-05), same initialize handshake, same tools/list response format. The only difference is schema size.
Notion also uses $defs/$ref in its tool schemas, which may compound the issue.
Root Cause
Total tool schema payload size. There appears to be an undocumented size threshold above which tool registration silently fails.
Reproduction
- Add both servers:
``bash``
claude mcp add calcom -- npx -y @calcom/cal-mcp
claude mcp add notion -- npx -y @notionhq/notion-mcp-server
- Verify connection:
``bash``
claude mcp list
Both show Connected.
- Check available tools:
``bash``
claude -p "list all MCP tools"
Cal.com and Notion tools are missing from the tool list.
Expected Behavior
All MCP server tools should register regardless of schema size. At minimum, a warning or error should be logged when tools fail to register so users can diagnose the issue.
Workaround
Using direct curl API calls instead of MCP for the affected services.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗