fabro/lib/crates/fabro-cli/src/shared
Bryan Helmkamp a19f6dd03a
feat(cli): add Fabro MCP server (#236)
## Summary

Adds a stdio-based Fabro MCP server so MCP clients can manage Fabro
workflow runs through the authenticated `fabro` CLI, without a separate
MCP auth flow.

## What Changed

- Adds `fabro mcp start`, `fabro mcp config`, and `fabro mcp init
<agent>` for launching and configuring the MCP server.
- Introduces a new `fabro-mcp-server` crate with run-management tools:
  - `fabro_run_create`
  - `fabro_run_search`
  - `fabro_run_interact`
  - `fabro_run_gather`
  - `fabro_run_events`
- Reuses the CLI's authenticated server connection behavior, including
OAuth refresh, dev-token/local-server handling, explicit server targets,
proxy behavior, and stdio env/cwd isolation.
- Moves shared run-manifest construction into `fabro-manifest` so CLI
runs and MCP-created runs use the same override semantics.
- Extends MCP client stdio support with configured cwd and exact
environment handling for reliable spawned-server tests.

---------

Co-authored-by: fabro-sh-0530[bot] <281434857+fabro-sh-0530[bot]@users.noreply.github.com>
Co-authored-by: Fabro <noreply@fabro.sh>
2026-05-11 18:20:50 -04:00
..
github.rs fix(github): refresh installation tokens during workflows 2026-05-06 07:15:18 -04:00
mod.rs Add typed provider credential auth flow 2026-04-12 22:10:11 -04:00
provider_auth.rs fix(error): preserve remaining error context 2026-05-02 10:51:15 -04:00
repo.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
utilities.rs feat(cli): add Fabro MCP server (#236) 2026-05-11 18:20:50 -04:00