shipper_switch_repo
shipper_switch_repo
Section titled “shipper_switch_repo”Switch this running MCP server to another already-existing local Shipper-ready git checkout for subsequent Shipper MCP operations. Runtime-only; does not clone, initialize, or persist configuration.
When to use
Section titled “When to use”Use this for modal runtime retargeting when subsequent Shipper operations must act on another already-existing local Shipper-ready checkout. Targets may be absolute paths or paths relative to the server’s current working directory, and must already be an existing readable local Git checkout with at least one commit that passes normal settings, policy, and preflight readiness. A committed local repository without a remote is valid and supported as a switch target. A request for the already-active checkout succeeds immediately, including while active-repository work or another switch is in flight. A different target is refused immediately when active-repository work exists, reports the exact current count, leaves the active repository unchanged, and is never queued. Switch preparation does not block unrelated calls; if active work starts before commit, the final exact-count recheck refuses instead of waiting. A concurrent different switch is likewise refused without queuing. During degraded startup, untargeted repository operations keep returning the original startup error, while valid explicit targeted reads remain available and isolated; a successful switch still recovers the active repository on the same connection. The recovered selection is runtime-only and does not persist across restart.
Behavior hints
Section titled “Behavior hints”- idempotentHint: true — Retrying the same call is expected to be safe once the target state is reached.
- openWorldHint: true — The tool reaches GitHub or other external systems outside the MCP server.
Input schema
Section titled “Input schema”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| repository_path | string | yes | - | Path to an existing local git checkout to make active for subsequent Shipper MCP operations. |
Deprecated input aliases (one-release compatibility)
Section titled “Deprecated input aliases (one-release compatibility)”The following deprecated aliases are accepted for this release only:
path→repository_path
An alias-only call succeeds and prepends this warning text for each alias:
- Deprecated input “path” was accepted as “repository_path”; it is supported for this release only and will be rejected in the next release.
The same ordered warnings are returned in _meta["shipper/deprecation-warnings"] as { alias, replacement, removal: "next-release" } entries.
Supplying both an alias and its canonical input is rejected, even when their values are equal.
These aliases will be rejected in the next release; use the canonical inputs now.
Example call
Section titled “Example call”{ "repository_path": "/absolute/path/to/other/repo"}Example result
Section titled “Example result”Switched active repository.repo: other/repopath: /absolute/path/to/other/repoError modes
Section titled “Error modes”- Invalid path: target repo path does not exist: /path, or the path is not a directory or is not readable/executable.
- Not a git repository: target repo is not a git repository: /path
- Git unavailable: Repository identity could not be established for
. Git is unavailable to the MCP process. Install Git and make it available to that process. Correct this condition and call shipper_switch_repo again. - Invalid or uninspectable repository: Repository identity could not be established for
. The path is not a valid inspectable Git repository. Use a valid Git repository or repair the repository’s accessibility or integrity. Correct this condition and call shipper_switch_repo again. - Stable repository identity failure: Repository identity could not be established for
. The repository has no commits. Create an initial commit. Correct this condition and call shipper_switch_repo again. - Shipper preflight failure: .shipper directory not found, required labels are missing, or another Shipper preflight check failed.
- Active repository work in flight: Cannot switch repositories while
active-repository operations are in flight. The active repository was unchanged and no switch was queued. - Concurrent repository switch: Another repository switch is already in progress. The active repository was unchanged and no switch was queued.
- Commit failure: Could not switch active repository to /path. process.chdir failed: