MCP servers with large tool schemas silently fail to register tools

Resolved 💬 3 comments Opened Apr 22, 2026 by dominguezkemmet02-bit Closed Apr 25, 2026

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

  1. Add both servers:

``bash
claude mcp add calcom -- npx -y @calcom/cal-mcp
claude mcp add notion -- npx -y @notionhq/notion-mcp-server
``

  1. Verify connection:

``bash
claude mcp list
``
Both show Connected.

  1. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗