pub struct StdioSpawnSpec {
pub command: String,
pub args: Vec<String>,
pub working_dir: Option<String>,
pub env: BTreeMap<String, String>,
pub timeout_secs: Option<u64>,
pub persistent: bool,
}Expand description
Spawn specification for stdio MCP subprocesses. Required when
transport_mode == ToolTransportMode::McpStdio.
Fields§
§command: StringExecutable command. Looked up via $PATH on the operator’s
node. E.g. npx, python, /usr/local/bin/stripe-mcp.
args: Vec<String>Arguments passed to the command. E.g. ["-y", "@stripe/mcp", "--tools=all"] for the Stripe MCP via npx.
working_dir: Option<String>Working directory for the subprocess. None = node’s cwd.
env: BTreeMap<String, String>Environment variables (key → value). The UpstreamAuth::EnvVar
variant injects the operator’s sealed credential as an
additional env var at spawn time — it is NOT stored here.
Use this map for non-secret config like LOG_LEVEL, REGION,
STRIPE_TEST_MODE, etc.
timeout_secs: Option<u64>Per-call timeout in seconds. Default 30s if None.
persistent: boolWhether to keep the subprocess alive between invocations (persistent mode) or spawn-per-call (ephemeral mode). Most MCPs support persistent mode and respond faster that way; some legacy MCPs require per-call spawn. Default: persistent.
Trait Implementations§
Source§impl Clone for StdioSpawnSpec
impl Clone for StdioSpawnSpec
Source§fn clone(&self) -> StdioSpawnSpec
fn clone(&self) -> StdioSpawnSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more