ContextVM Rust SDK 0.2.0 is out! ๐
MCP over Nostr just got a whole lot more capable. Three big things landed today:
๐ฆ Oversized transfers (CEP-22)
Until now, messages were capped by what fits in a single Nostr event (around 65 KB). Larger payloads, like big tool results or resources, now split into chunks automatically, get verified end-to-end, and reassemble on the other side. Servers only do this when the client supports it, so older clients keep working.
๐ Open-ended streaming (CEP-41)
A server tool can now send a live stream of data back to the client while a request is still running, think progress, partial results, or log lines. The client reads it as an async stream, and the final normal response still arrives at the end. Streaming is negotiated automatically with clients that support it.
๐ UniFFI bindings, write ContextVM in your language
The SDK now ships bindings for Python, Swift, Kotlin, and C/C++, all built on the same Rust core. That means native support on mobile, backend services, and scripting runtimes. There's a runnable examples/python/ folder to get you started.
Plus: smarter relay resolution (CEP-17), richer server announcements (CEP-6), optional human-friendly server profiles (CEP-23), progress-aware request timeouts, and an MSRV bump to 1.88.
Huge thanks to @aljaz for the job on uniffi bindings, and @Harsh for all the hard hork!
Ready to build on this? Read the docs and ship your first ContextVM server or client today:
ContextVM Documentation
ContextVM
The intersection of Nostr and MCP