[BUG] Bliss Point MCP / CC Version Conflict
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).
- 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 }
}
- 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>.
- Run claude mcp get bpm-analytics — observe Status: ✓ Connected.
- 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.
- 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"}.
- 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.
- 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_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗