stdiobus-client 1.1.1

Async client for stdio_bus - AI agent transport layer for MCP/ACP protocols
Documentation

stdiobus-client

Crates.io License

Async client for stdio_bus - the AI agent transport layer for MCP/ACP protocols.

This is the main crate you should use. It provides a high-level async API for communicating with stdio_bus workers.

Installation

[dependencies]
stdiobus-client = "1.0"
tokio = { version = "1", features = ["full"] }

Quick Start

use stdiobus_client::{StdioBus, BusConfig, PoolConfig, Result};
use serde_json::json;

#[tokio::main]
async fn main() -> Result<()> {
    let bus = StdioBus::builder()
        .config(BusConfig {
            pools: vec![PoolConfig {
                id: "worker".into(),
                command: "node".into(),
                args: vec!["./worker.js".into()],
                instances: 2,
            }],
            limits: None,
        })
        .build()?;

    bus.start().await?;

    let result = bus.request("tools/list", json!({})).await?;
    println!("Tools: {:?}", result);

    bus.stop().await?;
    Ok(())
}

Features

  • docker (default) - Docker backend support
  • native - Native FFI backend (requires libstdio_bus)

Documentation

See the main repository README for full documentation.

License

Apache-2.0