Skip to main content
Glama
nulljosh

Newsline MCP Server

by nulljosh

Newsline

version license GitHub

Headlines from 17 news outlets across the political spectrum, with left/center/right bias tags and blindspot detection — stories covered by only one side. Free, unauthenticated, no rate limit.

Three ways in: a web reader, a JSON API, and an MCP server.

MCP

claude mcp add --transport http newsline https://news.heyitsmejosh.com/mcp

Tool

Params

Returns

get_news

view, outlet, bias, q, limit

Current headlines, flat or clustered by story

get_blindspots

limit

Only stories covered by a single political side

Stateless streamable HTTP, no auth. Works with any MCP client — Claude Desktop, Claude Code, Cursor.

Related MCP server: News Fact-Checker MCP Server

API

GET https://news.heyitsmejosh.com/api/stories — every parameter is optional.

Param

Values

Default

view

latest, stories, both

both

outlet

any outlet name, e.g. Hacker News

all

bias

left, center, right

all

blindspot

true

off

q

substring match on headline text

none

limit

1–200

60 clusters / 120 headlines

curl 'https://news.heyitsmejosh.com/api/stories?view=stories&blindspot=true'
curl 'https://news.heyitsmejosh.com/api/stories?view=latest&outlet=Hacker%20News&limit=10'
{
  "updated": 1754700000000,
  "stories": [
    {
      "title": "Fed holds rates steady",
      "blindspot": false,
      "sources": [
        { "title": "Fed holds rates steady", "link": "https://…", "outlet": "CNN", "bias": -1 },
        { "title": "Fed refuses to cut rates", "link": "https://…", "outlet": "Fox News", "bias": 2 }
      ]
    }
  ],
  "latest": [
    { "title": "Fed holds rates steady", "link": "https://…", "outlet": "CNN", "bias": -1, "ts": 1754699000000 }
  ]
}

CORS open to all origins. Feeds are re-pulled at most every 2 minutes; responses themselves are no-store (see below). ts is epoch ms, or 0 when the feed published no date (those sort to the bottom). Full spec: openapi.yaml · orientation for agents: llms.txt.

How it works

One Cloudflare Worker (worker.js) polls 17 RSS feeds and serves the page, the API, and MCP off a single cached pull:

  • latest — flat reverse-chronological feed across all sources.

  • stories — headlines clustered by title-keyword overlap, each source tagged left/center/right, one-sided clusters flagged blindspot.

Only the feed pull is cached, under a constant key. Filtering happens per-request in shape() downstream of it, and responses go out no-store — the zone's CDN cache ignores query strings, so caching them would serve one caller's ?outlet= to everyone. Nothing is refetched either way; only the cheap filtering runs again.

Clusters are filtered after clustering, and the flat feed before its 120-item cap. Both orderings matter: narrowing the input first would destroy the cross-outlet comparison, and filtering after the cap would hide low-volume outlets.

architecture

Bias scores

Each source carries a score from -2 (left) to +2 (right); 0 is center, or non-political for tech outlets like Hacker News and Daring Fireball. These are hand-assigned in FEEDS, not a third-party rating — treat them as a rough lean.

CBC · The Guardian · CNN · NPR · BBC · Global News · National Post · Fox News · NY Post · Daily Wire · Hacker News · Daring Fireball · NBC News · Wall Street Journal · NY Post Opinion · Vancouver Sun · The Province

Add one by appending [outlet, bias, url] to FEEDS at the top of worker.js. Any RSS 2.0 or Atom feed works.

Develop

npm test         # node test.mjs — parser, sort, cluster, shape filters
npm run deploy   # wrangler deploy

Cloudflare Workers + Workers Static Assets — one deploy serves the page, /api/stories, and /mcp.

Security: see SECURITY.md.

License

MIT 2026, Joshua Trommel. Headlines and links belong to their publishers — Newsline stores nothing and links out to the original article.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    Aggregates news from 7 APIs and unlimited RSS feeds with AI-powered bias removal and synthesis. Provides over 7,300 free daily requests with conversation-aware caching and 25 comprehensive news analysis tools.
    1
  • F
    license
    -
    quality
    D
    maintenance
    Enables fact-checking of news headlines using Google Gemini AI and web search verification, and retrieves trending news topics from RSS feeds with comprehensive multi-source analysis.
    1

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nulljosh/newsline'

If you have feedback or need assistance with the MCP directory API, please join our Discord server