@helloaigent-dev/publisher
# @helloaigent-dev/publisher
Hello Aigent **publisher MCP** — an MCP server that lets an agent *run a publisher's feed*: create feeds, publish signed updates, and read analytics. The producer-side counterpart to [`@helloaigent-dev/subscriber`](https://www.npmjs.com/package/@helloaigent-dev/subscriber) (which lets an agent subscribe/fetch/act).
A marketer operates their owned agent audience by telling their agent — no CLI, console, or developer.
## Tools
| Tool | Auth | What it does |
|---|---|---|
| `hello_aigent_create_feed` | workspace key or admin | Mint a feed + Ed25519 keypair + publisher token; returns the discovery file |
| `hello_aigent_list_feeds` | workspace key or admin | List feeds you own |
| `hello_aigent_publish` | publish token, workspace key, or admin | Build + server-sign an update; delivered to subscribers |
| `hello_aigent_report_event` | publish token, workspace key, or admin | Report an action outcome (the "acted" analytics signal) |
| `hello_aigent_overview` | workspace key or admin | KPI tiles, fetch sparkline, recent activity |
| `hello_aigent_funnel` | workspace key or admin | subscribed → returned → acted funnel |
| `hello_aigent_event_log` | workspace key or admin | Filterable, attributed audit log |
| `hello_aigent_subscribers` | workspace key or admin | The owned-audience list (consent-aware) |
| `hello_aigent_discovery_file` | public | Generated `hello-aigent.json` to host at `/.well-known/` |
"workspace key" means a `hak_...` **workspace API key** — mint one from the Hello Aigent console (Settings → API keys) once you've signed up. It scopes every tool above to *your own* workspace: `create_feed` creates in your workspace, `list_feeds`/analytics/`subscribers` only ever see feeds your workspace owns, and `publish`/`report_event` only work on feeds your workspace owns. It is **not** admin-equivalent — it cannot create, list, or revoke API keys (that requires signing in to the console itself).
The **admin token** is a separate, unrestricted, ops-only credential (not something a self-serve signup ever receives) — it still works everywhere a workspace key does, for every feed, not just your own.
## Configure
Set in your MCP client config (env vars):
- `HELLOAIGENT_API` — API base (default `https://api.helloaigent.dev`)
- `HELLOAIGENT_API_KEY` — your workspace API key (`hak_...`); required for feed management + analytics unless using the admin token. **Preferred over `HELLOAIGENT_ADMIN_TOKEN` when both are set.**
- `HELLOAIGENT_ADMIN_TOKEN` — admin token; alternative to `HELLOAIGENT_API_KEY` (ops/dogfood use only)
- `HELLOAIGENT_TOKEN` — publish token (a feed's own publisher token); falls back to `HELLOAIGENT_API_KEY`, then `HELLOAIGENT_ADMIN_TOKEN`
Example (Claude Desktop / any MCP client) — the common case, a self-serve workspace key:
```json
{
"mcpServers": {
"hello-aigent-publisher": {
"command": "npx",
"args": ["-y", "@helloaigent-dev/publisher"],
"env": { "HELLOAIGENT_API_KEY": "hak_…" }
}
}
}
```
Then just ask your agent: *"Create a feed for my coffee shop and publish a restock update,"* or *"How many agents subscribed this week, and what's the return rate?"*
TDQS
Scored across 9 tools
Each tool targets a distinct resource or action: feed creation, listing, publishing, event reporting, subscriber data, event log, analytics overview, funnel, and discovery file. There is no overlap or ambiguity between them.
All tools share the hello_aigent_ prefix, which provides strong consistency. However, the second part mixes noun-only names (event_log, subscribers, overview, funnel, discovery_file) with verb_verb_noun patterns (create_feed, list_feeds, report_event), making the convention slightly inconsistent.
Nine tools is well within the ideal 3-15 range and each tool serves a clear, non-redundant purpose for a feed management and analytics domain. The count feels appropriate and not bloated.
The tool set covers the core lifecycle of a feed: creation, publishing, event reporting, and analytics (overview, funnel, subscribers, event log). Minor gaps exist such as feed deletion or metadata update, but these are not critical to the primary publisher workflow.