claude.ai connector (Slack) shows Connected in VS Code extension but exposes zero tools to the model
Summary
A claude.ai connector enabled via the new claude.ai Connectors / "Customize" UI (in my case Slack) shows as ✔ Connected in the VS Code extension and responds to MCP resource calls, but none of its tools are ever exposed to the model. The server is reachable yet zero of its mcp__claude_ai_<Name>__* tools are callable, so the connector is effectively useless from within the session even though every status indicator says it's healthy.
Environment
- Claude Code: 2.1.186 (VS Code extension
anthropic.claude-code-2.1.186-darwin-arm64) - macOS 26.5.1 (build 25F80), arm64
- Connector enabled via claude.ai Connectors UI, then VS Code restarted and a brand-new session started with the connector already enabled and authenticated before the session began.
What I expected
After enabling the Slack connector in claude.ai and starting a fresh VS Code extension session, the Slack tools (e.g. mcp__claude_ai_Slack__*) should be available to the model — the same way the claude.ai Atlassian Rovo connector's tools are.
What actually happens
The connection is live, but the tools are never registered into the session's tool registry. The model cannot call any Slack tool.
Evidence (collected within one session)
1. claude mcp list — Slack is Connected:
claude.ai Atlassian Rovo: https://mcp.atlassian.com/v1/mcp - ✔ Connected
claude.ai Slack: https://mcp.slack.com/mcp - ✔ Connected
appium-mcp: ... - ✔ Connected
2. claude mcp get "claude.ai Slack":
claude.ai Slack:
Scope: claude.ai config
Status: ✔ Connected
3. The server is reachable from inside the session — ListMcpResourcesTool(server="claude.ai Slack") returns:
"No resources found. MCP servers may still provide tools even if they have no resources."
So the session can talk to the server; the server is simply a tools-only server with no resources.
4. But none of the server's tools are in the model's deferred-tool registry. Every lookup fails:
- Keyword search (
slack,conversations history,thread,permalink, etc.) → returns unrelated tools, never a Slack tool. - Prefix search
mcp__claude_ai_Slack__→ No matching deferred tools found. - Direct selection
select:mcp__claude_ai_Slack__search,...fetch,...conversations_history,...→ No matching deferred tools found.
Contrast: claude.ai Atlassian Rovo tools (e.g. mcp__claude_ai_Atlassian_Rovo__*) are present and callable in the same session.
Suspected root cause
There appears to be a gap between connection and tool ingestion: the connector's MCP tools/list result is not being merged into the session's tool registry, even though the connection handshake and resource interface both succeed. Once a session is running, there is no way for the model to trigger a re-fetch of a connected server's tool list, so the connector stays dead for the life of the session despite reporting healthy.
This is reproducible across restarts — i.e. starting the session with the connector already enabled does not fix it.
Two issues to fix
- VS Code extension: a connector that reports
✔ Connectedmust have its tools registered and callable, or the status should not say Connected. Today "Connected" is misleading. - claude.ai Connectors / "Customize" workflow: connectors enabled through this UI flow connect at the transport level in the VS Code extension but their tools are not surfaced to the model. The enable flow should result in working, callable tools in downstream clients (it does for Atlassian; it does not for Slack).
Impact
Users follow the documented path (enable connector in claude.ai → restart → new session) and get a connector that looks fully working in every diagnostic but cannot actually be used, with no in-session remedy.