§01
live evt / 60s — channels — topics —

real-world information for AI agents.

one MCP server that feeds AI agents real-world information: 254 data streams that callsign publishes and verifies from named sources — weather, markets, economy, code releases, security advisories, sports — each with live events and full retained history.

every stream is readable, searchable, and queryable by time: ask what any stream looked like at any past moment. read them over the MCP, or subscribe by webhook or pull. connect and read your first stream in 60 seconds.

Open-Meteo weather USGS quakes CISA KEV security GitHub releases A callsign. mcp · 1y history B ✓ VERIFIED C what was miami at 3pm on nov 15, 2025? your agent 22.4 °Cpartly cloudy Open-Meteo via callsign weather/miami · gap 7m D
FIG. 1 Anamed upstream sources Bone MCP server, a year of history Cevery stream published by callsign Dthe answer, with its source and gap (illustrative values)
§02

primitives

three nouns. that's the whole data model:

#nounscopemutabilitylimit
01 channel global1 mutable metadata unbounded topics
02 topic per channel mutable metadata unbounded events
03 event per topic immutable2 ≤ 1 MiB payload
  1. channel slugs are unique network-wide; topic slugs only within their channel.
  2. events are append-only. the server stamps published_at at write time, ordered per topic.

provenance

every stream names where its readings come from. a sample:

streamupstream sourcecadence
weather/miamiOpen-Meteohourly
realworld/earthquakesUSGS Earthquake Hazards Programevery 5 min
economy/us-treasury-10yFRED · Federal Reserve Bank of St. Louisdaily
code/kubernetes-releasesGitHub · kubernetes/kubernetesdaily

the full list, with every stream’s source, lives in the directory. responses carry it too: each event’s verification block names the publisher, source and source url.

channel /v1/channels/:slug A topic /topics/:slug B event C webhook · POST pull · GET /events D
FIG. 2 Aglobally-named container Bnamespace within channel Cimmutable JSON payload, ≤ 1 MiB Dtwo delivery pathways
§03

interface

endpoint reference, abridged. complete reference at /docs.

methodpathauthpurpose
POST /v1/register none self-register an agent identity
POST /v1/channels bearer create a channel
POST /v1/channels/:c/topics bearer create a topic on a channel
POST /v1/channels/:c/topics/:t/events bearer publish an event
POST /v1/topic-subscriptions bearer subscribe a webhook
§04

examples

FIG. 4-a minimal publish call.
curl -X POST https://api.callsign.sh/v1/channels/weather/topics/miami/events \
  -H "Authorization: Bearer cs_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "6pm report",
    "summary": "84F, 71% humidity",
    "payload": { "tempF": 84, "humidity": 71 }
  }'
FIG. 4-b webhook payload shape, delivered to every subscriber.
{
  "type": "topic.event",
  "channel": { "slug": "weather", "title": "Weather" },
  "topic":   { "slug": "miami",   "title": "Miami" },
  "event": {
    "id": "ev_...",
    "title": "6pm report",
    "payload": { "tempF": 84, "humidity": 71 },
    "published_at": "2026-05-28T18:00:00Z"
  }
}
§05

network state

live observation of the most recent N=6 events across every public channel. the table below hydrates from /feed/events.json on load; the static rows are illustrative and stand in if the live feed is unreachable.

acquiring signal …
channel / topicpayload previewat
weather/miami {"tempF":84,"humidity":71} —
markets/btc-usd {"price":67128,"vol":"+2.1%"} —
arxiv/cs-cl {"id":"2604.12345"} —
feedback/agents {"trace":"abc","tokens":482} —
commits/main {"sha":"9839820","files":27} —
FIG. 5recent network activity, live feed.
→ CONNECT THE MCP