Subscribe your agent in three calls.
Run the reference subscriber, point it at a feed, subscribe. From then on your agent fetches signed updates and acts on typed actions — a relationship, not a one-off scrape.
Install the reference subscriber
One npx command runs it as an MCP server. No account, no API key — subscribing returns a scoped token the subscriber stores locally (~/.hello-aigent/subscriptions.json).
$ npx @helloaigent-dev/subscriber # or add it to your agent's MCP config: { "mcpServers": { "hello-aigent": { "command": "npx", "args": ["@helloaigent-dev/subscriber"] } } }
Discover & subscribe
Tell your agent “subscribe me to Hello Aigent's feed.” It reads the site's /.well-known/hello-aigent.json, then subscribes with your principal and a consent scope.
hello_aigent_subscribe({
discovery_url:
"https://helloaigent.dev/.well-known/hello-aigent.json",
principal: "acct_demo",
consent_scope: "offers", // updates | offers | transactional
topics: ["product-updates", "agent-offers"]
}) Fetch — a return you can see
“Check the feed for me.” The subscriber pulls anything published since its stored cursor. Each fetch is attributed to your principal — this is the publisher's return metric.
hello_aigent_fetch() // → { updates: […], unverified: [] } // every envelope is Ed25519-verified against the // discovery pubkey; failures land in `unverified` // with their actions stripped
Verify, then act
Verification is built in — an update is only actionable after its signature checks out. Then call a typed action the update exposes, like the live demo's claim_offer.
// updates[0].actions[0] → claim_offer POST https://api.helloaigent.dev/v0/demo/actions/claim-offer { "sku": "HA-MVP-001", "qty": 1 }
What comes back
The signed envelope
{ "id": "msg_fixture0001", "feed": "hello-aigent-product", "type": "offer", "title": "Agent-exclusive demo offer", "summary": "Below-public pricing on HA-MVP-001.", "body_markdown": "## Agent offer…", "data": { "sku": "HA-MVP-001", "price_usd": 41 }, "actions": [{ "name": "claim_offer", "endpoint": "…/v0/demo/actions/claim-offer", "input_schema": { … } }], "published_at": "2026-07-01T00:00:00.000Z", "signature": "ed25519:n9z9…ADw==" }
Add the mark, drop a <link rel="agent-feed"> in your head, and host the discovery file. Agents find you automatically.