Problem
The get_overview MCP tool always returns the full overview page (content_md) alongside key_modules and architecture.layers. For orientation, an agent rarely needs the entire essay, and these three fields overlap heavily. The result is a large payload for what is usually a one-time "where am I" call.
Proposed Solution
Add a compact parameter to get_overview (defaulting to compact) that trims content_md, returning the full essay only when the caller opts in (for example include=["content"]). Keep key_modules and architecture.layers as the lightweight orientation payload.
While there, two cheap related wins in the same tool:
- Cap
key_modules (currently up to 20) to a smaller number; it is orientation, not a directory listing.
- Dedupe tour steps by kind so a run of near-identical re-export-hub steps collapses into one.
Alternatives Considered
Leave it as-is and rely on the agent to ignore the extra content. That still pays the token cost on every call, which is the thing worth avoiding for a tool meant for quick orientation.
Additional Context
packages/server/src/repowise/server/mcp_server/tool_overview.py (the content_md field is returned unconditionally around line 721).
Problem
The
get_overviewMCP tool always returns the full overview page (content_md) alongsidekey_modulesandarchitecture.layers. For orientation, an agent rarely needs the entire essay, and these three fields overlap heavily. The result is a large payload for what is usually a one-time "where am I" call.Proposed Solution
Add a
compactparameter toget_overview(defaulting to compact) that trimscontent_md, returning the full essay only when the caller opts in (for exampleinclude=["content"]). Keepkey_modulesandarchitecture.layersas the lightweight orientation payload.While there, two cheap related wins in the same tool:
key_modules(currently up to 20) to a smaller number; it is orientation, not a directory listing.Alternatives Considered
Leave it as-is and rely on the agent to ignore the extra content. That still pays the token cost on every call, which is the thing worth avoiding for a tool meant for quick orientation.
Additional Context
packages/server/src/repowise/server/mcp_server/tool_overview.py(thecontent_mdfield is returned unconditionally around line 721).