Managed durable event bus · Realtime · Reliable delivery · AI-native

Messages never dropped, and broken connections heal themselves.
Your AI acts the moment one lands.

Publish once; people and AI receive it together — delivered at least once and never lost; if they're offline, they can rewind and replay it later. The whole messaging backend — queuing, retries, redelivery, reconnects — is on us.

No credit card · Connect in one line via SDK / MCP / CLI

What you can build

Start with the two most compelling scenarios

Each is the kind of thing that takes weeks to build yourself — and a few lines with MsgMesh.

01 / RELIABLE DELIVERY

The customer paid, but the notification vanished

The instant a card clears, your server happens to be rebooting — that “paid” event won't just disappear. It's redelivered automatically once you're back, and retried until it lands; anything that truly can't be delivered is set aside for you to resend with one click.

Why MsgMesh: wire up a payment webhook yourself and the retry window is short — idempotency, reconciliation, and persistence are all on you. This whole path — receive → verify signature → retry → dead-letter → replay — is managed, at-least-once with a dedupe ID on every message. For money-related (payment-critical) notifications, you no longer bolt on your own queue and reconciliation.

02 / AI-NATIVE

An AI support agent on duty all night, replying the moment someone asks

You're asleep at 2am while customers keep posting questions on your site; an AI assistant watches all night, woken the instant a message arrives, handles it, then goes back to watching — not waking every few minutes to check, and definitely not leaving you a pile of unanswered messages to find in the morning.

Why MsgMesh: via MCP's watch_topic, the agent runs a long-lived watch → react → watch loop, woken the moment a message lands — no polling scheduler to write, and no webhook server to bridge into your LLM.

More scenarios

A live chat room where latecomers don't miss a thing

Three thousand people pour in; your phone just connected, and the last few minutes of messages are backfilled right away — unlike a typical chat room, where everything before you joined is gone.

Latecomers can pick up the conversation, with no separate chat-history system to build.

The live ops dashboard the boss opens each morning

Every order, signup, and refund since last night's close is backfilled — nothing missed — instead of the numbers only starting to move the moment you open the screen.

Reopen the screen and you don't start from zero — history fills in first, then realtime resumes.

One sentence, and the AI provisions the backend itself

You just say “build me a little tool that pings me when someone orders,” and it sets up the channel and keys on its own — no signing up, creating a project, or pasting a pile of config first.

Onboarding compressed into one sentence — you don't even open the backend.

Pushing notifications to a contractor — what if the key leaks?

The key you hand the courier can touch only “shipping notifications” and nothing else; every notification carries your own signature, so they can confirm it really came from you.

Even if the key leaks, only that one thing is exposed — nothing else is reachable.

Interactive live rooms with thousands piling in at once

The header reads “~12,000 watching,” ticking down as people leave; ten simultaneous streams each get their own room, and messages never bleed across them.

Ten rooms at once, live head-counts, with no cross-talk between them.

And more →

Reliable webhook relay, multiplayer collaboration, agent swarms… see scenarios and the 5-minute setup.

Why MsgMesh

What holds those scenarios up

Realtime push like Pusher / Ably, plus durable replay, reliable delivery, and AI-native subscriptions — none of which you have to build.

Three delivery modes
Long-poll pull · webhook (retries + dead-letter) · realtime SSE / WebSocket.
At-least-once delivery
A dedupe ID on every message; messages retained 1–30 days (by plan) and replayable within that window.
One-line setup
SDK / MCP / CLI / panel — paste an auto-generated snippet to your AI and it runs.
Least-privilege capability keys
One key bound to send or receive on a single topic; TLS in transit, HMAC signatures on outbound.
Usage-based pricing
Free: 100K messages/month, 20 requests/sec; paid is pure usage-based — pricing announced at launch.

5-minute setup

Copy, paste, run

Talk to your agent in plain language, or drop in one line of SDK — either path works.

Add to Claude / Cursor MCP · RECOMMENDED
// Paste into your MCP config (claude_desktop_config.json, etc.)
{
  "mcpServers": {
    "msgmesh": {
      "command": "npx",
      "args": ["-y", "@msgmesh/mcp-server"],
      "env": { "MQ_API_KEY": "<your key>" }
    }
  }
}
Then tell your agent: “Watch orders and let me know when a new one comes in.” No key? Ask it to create_key and provision itself.
Or one line of SDK
// npm i @msgmesh/sdk
import { MsgMesh } from "@msgmesh/sdk";
const mq = new MsgMesh({ apiKey: process.env.MQ_API_KEY });

// Receiver: subscribe (at-least-once, built-in dedupe ID)
mq.subscribe("orders", { group: "my-app" }, (m) => {
  console.log("event received", m.value);
});

// Sender: publish one — the subscriber above gets it
await mq.publish("orders", { id: 1043, total: 1280 });
Full methods and types: @msgmesh/sdk (JS) · msgmesh (Python).

Want to run a full working project? See the official examples · clone & run ↗

Send your first event

The free plan is plenty to get the hang of it · No credit card

Get started free → See pricing first →