atd-sdk
Rust client SDK for the Agent Tool Dispatch (ATD) protocol.
Connect to any ATD-speaking server, discover tools, describe them, call them,
and page through large results. This is the client half of the workspace — pair
it with a server built on atd-runtime
(any reachable ATD endpoint will do).
Install
Quick example
use ;
async
Client surface
connect/connect_with_options— open a connection to anEndpointhello/hello_with_ucan_tokens— capability handshake (UCAN-lite tokens)discover— list tool summaries, with an optional query +DiscoverFilterdescribe— fetch a tool's fullToolDefinitioncall— invoke a toolcall_page/call_all— paginated invocation over HMAC-signed cursors;call_allfollows cursors and merges pages perCallAllOptions
The client is async (tokio) and speaks the length-prefixed JSON wire format. It
has no server dependency — it works against any ATD-speaking server, including
the reference server atd-ref-server.
See also
atd-protocol— shared protocol typesatd-mcp-bridge— MCP bridge for third-party MCP clients like Claude Desktop, Cursor, Hermesdocs/quickstart/rust.md— first-call walkthrough
License
Apache-2.0. See LICENSE.