mcp_tool_override_tester
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.
read_file
from Filesystemsend_email
from Gmail MCP Serverslack_list_channels
from Slack MCP Server
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.