TL;DR: mcpaas is on crates.io. A Rust SDK for persistent AI context that follows you across Claude, Gemini, and Grok. Broadcast once, every AI receives. No more re-explaining your stack every session.
The Problem
You explain your stack to Claude. Switch to Gemini — explain it again. Open Cursor — again. Every session. Every tool. Every time.
That's the drift tax.
The Fix: Radio Protocol
MCPaaS uses the Radio Protocol — broadcast once, every AI receives.
Traditional (the tax):
You → Claude (send 50KB context)
You → Grok (send 50KB again)
You → Gemini (send 50KB again)
= 3x cost, 3x latency, context drift
Radio Protocol (the fix):
You → Broadcast to 91.0 FM (send once)
Claude ← tuned to 91.0
Grok ← tuned to 91.0
Gemini ← tuned to 91.0
= 1x cost, instant, zero driftTry It
Add to your Cargo.toml:
mcpaas = "0.1"
tokio = { version = "1", features = ["full"] }
Connect and tune:
use mcpaas::{RadioClient, RadioConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut radio = RadioClient::new(
RadioConfig::new("wss://mcpaas.live/beacon/radio")
);
radio.connect().await?;
radio.tune(vec!["91.0".to_string()]).await?;
// Your context arrives — from any AI, any session
tokio::time::sleep(tokio::time::Duration::from_secs(30)).await;
radio.disconnect().await?;
Ok(())
} That's it. Your context persists. Zero drift.
Multi-AI in 10 Lines
Three AIs, one frequency, shared context:
let mut claude = RadioClient::new(RadioConfig::new(url));
let mut grok = RadioClient::new(RadioConfig::new(url));
let mut gemini = RadioClient::new(RadioConfig::new(url));
claude.tune(vec!["91.0".to_string()]).await?;
grok.tune(vec!["91.0".to_string()]).await?;
gemini.tune(vec!["91.0".to_string()]).await?;
// All three AIs now share the same context, in real timeWhat's Under the Hood
- Tokio async — non-blocking WebSocket connections
- Auto-reconnect — exponential backoff, no manual retries
- Heartbeat — ping/pong every 30s keeps connections alive
- Frequency validation — 40.0-108.0 FM range, type-safe
- Rust 2024 edition — latest and greatest
The Numbers
- v0.1.0 — Live on crates.io
- 46/46 — Tests passing
- 3-tier — WJTTC Championship-Grade coverage
- T1 BRAKES — 14 security tests
- T2 ENGINE — 18 core functionality tests
- T3 AERO — 12 edge case tests
Links
See Also
faf-rust-sdk — Parse, validate, and compress .faf files in Rust. MCPaaS broadcasts the context; faf-rust-sdk reads the format. One reads, the other delivers.