-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Open
Labels
area:mcpbugSomething isn't workingSomething isn't workinghas reproHas detailed reproduction stepsHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOSIssue specifically occurs on macOSstaleIssue is inactiveIssue is inactive
Description
MCP Tools Not Available in Conversation Interface Despite Successful Connection
Bug Description
Claude Desktop successfully connects to MCP server and lists tools via tools/list requests, but the tools never become available in the conversation interface for actual use.
Environment
- Claude Desktop Version: 0.11.3 (latest as of Dec 2024)
- OS: macOS (Darwin 24.5.0)
- MCP Server: Custom PHP-based portfolio management server
- MCP Protocol Version: 2024-11-05
Expected Behavior
After Claude Desktop successfully connects to MCP server and receives tool definitions, the tools should be available for use in conversations (e.g., when asking "list my portfolios").
Actual Behavior
- Claude Desktop connects successfully to MCP server ✅
tools/listrequests return proper tool definitions ✅initializehandshake completes successfully ✅- BUT: Tools are never made available in conversation interface ❌
- Claude responds with "I don't have access to..." instead of using available tools
Debug Evidence
MCP Server Debug Log Shows Successful Connection:
[2025-06-27 23:53:34] MCP DEBUG: Handling method: initialize
[2025-06-27 23:53:34] MCP DEBUG: Sending response | Data: {"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":false}},"serverInfo":{"name":"simple-portfolio-mcp","version":"1.0.0","description":"Simple Portfolio MCP Server for testing"}}}
[2025-06-27 23:53:34] MCP DEBUG: Handling method: tools/list
[2025-06-27 23:53:34] MCP DEBUG: Sending response | Data: {"jsonrpc":"2.0","id":1,"result":{"tools":[{"name":"list_portfolios","description":"List all available portfolios for the user","inputSchema":{"type":"object","properties":[],"required":[]}},{"name":"get_portfolio_details","description":"Get detailed information about a specific portfolio including assets and performance","inputSchema":{"type":"object","properties":{"portfolio_id":{"type":"integer","description":"The ID of the portfolio to retrieve details for"}},"required":["portfolio_id"]}},{"name":"get_portfolio_performance","description":"Get performance metrics for a portfolio","inputSchema":{"type":"object","properties":{"portfolio_id":{"type":"integer","description":"The ID of the portfolio"},"period":{"type":"string","description":"Time period for performance data","enum":["1d","1w","1m","3m","6m","1y"]}},"required":["portfolio_id"]}}]}}
Claude Desktop Configuration:
{
"mcpServers": {
"portfolio": {
"command": "/usr/local/bin/php",
"args": [
"/Users/didierphmartin/Documents/claude_code/PortfolioManagement/backend/portfolio-service/simple_mcp_server.php"
]
}
}
}MCP Server Tool Definitions:
{
"tools": [
{
"name": "list_portfolios",
"description": "List all available portfolios for the user",
"inputSchema": {
"type": "object",
"properties": [],
"required": []
}
},
{
"name": "get_portfolio_details",
"description": "Get detailed information about a specific portfolio including assets and performance",
"inputSchema": {
"type": "object",
"properties": {
"portfolio_id": {
"type": "integer",
"description": "The ID of the portfolio to retrieve details for"
}
},
"required": ["portfolio_id"]
}
},
{
"name": "get_portfolio_performance",
"description": "Get performance metrics for a portfolio",
"inputSchema": {
"type": "object",
"properties": {
"portfolio_id": {
"type": "integer",
"description": "The ID of the portfolio"
},
"period": {
"type": "string",
"description": "Time period for performance data",
"enum": ["1d", "1w", "1m", "3m", "6m", "1y"]
}
},
"required": ["portfolio_id"]
}
}
]
}Reproduction Steps
- Create MCP server with proper stdio-based communication
- Add server to Claude Desktop config at
~/Library/Application Support/Claude/claude_desktop_config.json - Restart Claude Desktop completely
- Verify connection (tools/list requests appear in server logs)
- Try to use tools in conversation (e.g., "list my portfolios")
- Observe that Claude responds with "I don't have access to..." instead of using available tools
Key Observations
- No
tools/callrequests: Debug logs show repeatedtools/listrequests but never anytools/callrequests, indicating tools are being discovered but not executed - Client Info:
"clientInfo":{"name":"claude-ai","version":"0.1.0"}suggests Claude Desktop is connecting properly - Protocol Compliance: Server implements MCP 2024-11-05 spec correctly with proper JSON-RPC responses
Potential Related Issues
This may be related to:
- Issue BUG: MCP servers fail to connect in Claude Code despite correct configuration #1611: MCP servers fail to connect in Claude Code
- Issue [BUG] Cannot get any MCP tool calls working at all in Claude Code, despite them working in Claude Desktop #467: MCP tool calls not working despite tools being available
- General MCP integration bugs in Claude Desktop
Manual Testing Confirms Server Works
Direct testing of MCP server via command line shows it works perfectly:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | php simple_mcp_server.php
# Returns proper tool definitionsImpact
This prevents using custom MCP tools in Claude Desktop conversations, making the MCP integration feature effectively non-functional for custom servers despite proper technical implementation.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:mcpbugSomething isn't workingSomething isn't workinghas reproHas detailed reproduction stepsHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOSIssue specifically occurs on macOSstaleIssue is inactiveIssue is inactive