aipotheosis-labs / aipotheosis-labs/gate22
MCP bundle tool-name collision with multiple configurations of the same server
- 主要言語
- TypeScript
- スター
- 178
- フォーク
- 24
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
## Problem
When bundling multiple configurations of the same MCP server, tools are named SERVER__TOOL without configuration scope. Calls then can’t target the intended configuration.
## Impact
Agents can’t pick the correct account (e.g., Shared Gmail vs Developer Gmail) in one bundle; calls may hit the wrong config.
## Repro
Create two GMAIL configs, bundle both, use SEARCH_TOOLS and EXECUTE_TOOL for GMAIL__THREADS_LIST → ambiguous routing.
## Code References
Tool name construction (no config in name): `mcp_tools_manager.py`
Execution assumes single config per server in bundle: `execute_tool.py`
Bundle model TODO acknowledging missing restriction:`sql_models.py`
Tools search returns names without config hint: `search_tools.py`
Global unique tool name: `execute_tool.py`
Schema enforces global unique MCPTool.name: `sql_models.py`
## Hypotheses
- Add config-qualified naming: SERVER__CONFIG_ALIAS__TOOL.
- Two-step execute: add config_id/config_name to EXECUTE_TOOL args; include config hints in SEARCH_TOOLS.
- Per-bundle aliasing at initialize; expose alias → config map via tools/list.
- Temporary mitigation: disallow bundling same-server configs until disambiguation lands.
コントリビューションガイド
評価
この issue はまだ評価されていません。