Clients
Download Orb
Native shells for internet pub/sub. Sign in with Google to manage topics, keys, and publish from the app; the web inbox still works. Contract:
living contract docs/client-spec.md v0.56.0 (in the zip as CLIENT-SPEC.md).
Development host download.orbnet.app — not production.
Prebuilt macOS .dmg is Developer ID signed and notarized. Windows NSIS and Linux .deb/.AppImage are unsigned.
Android is a debug APK (sideload only — not Play, not a release keystore).
This round (macOS 0.2.13 SwiftUI · Windows/Linux 0.2.2 · Android 0.1.42 · iOS 0.1.11 · MCP 0.3.5 · CLI 0.1.1):
The Android owner screens stop hiding things. A topic you own now opens on an Audience section that says who can read it — grants out, devices connected, members for an encrypted topic — so a topic with nobody listening looks different from a live one at a glance. Publish keys and listen grants are separate rows instead of one row called "Publish keys" that also minted a read-only credential. A minted key appears in a box next to the button that made it, with its own copy control, instead of at the top of the screen where you had to scroll to find it. Pairing a device and minting an account key moved off the Topics tab to Settings → Devices, where the rest of the account-level controls live, and the duplicate pair section inside a topic is gone. Spec 0.57.0.
MCP server (CLI)
orb-mcp is a local stdio MCP server — a thin wrapper
over the Orb HTTP API (publish, list_envelopes,
fetch_body, topic_soul, list_owned_topics).
No extra daemon, no new deps.
It works in any MCP host (Claude Code, Cursor, Marble, custom bots).
Credentials live in your environment, never in Orb’s infra and never
in argv. The topic secret is sent only to api.orbnet.app.
Downloads
Checksums: files/SHA256SUMS (updated on each mcp-v* release).
Install
# Linux / macOS
chmod +x orb-mcp_0.3.5_$(uname -s | tr A-Z a-z)_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
sudo mv orb-mcp_0.3.5_* /usr/local/bin/orb-mcp
orb-mcp -version
Credentials (env)
| Key | Meaning |
ORB_API_BASE | default https://api.orbnet.app |
ORB_TOPIC_ID | default topic t_… |
ORB_AK | account key — publish + read (preferred) |
ORB_PUBLISH_KEY | topic-scoped publish key (fallback) |
ORB_SK | listen-only grant (read only) |
ORB_SESSION | owner session — for list_owned_topics (account key also works) |
ORB_KEYS | JSON map topic_id → token (or path to a JSON file) — one server, multiple accounts |
With no read token the server omits Authorization and does public listen (topic id only).
Multiple topics across accounts
One instance normally holds one publish credential. To reach private topics
owned by different accounts from a single server, give it an
ORB_KEYS map and the right Authorization is picked from
topic_id on each call:
export ORB_KEYS='{"t_A":"orb_pk_live_…","t_B":"orb_pk_live_…","t_C":"orb_sk_live_…"}'
# or: export ORB_KEYS=/path/to/0600-keys.json
publish / list_envelopes / fetch_body use the
mapped key; unlisted topics fall back to ORB_AK/ORB_PUBLISH_KEY/ORB_SK.
Keys live in env/file only — never in tool arguments or logs.
Register
Claude Code:
claude mcp add orb \
--env ORB_API_BASE=https://api.orbnet.app \
--env ORB_TOPIC_ID=t_… \
--env ORB_AK=orb_ak_live_… \
-- /usr/local/bin/orb-mcp
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"orb": {
"command": "/usr/local/bin/orb-mcp",
"env": {
"ORB_API_BASE": "https://api.orbnet.app",
"ORB_TOPIC_ID": "t_…",
"ORB_AK": "orb_ak_live_…"
}
}
}
}
Tools: publish (markdown or json), list_envelopes,
fetch_body, topic_soul, list_owned_topics.
Source: cmd/orb-mcp/ in the repo. Build with make build-mcp.
Command-line (CLI)
orb-cli is a dependency-free Go CLI for humans and scripts —
publish, list, read, soul,
topics, version. Same env credentials as orb-mcp:
ORB_AK (publish + read), ORB_PUBLISH_KEY, ORB_SK,
ORB_SESSION, ORB_KEYS. No key = public listen (topic id only).
Downloads
Checksums: files/SHA256SUMS (updated on each cli-v* release).
Install
# Linux / macOS
chmod +x orb-cli_0.1.1_$(uname -s | tr A-Z a-z)_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
sudo mv orb-cli_0.1.1_* /usr/local/bin/orb-cli
orb-cli version
Usage
export ORB_TOPIC_ID=t_… # optional default topic
export ORB_AK=orb_ak_live_… # publish + read (optional; omit for public listen)
orb-cli list # recent envelopes (public: no key)
orb-cli soul t_… # topic alias + about
orb-cli read -topic t_… m_… # fetch a message body
printf 'hello' | orb-cli publish -title 'hi' # publish markdown
orb-cli topics # owned topics (orb_ak_ or session)
Source: cmd/orb-cli/ in the repo. Build with make build-cli.
Credentials come from env, never argv. ORB_KEYS maps topic_id → token
for private topics owned by different accounts.