Troubleshooting: Duplicate Tools in Claude Code
Issue Description
When installing Orchestre MCP server in Claude Code, you may see 12 tools instead of the expected 6, with each tool appearing twice.
Investigation Results
After thorough investigation, we've confirmed that:
- The MCP server is working correctly - It only registers and returns 6 tools
- The configuration is correct - Only one instance of Orchestre is configured
- No duplicate code exists - Tools are defined only once in the codebase
Possible Causes
1. Claude Code Display Issue
This appears to be a display issue in Claude Code's UI rather than an actual duplication in the MCP server. The server correctly responds with 6 tools when queried.
2. Claude Code Cache
Claude Code might be caching tool definitions from a previous installation or configuration.
Solutions
Solution 1: Restart Claude Code
- Completely quit Claude Code (not just close the window)
- Restart Claude Code
- Check if the tools now appear correctly
Solution 2: Remove and Re-add the MCP Server
# Remove the existing configuration
claude mcp remove orchestre
# Re-add with fresh configuration
claude mcp add orchestre \
-e GEMINI_API_KEY=your_key \
-e OPENAI_API_KEY=your_key \
-- node /path/to/orchestre/dist/index.jsSolution 3: Clear Claude Code Cache
- Close Claude Code
- Clear any Claude Code cache:bash
# On macOS/Linux rm -rf ~/.claude/cache # On Windows rmdir /s %USERPROFILE%\.claude\cache - Restart Claude Code
Solution 4: Check for Multiple Installations
Ensure you don't have multiple versions of Orchestre installed:
# Check Claude configuration
jq '.mcpServers' ~/.claude.jsonVerification
To verify the MCP server is working correctly:
# Create a test script
cat > test-mcp.js << 'EOF'
const { spawn } = require('child_process');
process.env.GEMINI_API_KEY = 'test';
process.env.OPENAI_API_KEY = 'test';
const server = spawn('node', ['dist/index.js']);
server.stdin.write(JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'tools/list',
params: {}
}) + '\n');
server.stdout.on('data', (data) => {
const response = JSON.parse(data);
console.log('Tools count:', response.result.tools.length);
process.exit(0);
});
EOF
# Run the test
node test-mcp.jsExpected output: Tools count: 6
Notes
- This is a known UI issue in Claude Code and doesn't affect functionality
- All 6 tools work correctly even if displayed twice
- The duplicate display is cosmetic only
Status
This issue has been documented and appears to be a Claude Code UI quirk rather than an Orchestre bug. The MCP server implementation is correct and returns the proper number of tools.
