Cross-root MCP support
Problem
The MCP server was effectively tied to a single startup root. Tools could not reliably inspect or operate on another repository without switching the whole session, and state handling around alternate roots was inconsistent.
Needed feature
Add a universal per-call project_root override across the MCP tool surface, while keeping set_project_root as the explicit way to change the default root for later calls.
Required behavior
- omitted
project_root uses the active/default root
- provided
project_root applies only to that call
set_project_root changes the default root for later calls
- switching roots must reset transient runtime session state for the new default root
- cross-root reads and workflows must operate on the target root without contaminating the active root
Cross-root MCP support
Problem
The MCP server was effectively tied to a single startup root. Tools could not reliably inspect or operate on another repository without switching the whole session, and state handling around alternate roots was inconsistent.
Needed feature
Add a universal per-call
project_rootoverride across the MCP tool surface, while keepingset_project_rootas the explicit way to change the default root for later calls.Required behavior
project_rootuses the active/default rootproject_rootapplies only to that callset_project_rootchanges the default root for later calls