Pendo MCP: every tool call returns "Anthropic Proxy: Invalid content from server" (related to #51812)

Resolved 💬 3 comments Opened May 3, 2026 by steveeddy Closed May 7, 2026

Summary

The Anthropic-managed Pendo MCP connector fails on every tool call from Claude Code CLI 2.1.126. All calls return:

Anthropic Proxy: Invalid content from server

(JSON-RPC error code -32600.)

The connector handshake succeeds (claude mcp list shows claude.ai Pendo: ✓ Connected), but every actual tool invocation fails.

This appears to be a more severe variant of #51812 (Linear MCP — same exact error string, but only on get_issue with includeRelations: true). For Pendo, every endpoint and every parameter shape fails, including trivial smoke tests.

Same Pendo MCP works in claude.ai chat

The Pendo MCP integration works correctly when used from claude.ai chat for the same workspace. The failure is specific to the Claude Code CLI's MCP client / proxy path.

Reproduction

Version: Claude Code 2.1.126 (latest GitHub release as of 2026-05-03)
Endpoint: https://app.pendo.io/mcp/v0/shttp (streamable HTTP transport)
Connector: claude.ai Pendo (Anthropic-managed)

Failing calls (a partial list — pattern is universal)

mcp__claude_ai_Pendo__accountQuery({ subId, accountId: <UUID>, select: [...] })
→ Streamable HTTP error: Error POSTing to endpoint: event: message
  data: {"jsonrpc":"2.0","id":N,"error":{"code":-32600,
        "message":"Anthropic Proxy: Invalid content from server","data":null}}

mcp__claude_ai_Pendo__accountQuery({ subId, count: true })       # trivial smoke test
→ same -32600 error

mcp__claude_ai_Pendo__accountMetadataSchema({ subId, userQuery })
→ same -32600 error

mcp__claude_ai_Pendo__listProductAreas({ subId, limit: 3 })
→ same -32600 error

12+ consecutive calls across all four endpoints, with various ID types (company UUID, location UUID, no ID, etc.) — every call fails identically.

Other connectors in the same session work

In the same Claude Code CLI session, the following Anthropic-managed MCP servers all work without issue:

  • claude.ai Notion (notion-fetch, notion-search, notion-create-pages)
  • claude.ai Linear (list_issues, save_issue, save_comment, list_teams)
  • claude.ai Slack (slack_search_*, slack_send_message_draft)
  • claude.ai Gmail
  • claude.ai Google Drive
  • clickhouse-cloud (run_select_query — heavy use, large queries)
  • claude-Dovetail

So the bug is specific to the Pendo connector's streamable-HTTP transport path, not the CLI's MCP client in general.

Expected

Tool calls should forward to the upstream Pendo MCP and return whatever the upstream returns. The Pendo MCP at https://app.pendo.io/mcp/v0/shttp does respond correctly when called directly from claude.ai chat for the same workspace.

Impact

  • Cannot use Pendo MCP from Claude Code CLI — every call fails immediately.
  • Affects skills / routines that depend on Pendo (engagement, MRR, account metadata, segment, product area lookups).
  • Workaround for one-off lookups: do them in claude.ai chat instead. No good workaround for skills running in CLI sessions.

Diagnosis hypothesis

Same as #51812: a response-validation or schema-translation mismatch in the Anthropic proxy layer between Claude Code's MCP client and the upstream MCP server. For Linear it only affects one tool/flag combination; for Pendo, every call fails — suggesting whatever validator is running has a fundamental mismatch with Pendo's /mcp/v0/shttp response shape.

The shttp suffix on Pendo's URL indicates the streamable-HTTP MCP transport (SSE-based). Possible specific causes:

  1. SSE framing / chunking handler in the proxy mishandles Pendo's emitted events
  2. MCP protocol version drift between the proxy and Pendo's server (handshake permissive, runtime calls strict)
  3. Response-shape validator rejecting Pendo's payload structure

Suggested fix

Investigate the proxy's response handling for https://app.pendo.io/mcp/v0/shttp. If the response-shape validator is tripping universally on this server, the validator (or schema config for this connector) likely needs to be updated to match the upstream Pendo MCP's current response format.

A direct curl/MCP-client comparison test against the upstream endpoint vs the proxy-mediated endpoint should pinpoint where the response is being mangled.

Related

  • #51812 — Same error class on Linear MCP, narrower trigger (includeRelations: true). Open since 2026-04-22, no engagement.
  • #53550 — Linear MCP "deferred and fail to work reliably" — possibly related class.
  • #51736 — "Custom MCP server tools not discovered after update to 2.1.116" — different issue, MCP-area context.

Why this matters

The "Anthropic Proxy: Invalid content from server" error string appears to be a recurring symptom (now seen across at least Linear and Pendo), with no resolution after 11+ days for #51812. Worth treating as a class of bug rather than per-connector triage.

View original on GitHub ↗

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