Skip to main content
Glama
blakenetz

newsletterss-mcp

by blakenetz

newsletterss-mcp

MCP server for your Newsletterss inbox. Polls your private Atom feed (https://newsletterss.com/rss/<username>, latest 10 items) every 15 min and archives everything into SQLite with full-text search, so history builds up over time.

Tools: list_newsletters, get_newsletter (markdown), search_newsletters, list_senders, refresh_feed.

Your feed URL needs no login — treat it like a password.

Run locally

npm i && npm run build
FEED_URL=https://newsletterss.com/rss/you AUTH_TOKEN=xyz npm start   # http://localhost:3000/mcp

Requires a current Node 22 release: older 22.x builds (e.g. 22.13) ship node:sqlite without FTS5.

Related MCP server: substack-saved-mcp

Development

npm run lint        # Biome lint + format check (warnings fail)
npm run lint:fix    # apply Biome fixes and formatting
npm run typecheck

main is protected: changes land through pull requests, and the quality CI job (Biome, typecheck, build) must pass before merge.

Claude Desktop (local, stdio)

{
  "mcpServers": {
    "newsletterss": {
      "command": "node",
      "args": ["--no-warnings", "/abs/path/newsletterss-mcp/dist/server.js", "--stdio"],
      "env": { "FEED_URL": "https://newsletterss.com/rss/you", "DB_PATH": "/abs/path/newsletters.db" }
    }
  }
}

Only archives while Desktop is running — deploy it if you want continuous history.

Deploy (Fly.io, needs a volume for the DB)

fly launch --no-deploy
fly volumes create data --size 1
# in fly.toml: [mounts] source="data" destination="/data"
fly secrets set FEED_URL=https://newsletterss.com/rss/you AUTH_TOKEN=$(openssl rand -hex 24)
fly deploy

Keep one machine always on (min_machines_running = 1, auto_stop_machines = false) so polling continues.

Add to Claude

claude.ai → Settings → Connectors → Add custom connector → https://<your-app>.fly.dev/mcp?token=<AUTH_TOKEN>

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Secure MCP server for RSS/Atom feed reading with SQLite backend. Enables feed management, entry search, and OPML import/export.
    17
    AGPL 3.0
  • A
    license
    A
    quality
    A
    maintenance
    A local MCP server for managing saved Substack posts. Enables offline reading, searching, bookmarking, and unbookmarking of Substack content via CLI or MCP clients.
    17
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to subscribe to RSS feeds, read clean extracted article text without ad-heavy sites, and perform full-text and semantic searches using local SQLite storage with no account required.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to search a curated RSS/Atom catalog, subscribe to and collect feeds, and query collected articles through natural-language tools.
    2
    MIT