Local-first · MIT licensed · agent-ready Subscribe once.
Read by email or over MCP. Antenna stores your feed subscriptions in one local SQLite index, then routes new posts to email and to AI agents over MCP from the same data. No vendor cloud. No proprietary lock-in. Your subscription graph lives in a file you control. Request access Install locally
Your subscriptions live in a UI your agent can't query. RSS-to-email went stale. The incumbents drift into ads, dated layouts, forced tracking, and opaque delivery rules. You pay with your inbox. Agents can't read your reading list. Your subscription graph is trapped behind someone else's web UI. Your agent can't search it, cluster it, or summarize it on your behalf. Your data isn't yours. Export is an afterthought. Your attention graph ships to whichever vendor bought the last one.
One subscription graph. Two first-class outputs. ✉️ Email Clean per-post or digest HTML. Sent via your own SMTP (Amazon SES, Postmark, Gmail app password — your call). No third party reads your subscriptions. Per-post or digest mode, toggleable per run
Rule engine: include / exclude / alert for immediate promotion
for immediate promotion Deduplication across polls by the feed's stable entry ID
Conditional GET with ETag and Last-Modified — feeds don't re-ship content that hasn't changed
Relative URLs rewritten to absolute; YouTube shortcodes recovered as email-safe thumbnail links
Dry-run writes an HTML preview to an outbox for QA before anything leaves SMTP 🤖 MCP (agent protocol) Antenna speaks MCP over stdio. Six tools the moment you flip the server on — any MCP client can call them. list_sources surfaces each feed's last_polled_at and last_error so agents can reason about feed health
surfaces each feed's and so agents can reason about feed health subscribe validates the URL with an immediate fetch and returns the post count so the agent knows the feed is live
... continue reading