Files
mesh-sdk/rust/README.md
T
jochen 78817c949e A tools bundle speaks MCP over stdio: the loop in TypeScript, and skeleton SDKs for Python, Go, Rust and C (hq ADR 0187)
The node's runtime launches a tools bundle as a process and speaks MCP over stdio to it, so a tool
may be written in any language and the transport stays in the runtime (ADR 0039's refusal, kept).
Each SDK is the loop and the tool type and nothing else: `@novox/mesh-sdk/stdio` (serveStdio, and
serveRegisteredOverStdio for a bundle that already registers the in-process way), python/, go/,
rust/ and c/ beside it, each with an example answering `greet` and the seat verb `node-lamp.on`.
Skeletons, by the operator's direction: the bare minimum one bundle per language needs to be built
and answer, proven here by each example answering tools/list and tools/call on stdio.
2026-10-02 20:34:19 +02:00

496 B

mesh-sdk for Rust

The skeleton (novox/hq ADR 0187): mesh_sdk::serve(name, &tools) speaks MCP over stdio to the node's tool runtime. A Tool is a name, a description, an argument schema and a function. A tool named <seat>.<verb> is the seat's implementation. One dependency, serde_json.

What it holds, under ADR 0039's test: the stdio loop and the tool type. Nothing else — no bus, no client, nothing of any module's. cargo build --example greet and pipe a tools/list request in.