Problem
buzz agents draft-create / draft-update can set channel, display_name,
system_prompt, runtime, provider, model, respond_to — but not the
harness's MCP command or extra env. Those are the two fields that let a managed
agent carry external tools (an app's own MCP server + the token it needs).
Today only Desktop's Create-agent → Advanced exposes them
(desktop/src/features/agents/channelAgents.ts:237 → runtime.mcpCommand,
plus env_vars in useGlobalAgentConfig.ts:18). The harness already supports
an arbitrary MCP:
crates/buzz-acp/src/config.rs:261 — #[arg(long, env = "BUZZ_ACP_MCP_COMMAND")] pub mcp_command: String
crates/buzz-acp/src/lib.rs:4141 build_mcp_servers() — takes any command (derives name from path), not hardcoded to buzz-cli; injects BUZZ_RELAY_URL / BUZZ_PRIVATE_KEY into its env.
crates/buzz-acp/src/lib.rs:3721 — extra_env passthrough already exists.
So the capability is there; the CLI just can't reach it. Anyone scripting agent
provisioning (CI, an app's own setup command) is forced through the Desktop GUI.
Ask
Add to buzz agents draft-create and draft-update:
--mcp-command <cmd> # BUZZ_ACP_MCP_COMMAND for the harness
--env KEY=VALUE # repeatable; merged into the MCP subprocess env (extra_env)
Wire them into the same request the Desktop Advanced panel already sends
(runtime.mcpCommand, env_vars) — no new harness behavior, just CLI parity
with the GUI.
Why
Lets an app provision a fully-configured managed agent from one scripted command
— e.g. a <app> mcp tool server + its <APP>_TOKEN — instead of walking a user
through the Advanced GUI. Same motivation as the install deep-link (#2911):
make the agent path scriptable end-to-end.
Happy to send the PR if the shape looks right.
Problem
buzz agents draft-create/draft-updatecan setchannel,display_name,system_prompt,runtime,provider,model,respond_to— but not theharness's MCP command or extra env. Those are the two fields that let a managed
agent carry external tools (an app's own MCP server + the token it needs).
Today only Desktop's Create-agent → Advanced exposes them
(
desktop/src/features/agents/channelAgents.ts:237→runtime.mcpCommand,plus
env_varsinuseGlobalAgentConfig.ts:18). The harness already supportsan arbitrary MCP:
crates/buzz-acp/src/config.rs:261—#[arg(long, env = "BUZZ_ACP_MCP_COMMAND")] pub mcp_command: Stringcrates/buzz-acp/src/lib.rs:4141build_mcp_servers()— takes any command (derives name from path), not hardcoded tobuzz-cli; injectsBUZZ_RELAY_URL/BUZZ_PRIVATE_KEYinto its env.crates/buzz-acp/src/lib.rs:3721—extra_envpassthrough already exists.So the capability is there; the CLI just can't reach it. Anyone scripting agent
provisioning (CI, an app's own
setupcommand) is forced through the Desktop GUI.Ask
Add to
buzz agents draft-createanddraft-update:Wire them into the same request the Desktop Advanced panel already sends
(
runtime.mcpCommand,env_vars) — no new harness behavior, just CLI paritywith the GUI.
Why
Lets an app provision a fully-configured managed agent from one scripted command
— e.g. a
<app> mcptool server + its<APP>_TOKEN— instead of walking a userthrough the Advanced GUI. Same motivation as the install deep-link (#2911):
make the agent path scriptable end-to-end.
Happy to send the PR if the shape looks right.