HTTP transport MCP tools not callable in session despite server being connected
Bug Description
MCP tools registered via HTTP transport are not callable within a Claude Code session, even though the server shows as connected and tool definitions are loaded into the system prompt.
Environment
- Claude Code version: 2.1.114
- OS: macOS (Darwin 23.4.0, arm64)
- MCP server: DingTalk Doc MCP (HTTP transport)
Steps to Reproduce
- Add an HTTP transport MCP server:
``bash``
claude mcp add --transport http -s user dingtalk-doc-mcp "https://mcp-gw.dingtalk.com/..."
- Verify the server is connected:
``bash``
claude mcp list
# Output: dingtalk-doc-mcp: ... (HTTP) - ✓ Connected
- In a Claude Code session, attempt to call any MCP tool (e.g.,
mcp__dingtalk_doc_mcp__get_document_content).
Expected Behavior
The MCP tool should execute and return results.
Actual Behavior
Every tool call fails with:
Error: No such tool available: mcp__dingtalk_doc_mcp__get_document_content
All tools from this MCP server fail with the same error, regardless of scope (user or project).
Evidence That the Server Works
Calling the MCP server directly via curl succeeds — both tools/list and tools/call return correct results:
# List tools — works
curl -s -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# Call a tool — works
curl -s -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_document_content","arguments":{"nodeId":"..."}}}'
Both return valid JSON-RPC responses with correct data.
Additional Notes
- The tool definitions DO appear in the system prompt (visible as function definitions), but the runtime does not recognize them when called.
- Tried both user scope and project scope — same result.
- Tried
/mcpreconnect and full session restart — same result. - Current workaround: calling the MCP server directly via
curlin Bash.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗