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 drift

Try It

Add to your Cargo.toml:

[dependencies]
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 time

What'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.