[BUG] MCP Prompts are not visible to Claude in conversation context
Resolved 💬 4 comments Opened Nov 5, 2025 by isalvadori Closed Jan 12, 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?
MCP prompts are successfully discovered and can be invoked as slash commands by users, but they are not visible to Claude in the conversation context. This prevents Claude from proactively suggesting or using MCP prompts, unlike MCP tools which are visible.
- MCP prompts appear as slash commands to users (e.g.,
/mcp__my-mcp-server__my_prompt) - Users can successfully invoke these prompts
- The prompt content is correctly injected into the conversation
- However, Claude cannot see these prompts in its available capabilities
What Should Happen?
MCP prompts should be visible to Claude in the same way that:
- MCP tools are visible (they appear as
mcp__servername__toolnamein Claude's available tools) - Regular slash commands are visible (they appear in
<available_skills>)
This would allow Claude to:
- Suggest using relevant MCP prompts when appropriate
- List available MCP prompts when asked
- Proactively incorporate them into workflows
Error Messages/Logs
Steps to Reproduce
- Create an MCP server that exposes both tools and prompts:
McpServer.sync(transportProvider)
.serverInfo("my-mcp-server", "0.0.1")
.capabilities(McpSchema.ServerCapabilities.builder()
.tools(true)
.prompts(true) // Prompts capability enabled
.build())
.tools(syncToolSpecification)
.prompts(getSyncPromptSpecification()) // Prompt registered
.build();
- Configure the server in .claude.json:
{
"mcpServers": {
"my-mcp-server": {
"command": "java",
"args": ["-jar", "/path/to/server.jar"]
}
}
}
- Start Claude Code and verify:
- MCP tools appear in Claude's context (✅ Working)
- MCP prompts do NOT appear in Claude's context (❌ Not working)
- User can manually invoke the prompt via slash command (✅ Working)
Verification
- Tested with MCP inspector: prompts are correctly exposed by the server
- MCP tools from the same server are visible to Claude
- The prompt executes successfully when invoked by user
Impact
This limits Claude's ability to leverage MCP prompts effectively. Since Claude cannot see what prompts are available, it cannot:
- Recommend their use in relevant contexts
- Build workflows that incorporate them
- Inform users about available prompt capabilities
Environment
- Claude Code: 2.0.33
- OS: Ubuntu 24.04.3 LTS
- MCP Server Implementation: Java-based using io.modelcontextprotocol SDK
Related Documentation
- https://docs.claude.com/en/docs/claude-code/mcp states: "MCP prompts are dynamically discovered from connected servers"
- However, "discovered" appears to only mean "available to users as slash commands," not "visible to Claude"
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.0.33
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Xterm
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗