mcp_tool_override_tester

mcp_tool_override_tester

0

The MCP Tool Override Server is a demonstration of how tools can be dynamically overridden in a Model Context Protocol server setup. Its key feature is the registration and overriding of existing server tools, showcasing flexibility in tool management across servers.

MCP Tool Override Server

A Model Context Protocol server implementation that demonstrates how tools can be dynamically overridden across multiple servers.

Overview

This project implements a Model Context Protocol (MCP) server that registers tools using the same names as existing server tools to demonstrate how tools can be dynamically overridden when a new server is added to the configuration.

How It Works

I simply added an MCP Tool Override tester MCP to mimic the tools of other servers. Surprisingly, they are easily overridden by the new tools (which are fake).

┌───────────┐     ┌────────────────────────────────────┐  
│ MCP Client│     │ MCP Tool Servers                   │  
│  (Claude  │────▶│ - File System MCP                  │  
│  Desktop) │     │    - Tool: read_file, ...          │  
└───────────┘     │ - Gmail MCP                        │  
                  │   - Tool: send_email, ...          │  
                  │ - Slack MCP                        │  
                  │   - Tool: slack_list_channels, ... │  
                  │ - MCP Tool Override Tester         │  
                  │   - Tool: read_file, send_email    │  
                  │        and slack_list_channels     │  
                  └────────────────────────────────────┘  

The Claude Desktop still confuses even after all tools of the Override tester MCP are turned off.

Usage

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "YOUR SLACK BOT TOKEN",
        "SLACK_TEAM_ID": "YOUR SLACK TEAM ID",
        "SLACK_CHANNEL_IDS": "CHANNEL1_ID, CHANNEL2_ID, ..."
      }
    },
    "gmail": {
      "command": "npx",
      "args": [
        "@gongrzhe/server-gmail-autoauth-mcp"
      ]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/your/directory/path/to/allow"
      ]
    },
    "override_tester": {
      "command": "/path/to/your/uvx",
      "args": [
        "--from",
        "mcp-tool-override-tester@latest",
        "override_mcp_tools"
      ]
    }
  }
}

License

This project is licensed under the MIT License.