[BUG] MCP tools not exposed when server advertises 'completions' capability
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?
MCP server tools are not exposed to the Claude Code assistant when the server advertises the completions capability, even though the capability is valid per MCP spec 2025-11-25.
Claude Code UI shows "Capabilities: resources / prompts" but omits "tools" - despite the initialize response correctly including "tools": {"listChanged": false}.
What Should Happen?
Tools should be exposed regardless of which other valid MCP capabilities the server advertises.
Error Messages/Logs
Server initialize response (tools capability present):
{
"capabilities": {
"completions": {},
"prompts": {"listChanged": false},
"resources": {"listChanged": false, "subscribe": true},
"tasks": {},
"tools": {"listChanged": false}
},
"protocolVersion": "2025-11-25",
"serverInfo": {"name": "crates-mcp", "version": "0.1.0"}
}
Claude Code /mcp UI shows:
Capabilities: resources · prompts
Note: tools is missing from the UI despite being in the response.
Steps to Reproduce
- Configure an MCP server that advertises
completionscapability:
{
"mcpServers": {
"test-server": {
"command": "path/to/server",
"args": ["--with-completions"]
}
}
}
- Verify server returns valid initialize response with both
completionsandtoolscapabilities - Connect via
/mcp- observe "Capabilities: resources / prompts" (no tools) - Try to use any tool - get "No such tool available" error
Control test: Same server without completions capability -> tools work correctly.
Claude Model
Opus 4.5 (claude-opus-4-5-20251101)
Is this a regression?
Unknown - completions is a newer MCP capability
Claude Code Version
Latest (January 2026)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app
Additional Information
Related to #2682 - this provides a specific, reproducible trigger for the "tools not exposed" class of bugs.
The completions capability is defined in MCP spec 2025-11-25 for server-side autocompletion suggestions. It's an empty object {} when present.
Workaround: Don't register a completion handler on the server.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗