[BUG] Bliss Point MCP / CC Version Conflict

Resolved 💬 3 comments Opened Apr 30, 2026 by seanjodlum Closed May 4, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

● Claude Code 2.1.123's streamable-HTTP MCP transport regressed against AWS Bedrock AgentCore gateways: after a successful OAuth handshake
(Status: ✓ Connected, capabilities advertise hasTools:true), the tools/list request times out and the gateway rejects the POST with
{"code":-32600,"message":"Invalid request - Malformed JSON-RPC request"}. Claude Code then falls back to exposing only the 2 OAuth stub
tools, leaving the gateway's real tools (27 for bpm-analytics) hidden.

The same gateway with the same bearer token responds correctly to a direct curl -X POST .../mcp -d
'{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' and returns the full tool list — so the gateway and token are fine, the bug is
in whatever payload Claude Code 2.1.123 sends on the streamable channel. Pinning Claude Code to 2.1.116 restores tool listing immediately
with no other changes; the regression is somewhere between those two versions. Logs reproducing the failure are at
~/.cache/claude-cli-nodejs/-workspaces-/mcp-logs-bpm-analytics/.jsonl.

What Should Happen?

● When Claude Code starts and the bpm-analytics MCP server is configured with valid OAuth tokens, the client should: connect to the gateway,
complete the MCP initialize handshake (which it does), then issue a tools/list request that the gateway accepts and responds to with the full
tool catalog. Those tools should be registered with the in-process tool system so they surface via ToolSearch under names like
mcp__bpm-analytics__bpm-analytics-identity___get_current_user and are directly callable.

End-to-end success looks like: claude mcp get bpm-analytics shows Status: ✓ Connected, all ~27 gateway tools (across identity, metrics,
pacing, config, benchmarking, channel-metrics, custom-metrics, marketing-portfolio) are listed as deferred tools, and calling one (e.g.
get_current_user) returns real data — exactly what 2.1.116 does today.

Error Messages/Logs

Steps to Reproduce

● 1. Install Claude Code 2.1.123 (the regression version).

  1. Configure an HTTP MCP server backed by AWS Bedrock AgentCore in ~/.claude.json, e.g.:

"bpm-analytics": {
"type": "http",
"url": "https://bpm-analytics-jxmbl9rbm2.gateway.bedrock-agentcore.us-west-2.amazonaws.com/mcp",
"oauth": { "clientId": "65hq4tpaon1b81kr7q9upoh1mn", "callbackPort": 6274 }
}

  1. Start Claude Code, run the OAuth flow to completion (e.g. via the gateway's authenticate stub tool, then visit the rewritten Codespaces

forwarded URL in the browser to hit the local listener at port 6274). Confirm ~/.claude/.credentials.json has fresh accessToken/refreshToken
under mcpOAuth.bpm-analytics|<hash>.

  1. Run claude mcp get bpm-analytics — observe Status: ✓ Connected.
  2. In the running session, search for any real gateway tool, e.g. ToolSearch for get_current_user or get_companies. Observed: no matches;

only mcp__bpm-analytics__authenticate and mcp__bpm-analytics__complete_authentication are surfaced.

  1. Inspect ~/.cache/claude-cli-nodejs/-workspaces-/mcp-logs-bpm-analytics/.jsonl and confirm the failure sequence: Successfully connected →

Connection established with capabilities: {hasTools:true,...} → Failed to fetch tools: MCP error -32001: Request timed out → Connection
error: Streamable HTTP error: Error POSTing to endpoint: {"code":-32600,"message":"Invalid request - Malformed JSON-RPC request"}.

  1. Sanity check the gateway is healthy: curl -X POST <url>/mcp -H "Authorization: Bearer $(jq -r

'.mcpOAuth["bpm-analytics|<hash>"].accessToken' ~/.claude/.credentials.json)" -H "Accept: application/json, text/event-stream" -H
"Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' — returns all ~27 tools.

  1. Downgrade to Claude Code 2.1.116, restart, repeat step 5 — the real tools now surface and are callable. Confirms the regression is between

2.1.116 → 2.1.123.

Claude Model

Opus

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.123

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

_No response_

View original on GitHub ↗

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