Skip to content

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:

  1. The MCP server is working correctly - It only registers and returns 6 tools
  2. The configuration is correct - Only one instance of Orchestre is configured
  3. 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

  1. Completely quit Claude Code (not just close the window)
  2. Restart Claude Code
  3. Check if the tools now appear correctly

Solution 2: Remove and Re-add the MCP Server

bash
# 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.js

Solution 3: Clear Claude Code Cache

  1. Close Claude Code
  2. Clear any Claude Code cache:
    bash
    # On macOS/Linux
    rm -rf ~/.claude/cache
    
    # On Windows
    rmdir /s %USERPROFILE%\.claude\cache
  3. Restart Claude Code

Solution 4: Check for Multiple Installations

Ensure you don't have multiple versions of Orchestre installed:

bash
# Check Claude configuration
jq '.mcpServers' ~/.claude.json

Verification

To verify the MCP server is working correctly:

bash
# 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.js

Expected 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.

Built with ❤️ for the AI Coding community, by Praney Behl