Pure Report
Schreibgeschützter MCP-Server für neutrale, mit Bias-Bewertung versehene Nachrichten – Artikel durchsuchen, verifikationsgesteuerte Ereignisberichte abrufen und die Medien-Bias-Rahmung von links/mitte/rechts vergleichen.
Dokumentation
Pure Report — MCP server for AI agents
A free, read-only neutral news API for AI agents over the Model Context Protocol (MCP). Articles are summarized in neutral language, linked to the source, and scored 0–100 for media bias; stories are clustered into events with verification-gated neutral writeups, a left/center/right framing spectrum, and verbatim source receipts. No auth, no cost.
Bias-scored news MCP server — endpoint
POST https://pure.report/mcp (MCP Streamable HTTP)
Registry namespace: report.pure/news
Add Pure Report to your MCP client
{ "mcpServers": { "pure-report": { "url": "https://pure.report/mcp" } } }
Works with any MCP client (Claude, Cursor, VS Code, Cline, LangChain, custom agents).
Smoke test
curl -s https://pure.report/mcp -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"trending_events","arguments":{"limit":3}}}'
Tools
search_news | Search Pure Report's neutral, bias-scored news. Returns articles with neutral summaries in our own words; bias_score (0-100) rates the ORIGINAL source reporting (0 = wire-neutral, 100 = advocacy), NOT the returned summary, which is neutral by design. Each result also lists the event(s) it belongs to — pass an event slug to get_event for the neutral writeup or compare_coverage for cross-outlet framing. Ranked by relevance and recency. |
|---|---|
trending_events | List the news events with the most current coverage activity. Each event clusters many outlets' articles about one story and includes headline (the published story's headline, else the event name), has_story (get_event returns Pure Report's neutral news story) and has_account (get_event also returns a sentence-cited account with verbatim receipts). Returns slugs to pass to get_event / compare_coverage. |
get_event | Get the full neutral writeup of one news event by slug: 'story', Pure Report's own neutral news story (headline + paragraphs, written from the outlets' reports and checked before publishing); 'account', a sentence-cited breakdown (lede, what-we-know bullets with verbatim source receipts, single-source attributed items) when one passed its gates; and a coverage census (how many outlets by political lean, earliest report). Either writeup may be null; the census is always returned. |
compare_coverage | Show how outlets across the political spectrum framed one event: a per-outlet bias-score spectrum and, where they editorialized, the verbatim framing quotes grouped by left/center/right. The core 'compare the coverage' view — use it to detect slant and consensus. |
get_article | Fetch one article by id: neutral title + short summary with key facts (null for older articles), source_url for the full story, a bias_score for the ORIGINAL source (not the summary), source, extracted entities, and the events it belongs to. |
about_pure_report | How Pure Report works — the bias scale, neutralization method, the two-gate verification for event accounts, lean labeling, coverage scope (topic list), and the support contact. Call this to cite the source or explain its methodology to a user. |
submit_feedback | Report a problem or request to Pure Report's operator and get a tracking ref back. Use this when the data looks wrong — a bias score or outlet lean that doesn't match the source, an event cluster mixing unrelated stories, a missing neutral writeup, a broken article — or to ask a methodology question or request a capability. Include the article_id or event_slug you were looking at; that context is what makes a report actionable. A human reads these: replies take time and are not guaranteed. Call check_feedback with the returned ref to read the reply. |
check_feedback | Look up feedback you filed with submit_feedback, using the ref it returned (e.g. PR-7F3K2Q). Returns the current status (open, answered, closed) and the operator's reply once one exists. Replies are written by a human and are not immediate — poll sparingly, on the order of hours or days, not seconds. |
Every tool is read-only (safe to auto-call) and returns structured JSON with an outputSchema.
Bug reports or tool requests: the submit_feedback tool, or https://pure.report/support