You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend engine.sh's existing per-tier model selection to include per-tier MCP tool sets. Triage gets zero MCP tools (speed), deep gets navigation tools (definition/references/diagnostics), audit gets full LSP + speculative execution (preview_edit, simulate_chain for blast-radius analysis). This aligns MCP tool overhead with tier budgets and model capabilities — Haiku/Flash don't benefit from 65 tools, but Opus/Fable do.
Market Signal
MindStudio's analysis (2026) quantifies MCP tool overhead at ~200 tokens per tool definition per turn, with 15–20K tokens consumed by mid-range tool sets before any actual query. The recommended mitigation is "focused agents with minimal, relevant tool sets." GitHub Copilot CLI's LSP Setup skill (June 10, 2026) takes a similar selective approach, exposing only the tools the current task needs rather than the full LSP surface.
User Signal
Discussion #578's phased rollout recommendation already suggests gating LSP to deep/audit. engine.sh already has per-tier model chains (CLAUDE_DEEP_MODEL_CHAIN, CLAUDE_AUDIT_MODEL_CHAIN), per-tier timeouts (TRIAGE_TIMEOUT_SEC=300, DEEP_TIMEOUT_SEC=600), and per-tier allowed-tools (--allowed-tools "Bash,Read,Grep,Glob") — the architecture is pre-wired for per-tier MCP configs. The Token Cost Observatory would capture the per-tier token delta.
Technical Opportunity
engine.sh's run_agentic() and run_triage() already distinguish tiers via the $tier parameter. The proposed architecture:
mcp-config-audit.json — deep set + 6 advanced tools: preview_edit, simulate_chain, rename, call_hierarchy, type_hierarchy, code_action
Triage — no MCP config (stays MCP-free for speed)
The --mcp-config flag on the claude CLI supports multiple configs that merge, so tier-specific configs compose with any future non-LSP MCP servers (e.g., SonarQube Agentic Analysis).
Token budget per tier:
Tier
Model
MCP Tools
Overhead/turn
Budget
Overhead %
Triage
Haiku 4.5
0
0
300s
0%
Deep
Opus 4.8
8
~1,600 tok
600s
<1% of 200K window
Audit
Fable 5
14
~2,800 tok
600s
~1.4% of 200K window
Assessment
Dimension
Score
Rationale
Feasibility
high
Extends existing per-tier architecture with JSON config files + one --mcp-config flag
Must be in place before LSP pilot to prevent token waste on triage tier
Adversarial Review
Strongest objection: Per-tier MCP configs add operational complexity — more files to maintain, more cache keys, more failure modes. The Gemini and Copilot engines may not support the same MCP config format, creating engine-specific branching.
Rebuttal: Complexity is bounded: 2–3 JSON files, managed alongside the existing per-tier model chains. Engine branching already exists in set_engine_config() — MCP config follows the same pattern. For non-Claude engines, the MCP config is simply skipped (graceful degradation, exactly as today). The alternative — exposing all tools to all tiers — wastes tokens on triage and overwhelms lightweight models with tool definitions they can't effectively use.
Suggested Next Step
Define the tool subsets per tier (using agent-lsp's tool names). Create the JSON config files under scripts/mcp-configs/. Wire into engine.sh's run_agentic() with a conditional --mcp-config flag gated on $tier and $REVIEW_ENGINE=claude.
🤖 Proposed by Mary (BMAD Strategic Business Analyst) · companion to Discussion #578
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Extend
engine.sh's existing per-tier model selection to include per-tier MCP tool sets. Triage gets zero MCP tools (speed), deep gets navigation tools (definition/references/diagnostics), audit gets full LSP + speculative execution (preview_edit,simulate_chainfor blast-radius analysis). This aligns MCP tool overhead with tier budgets and model capabilities — Haiku/Flash don't benefit from 65 tools, but Opus/Fable do.Market Signal
MindStudio's analysis (2026) quantifies MCP tool overhead at ~200 tokens per tool definition per turn, with 15–20K tokens consumed by mid-range tool sets before any actual query. The recommended mitigation is "focused agents with minimal, relevant tool sets." GitHub Copilot CLI's LSP Setup skill (June 10, 2026) takes a similar selective approach, exposing only the tools the current task needs rather than the full LSP surface.
User Signal
Discussion #578's phased rollout recommendation already suggests gating LSP to deep/audit.
engine.shalready has per-tier model chains (CLAUDE_DEEP_MODEL_CHAIN,CLAUDE_AUDIT_MODEL_CHAIN), per-tier timeouts (TRIAGE_TIMEOUT_SEC=300,DEEP_TIMEOUT_SEC=600), and per-tier allowed-tools (--allowed-tools "Bash,Read,Grep,Glob") — the architecture is pre-wired for per-tier MCP configs. The Token Cost Observatory would capture the per-tier token delta.Technical Opportunity
engine.sh'srun_agentic()andrun_triage()already distinguish tiers via the$tierparameter. The proposed architecture:mcp-config-deep.json— 8 navigation tools:definition,references,diagnostics,hover,documentSymbol,workspace_symbol,type_definition,declarationmcp-config-audit.json— deep set + 6 advanced tools:preview_edit,simulate_chain,rename,call_hierarchy,type_hierarchy,code_actionThe
--mcp-configflag on theclaudeCLI supports multiple configs that merge, so tier-specific configs compose with any future non-LSP MCP servers (e.g., SonarQube Agentic Analysis).Token budget per tier:
Assessment
--mcp-configflagAdversarial Review
Strongest objection: Per-tier MCP configs add operational complexity — more files to maintain, more cache keys, more failure modes. The Gemini and Copilot engines may not support the same MCP config format, creating engine-specific branching.
Rebuttal: Complexity is bounded: 2–3 JSON files, managed alongside the existing per-tier model chains. Engine branching already exists in
set_engine_config()— MCP config follows the same pattern. For non-Claude engines, the MCP config is simply skipped (graceful degradation, exactly as today). The alternative — exposing all tools to all tiers — wastes tokens on triage and overwhelms lightweight models with tool definitions they can't effectively use.Suggested Next Step
Define the tool subsets per tier (using agent-lsp's tool names). Create the JSON config files under
scripts/mcp-configs/. Wire intoengine.sh'srun_agentic()with a conditional--mcp-configflag gated on$tierand$REVIEW_ENGINE=claude.🤖 Proposed by Mary (BMAD Strategic Business Analyst) · companion to Discussion #578
Beta Was this translation helpful? Give feedback.
All reactions