feat(mcp): limit alwaysAllow tools to fix overload (#1) #2

Closed
pplate wants to merge 0 commits from feat/mcp-tool-limit into main
Owner

Summary

Fixes #1 — MCP tool overload exceeding 100 registered tools in VS Code/Roo.

Changes

Restricted alwaysAllow in .roo/mcp.json for three over-exposing servers:

Server Before After
git ["*"] (all ~10 tools) 5 essential tools
gitea ["*"] (all 48 tools) 8 essential tools
playwright unrestricted (25 tools) 6 essential tools

Total tools: 105+ → ~40 (estimated, pending VS Code restart verification)

git (5 tools)

git_status, git_diff_unstaged, git_log, git_add, git_commit

gitea (8 tools)

create_issue, list_repo_issues, get_issue, edit_issue, create_issue_comment, create_pull_request, get_repository, list_my_repositories

playwright (6 tools)

browser_navigate, browser_click, browser_fill, browser_screenshot, browser_close, browser_new_context

Verification

After merging, restart VS Code and confirm total MCP tool count drops below 50.

Commit

ef960a4b — feat(mcp): limit tools to fix overload (#1)

## Summary Fixes #1 — MCP tool overload exceeding 100 registered tools in VS Code/Roo. ## Changes Restricted `alwaysAllow` in [`.roo/mcp.json`](.roo/mcp.json) for three over-exposing servers: | Server | Before | After | |--------|--------|-------| | `git` | `["*"]` (all ~10 tools) | 5 essential tools | | `gitea` | `["*"]` (all 48 tools) | 8 essential tools | | `playwright` | unrestricted (25 tools) | 6 essential tools | **Total tools: 105+ → ~40** (estimated, pending VS Code restart verification) ### git (5 tools) `git_status`, `git_diff_unstaged`, `git_log`, `git_add`, `git_commit` ### gitea (8 tools) `create_issue`, `list_repo_issues`, `get_issue`, `edit_issue`, `create_issue_comment`, `create_pull_request`, `get_repository`, `list_my_repositories` ### playwright (6 tools) `browser_navigate`, `browser_click`, `browser_fill`, `browser_screenshot`, `browser_close`, `browser_new_context` ## Verification After merging, restart VS Code and confirm total MCP tool count drops below 50. ## Commit `ef960a4b` — feat(mcp): limit tools to fix overload (#1)
pplate added 1 commit 2026-04-04 12:03:22 +02:00
Restrict alwaysAllow in .roo/mcp.json to essential tools per server:
- git: 5 tools (status, diff, log, add, commit) — was wildcard *
- gitea: 8 tools (create/list/get/edit issues, PR, repo) — was wildcard *
- playwright: 6 tools (navigate, click, fill, screenshot, close, new_context) — was unrestricted

Reduces total registered tools from 105+ to ~40, eliminating context
bloat and VS Code/Roo registration failures.

Closes #1
Author
Owner

⚠️ Closing this PR as ineffective.

After further research, alwaysAllow in .roo/mcp.json does not reduce the number of tools loaded into the system prompt context. It only controls which tools execute without a confirmation prompt.

Roo Code loads ALL tools from ALL enabled MCP servers into context regardless of alwaysAllow settings.

The issue (#1) has been updated with correct diagnosis and real workarounds:

  • Disable entire MCP servers via the Roo Code MCP panel when not in use (playwright, gitea)
  • Wait for upstream Roo Code Issue #5346 (per-mode server/tool filtering)
  • Wait for upstream Issue #5373 (on-demand tool specs)

The alwaysAllow changes in this PR are harmless but provide no benefit for token usage. Reverting is optional.

⚠️ **Closing this PR as ineffective.** After further research, `alwaysAllow` in `.roo/mcp.json` does **not** reduce the number of tools loaded into the system prompt context. It only controls which tools execute without a confirmation prompt. Roo Code loads ALL tools from ALL enabled MCP servers into context regardless of `alwaysAllow` settings. The issue (#1) has been updated with correct diagnosis and real workarounds: - Disable entire MCP servers via the Roo Code MCP panel when not in use (playwright, gitea) - Wait for upstream Roo Code Issue #5346 (per-mode server/tool filtering) - Wait for upstream Issue #5373 (on-demand tool specs) The `alwaysAllow` changes in this PR are harmless but provide no benefit for token usage. Reverting is optional.
pplate self-assigned this 2026-04-04 14:10:40 +02:00
pplate closed this pull request 2026-04-04 14:11:12 +02:00

Pull request closed

Sign in to join this conversation.