[BUG] MCP server tools not exposed as callable functions despite successful connection and tools/list response

Resolved 💬 3 comments Opened Feb 13, 2026 by azizulhasan Closed Feb 16, 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?

Bug Description

MCP server connects successfully and tools/list returns all tools, but Claude Code does not expose them as callable tool functions. The server description appears in the system prompt, confirming the connection works, but no mcp__<server>__<tool> functions are available to the agent.

Environment

  • Claude Code version: 2.1.41
  • OS: Windows 10 (MINGW64_NT-10.0-26100)
  • Node.js: v22.15.0
  • npm: 10.9.2
  • MCP proxy: @automattic/mcp-wordpress-remote v0.2.19

MCP Server Configuration

Added via claude mcp add:

{
  "cors2-username": {
    "command": "npx",
    "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
    "env": {
      "WP_API_URL": "https://example.com/wp-json/awfah_mcp/mcp",
      "WP_API_USERNAME": "myuser",
      "WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
    }
  }
}


What happens
Server connects successfully — the server description ("Expose AI Agent Hub abilities to MCP clients.") appears in Claude Code's system instructions
Proxy logs confirm:
initialize → HTTP 200, session ID received ✅
tools/list → HTTP 200, 10 tools returned ✅
Response sent back to Claude Code: {"hasResponse": true, "responseKeys": ["tools"]} ✅
But zero tools are exposed as callable functions — no mcp__cors2_username__* functions appear in the agent's available tools
Proxy log evidence
2026-02-13T05:06:18.925Z [DEBUG] [API] Response status: 200
2026-02-13T05:06:18.927Z [INFO] [SESSION] Session ID received from WordPress: 8985a1a6-...
2026-02-13T05:06:18.927Z [INFO] [API] Response received successfully
2026-02-13T05:06:19.420Z [DEBUG] [API] Response status: 200
2026-02-13T05:06:19.422Z [INFO] [API] Response received successfully
2026-02-13T05:06:19.423Z [INFO] [CLIENT] ✅ Client Response: ListTools completed in 492ms
2026-02-13T05:06:19.423Z [DEBUG] [CLIENT] Response sent to client:
{
  "hasResponse": true,
  "responseKeys": ["tools"]
}

The tools/list response contains valid MCP tools with proper name, description, inputSchema, outputSchema, and annotations fields.


### What Should Happen?

After successful connection and tools/list response, the tools should appear as callable functions like:

mcp__cors2_username__core_get_site_info
mcp__cors2_username__awfah_site_get_site_info
etc.
What I tried
Restarted Claude Code multiple times
Reduced number of tools from 60 to 10 (disabled modules on the WordPress side)
Verified the same MCP endpoint works perfectly via direct curl calls (JSON-RPC 2.0)
Verified Claude Desktop connects and lists the tools correctly using the same config
Tried both Basic Auth and JWT authentication — same result
Different server names (cors2-username, cors2-jwt, wordpress-http-default-local) — same result
Additional context
The same @automattic/mcp-wordpress-remote proxy works fine in Claude Desktop — tools appear and are callable
The wpaugmentedreality MCP server (same proxy, different WordPress site) also shows mcp__wpaugmentedreality__get_site_info in the permissions file but the tool is also not callable
This suggests Claude Code may have an issue with how it registers tools from the @automattic/mcp-wordpress-remote proxy specifically

### Error Messages/Logs

```shell
2026-02-13T05:06:18.925Z [DEBUG] [API] Response status: 200
2026-02-13T05:06:18.927Z [INFO] [SESSION] Session ID received from WordPress: 8985a1a6-...
2026-02-13T05:06:18.927Z [INFO] [API] Response received successfully
2026-02-13T05:06:19.420Z [DEBUG] [API] Response status: 200
2026-02-13T05:06:19.422Z [INFO] [API] Response received successfully
2026-02-13T05:06:19.423Z [INFO] [CLIENT] ✅ Client Response: ListTools completed in 492ms
2026-02-13T05:06:19.423Z [DEBUG] [CLIENT] Response sent to client:
{
  "hasResponse": true,
  "responseKeys": ["tools"]
}

Steps to Reproduce

Bug Description

MCP server connects successfully and tools/list returns all tools, but Claude Code does not expose them as callable tool functions. The server description appears in the system prompt, confirming the connection works, but no mcp__<server>__<tool> functions are available to the agent.

Environment

  • Claude Code version: 2.1.41
  • OS: Windows 10 (MINGW64_NT-10.0-26100)
  • Node.js: v22.15.0
  • npm: 10.9.2
  • MCP proxy: @automattic/mcp-wordpress-remote v0.2.19

MCP Server Configuration

Added via claude mcp add:

{
  "cors2-username": {
    "command": "npx",
    "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
    "env": {
      "WP_API_URL": "https://example.com/wp-json/awfah_mcp/mcp",
      "WP_API_USERNAME": "myuser",
      "WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
    }
  }
}


What happens
Server connects successfully — the server description ("Expose AI Agent Hub abilities to MCP clients.") appears in Claude Code's system instructions
Proxy logs confirm:
initialize → HTTP 200, session ID received ✅
tools/list → HTTP 200, 10 tools returned ✅
Response sent back to Claude Code: {"hasResponse": true, "responseKeys": ["tools"]} ✅
But zero tools are exposed as callable functions — no mcp__cors2_username__* functions appear in the agent's available tools
Proxy log evidence
2026-02-13T05:06:18.925Z [DEBUG] [API] Response status: 200
2026-02-13T05:06:18.927Z [INFO] [SESSION] Session ID received from WordPress: 8985a1a6-...
2026-02-13T05:06:18.927Z [INFO] [API] Response received successfully
2026-02-13T05:06:19.420Z [DEBUG] [API] Response status: 200
2026-02-13T05:06:19.422Z [INFO] [API] Response received successfully
2026-02-13T05:06:19.423Z [INFO] [CLIENT] ✅ Client Response: ListTools completed in 492ms
2026-02-13T05:06:19.423Z [DEBUG] [CLIENT] Response sent to client:
{
  "hasResponse": true,
  "responseKeys": ["tools"]
}

The tools/list response contains valid MCP tools with proper name, description, inputSchema, outputSchema, and annotations fields.


### Claude Model

None

### Is this a regression?

Yes, this worked in a previous version

### Last Working Version

_No response_

### Claude Code Version

2.1.41

### Platform

Anthropic API

### Operating System

Windows

### Terminal/Shell

Windows Terminal

### Additional Information

_No response_

View original on GitHub ↗

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