MCP Server Tool Collision

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When both the Airtable and Supabase MCP servers are active simultaneously, calling mcp_airtable_list_tables incorrectly routes to the Supabase tool handler, resulting in validation errors because the required base_id parameter is rejected.

Description

There appears to be a tool name collision or routing issue in the MCP framework when multiple MCP servers register tools with similar names. Specifically:

  • Airtable MCP Server registers: mcp_airtable_list_tables (requires base_id parameter)
  • Supabase MCP Server registers: mcp_supabase_list_tables (takes optional schemas parameter)

When both servers are active, attempting to call the Airtable tool results in the Supabase tool’s validation schema being applied, causing the Airtable-specific base_id parameter to be rejected.

Steps to Reproduce

  1. Ensure both Airtable and Supabase MCP servers are active in Cursor
  2. Call mcp_airtable_list_tables with required base_id parameter:
    mcp_airtable_list_tables({ base_id: "appMUjMFo1BnNb7KP" })
    
  3. Observe the error

Expected Behavior

Actual Behavior

{
  "error": {
    "name": "ZodError",
    "message": "[\ waarbij {\n    \"code\": \"unrecognized_keys\",\n    \"keys\": [\n      \"base_id\"\n    ],\n    \"path\": [],\n    \"message\": \"Unrecognized key(s) in object: 'base_id'\"\n  }\n]"
  }
}

The error indicates that base_id is not recognized, which matches the Supabase tool’s schema (which doesn’t have a base_id parameter).

Expected Behavior

The Airtable tool should accept the base_id parameter and return a list of tables from the specified Airtable base, returning something like:

[
  {
    "id": "tbl...",
    "name": "Table Name",
    "primaryFieldId": "fld..."
  }
]

Operating System

Windows 10/11

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.43 (user setup)
VSCode Version: 1.99.3
Commit: 8e4da76ad196925accaa169efcae28c45454cce0
Date: 2025-10-30T18:49:27.589Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Windows_NT x64 10.0.19045

Does this stop you from using Cursor

No - Cursor works, but with this issue