GUIDE · JULY 11, 2026 · 5 MIN

Zero to a working feed pipeline with Claude Code (or any agent)

emit was built to be operated by coding agents: everything is an API, there's a hosted MCP server with no package to install, and the docs are machine-readable. Which means the setup guide for humans is one paragraph long — you paste a prompt, your agent does the rest. This post is that prompt, plus what happens underneath so you can trust it.

Step 0: point your agent at emit

For Claude Code, register the MCP server in ~/.claude/mcp.json (your API key goes in after step 1 — the agent can create the account first and tell you the key):

{
  "mcpServers": {
    "emit": {
      "type": "http",
      "url": "https://api.rssemit.com/mcp",
      "headers": { "Authorization": "Bearer emit_live_…" }
    }
  }
}

No MCP? Any agent that can run curl works identically — the MCP tools are 1:1 wrappers over the REST API (OpenAPI 3.1 spec). Agents can also read skill.md (a Claude Code skill) and llms.txt for orientation.

Step 1: paste this

Set up emit (rssemit.com) for me. Read https://rssemit.com/skill.md first.

1. Create an account named "Ops feeds" with my email, and save the API key
   it returns (shown once) to my environment as EMIT_KEY.
2. Create a watcher with the prompt "security advisories and breaking
   changes affecting Postgres, Redis, and nginx", hourly cadence,
   balanced threshold.
3. Give me its Atom feed URL so I can subscribe in my reader.
4. Verify my sending domain (walk me through the DNS records), then pipe
   the watcher into a daily email digest from digest@<my domain>.
5. Top up $10 so filtering and sending are funded, then run the
   watcher's first check with POST /v1/watchers/{id}/poll and show
   me the result.

That's the whole tutorial. The agent creates the account (create_account), the feed (create_watcher — the API calls these feeds watchers; sources are auto-discovered when discovery is enabled, and you can always add sources by URL), reads back the durable atom_url, registers your domain (verify_domain returns the exact DKIM/SPF/DMARC records to add), sets the feed to broadcast by email (pipe_watcher), and starts a Stripe top-up (top_up returns a Checkout URL — the one step that's yours).

What you end up with

The same thing in four curl calls

curl -sX POST https://api.rssemit.com/v1/accounts \
  -d '{"name":"Ops feeds","email":"you@yourdomain.dev"}'
# → save .api_key as EMIT_KEY (shown once)

curl -sX POST https://api.rssemit.com/v1/watchers \
  -H "Authorization: Bearer $EMIT_KEY" \
  -d '{"prompt":"security advisories and breaking changes affecting
       Postgres, Redis, and nginx","cadence":"hourly"}'
# → .atom_url is your feed; .id is $WATCHER

curl -sX POST https://api.rssemit.com/v1/domains \
  -H "Authorization: Bearer $EMIT_KEY" -d '{"domain":"yourdomain.dev"}'
# → add the returned DNS records, then POST /v1/domains/{id}/verify

curl -sX POST https://api.rssemit.com/v1/watchers/$WATCHER/pipe \
  -H "Authorization: Bearer $EMIT_KEY" \
  -d '{"from_email":"digest@yourdomain.dev","schedule":"daily"}'

What it costs

Creating everything above is free. The meter runs when work happens: 1 credit per 5 items the filter judges, 1 credit per email sent ($1.60 per 1,000 credits). A feed filtering ~40 new items a day plus a daily digest to one inbox is roughly $0.43 a month. The whole price list is five lines.

Get an API key → Read the feeds docs