# stdiobus-client
[](https://crates.io/crates/stdiobus-client)
[](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
```toml
[dependencies]
stdiobus-client = "1.0"
tokio = { version = "1", features = ["full"] }
```
## Quick Start
```rust
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](https://github.com/stdiobus/stdiobus-rust) for full documentation.
## License
Apache-2.0