Fixes tool name prefix stripping to use server name instead of catalog name.

Fixes #1179 /claim #1179

Problem

Tools are stored as {serverName}__{toolName} but the code was trying to strip {catalogName}__, causing MCP servers to receive incorrectly prefixed tool names.

Solution

Strip server name prefix (the correct prefix) as the primary behavior, removing the incorrect catalog name logic.

Testing

  • TypeScript type checking passes
  • Tested with n8n MCP server (catalog: n8n, server: n8n-lidar)
  • Mock MCP server successfully receives unprefixed tool names
  • Tool calls execute successfully

[!NOTE] Fixes tool name prefixing to strip server-name (with catalog-name fallback) and aligns local tool persistence; adds tests and minor e2e config updates.

  • Backend
    • Tool call prefixing: In src/clients/mcp-client.ts, strip mcpServerName prefix from toolCall.name; if unchanged and catalog differs, fall back to stripping catalogName.
    • Local tool persistence: In src/routes/mcp-server.ts, persist tools using mcpServer.name as the prefix (remove catalog-name usage).
  • Tests
    • Add cases in src/clients/mcp-client.test.ts verifying server-name stripping and catalog-name fallback for mixed naming (n8n-lidar__* vs n8n__*).
    • Maintain existing behaviors across transports and response modifier templates.
  • Config
    • Update platform/e2e-tests/knip.config.ts entries (add fixtures.ts and auth setup files) and ignore tsc binary.

Written by Cursor Bugbot for commit bc1cfb60dae6badc1efde22a44b35c1dff468247. This will update automatically on new commits. Configure here.

Claim

Total prize pool $30
Total paid $0
Status Pending
Submitted November 29, 2025
Last updated November 29, 2025

Contributors

HA

Harsh Kumar

@thisisharsh7

100%

Sponsors

AR

Archestra

@archestra-ai

$30