Hey 👋 hoping someone can sanity-check this before I keep banging my head on it. Already filed a GitHub issue but figured I'd ask here in case it's a known config thing.
Setup:
OpenClaw 2026.5.7 (npm install, Ubuntu 24.04 VPS)
anthropic/claude-sonnet-4-6 with API key auth
tools.profile: "coding"
One Telegram channel, one agent
What I did:
Wrote a minimal stdio MCP server with one tool (say_hello). Registered it with openclaw mcp set hello '{"command":"node","args":["/path/server.js"]}'. Confirmed registration with openclaw mcp list.
What works:
The MCP server launches correctly. Gateway log shows:
bundle-mcp:hello: hello MCP server running on stdio
What doesn't:
The agent doesn't see the tool. When asked, Prime lists only built-ins (read/write/edit/exec/process/sessions_/image). No say_hello, no bundle-mcp:, no mcp:*.
Suspicious log:
Every agent turn goes through:
embedded run prompt start: provider=anthropic api=anthropic-messages endpoint=anthropic-public route=native policy=none
The route=native policy=none looks like it's bypassing MCP injection.
Stuff I tried that didn't work:
tools.alsoAllow with mcp, bundle-mcp, bundle-mcp:hello — all rejected as "unknown entries"
tools.profile: "full"
agents.defaults.agentRuntime: {"id":"pi"} — accepted but route stayed native
Per-model and per-provider agentRuntime — schema rejected
A reviewer on the GitHub issue confirmed agents.defaults.agentRuntime is legacy/ignored, and that runtime selection is provider/model-scoped — but I can't find the right key to set it on.
Question: Has anyone successfully exposed user-MCP tools to an Anthropic-provider agent on 2026.5.7? What's the right config shape?