_ registry / mcp streamable-http · checked 2h ago

pure-report-news

https://pure-report.fly.dev

Registry code: cb696ae693eaf583

api record

Pure Report provides politically-neutral, bias-scored news. Every article gets a short neutral summary in Pure Report's own words, with a link to the outlet's full story; the 0-100 bias score rates the ORIGINAL source reporting (0 = wire-neutral, 100 = advocacy), NOT the returned summary, which is neutral by design. Stories are clustered into events; each event carries a neutral news story written by Pure Report from the outlets' reports, often a sentence-cited account, a framing spectrum showing how left/center/right outlets covered it, and receipts (verbatim source quotes). Use search_news…

endpoint
https://pure-report.fly.dev/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is pure-report-news live?
Yes — it answered the hub's last check (checked 2h ago). It answered 98% of checks over the last 30 days.
Is pure-report-news free to use?
Yes — the hub reached it with no key and no payment.
What tools does pure-report-news have?
8 tools: get_article, check_feedback, compare_coverage, search_news, get_event, submit_feedback, about_pure_report, trending_events.
Is pure-report-news safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
98.3%

90 days 98.4%· all time 98.4%

latency
296ms

last good check

priced tools
0

of 8 tools

_ answered our checks, 90 days 442 checks · signed record
  • degraded → live
  • live → degraded· fetch failed
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • search neutral bias-scored news
  • get trending news events
  • compare coverage across the political spectrum
  • get a news article
takes → gives
text → text, data
tools
6 reads1 changes data1 effect unclear
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
1

through this hub

calls served
1

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 8 tools
2 open 6 never probed 2 of 8 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • about_pure_report open 23h ago

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "article_id": {
          "type": "integer",
          "description": "Optional context for the report."
        },
        "event_slug": {
          "type": "string",
          "description": "Optional context for the report."
        },
        "report_body": {
          "type": "string",
          "description": "Optional. The detail needed to act."
        },
        "report_kind": {
          "enum": [
            "bug",
            "dx",
            "data_error",
            "data_gap",
            "feature",
            "question",
            "other"
          ],
          "type": "string",
          "description": "Optional, defaults to bug."
        },
        "report_subject": {
          "type": "string",
          "description": "Optional. Providing this (with report_body) files feedback and returns a ref under \"filed\" — use only if submit_feedback is missing from your tools."
        }
      }
    }
    arguments 34 lines
  • trending_events reads open 23h ago

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "description": "Max events, 1-25 (default 10)."
        }
      }
    }
    arguments 9 lines
  • get_article reads unknown 14h ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "article_id"
      ],
      "properties": {
        "article_id": {
          "type": "integer",
          "description": "Numeric article id (from search_news results)."
        }
      }
    }
    arguments 12 lines
  • check_feedback reads unknown 23h ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "ref"
      ],
      "properties": {
        "ref": {
          "type": "string",
          "description": "The ref from submit_feedback, e.g. 'PR-7F3K2Q'."
        }
      }
    }
    arguments 12 lines
  • compare_coverage reads unknown 14h ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Event slug from trending_events or a search_news result."
        }
      }
    }
    arguments 12 lines
  • search_news reads unknown 9h ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "description": "Max results to RETURN, 1-40 (default 15). Does not affect total_matches, which always reports how many articles matched."
        },
        "query": {
          "type": "string",
          "description": "Keywords or phrase, e.g. \"Iran sanctions\" or \"2026 election\"."
        },
        "topic": {
          "enum": [
            "politics",
            "business",
            "world",
            "technology",
            "health",
            "science",
            "justice",
            "defense",
            "climate-energy",
            "media",
            "education",
            "culture",
            "sports",
            "local",
            "opinion",
            "real-estate"
          ],
          "type": "string",
          "description": "Optional topic-slug filter. An unrecognized value searches all topics and returns a warning."
        },
        "offset": {
          "type": "integer",
          "description": "Skip this many matches — page through results beyond the 40-row limit. The response echoes offset/returned/next_offset; next_offset is null on the last page."
        },
        "published_after": {
          "type": "string",
          "description": "Only articles published on/after this date. 'YYYY-MM-DD' or full ISO. Use with published_before to bound a period, e.g. coverage during June."
        },
        "published_before": {
          "type": "string",
          "description": "Only articles published on/before this date. 'YYYY-MM-DD' or full ISO."
        }
      }
    }
    arguments 50 lines
  • get_event reads unknown 14h ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Event slug from trending_events or a search_news result, e.g. \"tyler-robinson-trial-for-charlie-kirk-murder\"."
        }
      }
    }
    arguments 12 lines
  • submit_feedback changes data unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "subject",
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "The detail needed to act: what you expected, what you got, and how to reproduce it. Max 12000 chars."
        },
        "kind": {
          "enum": [
            "bug",
            "dx",
            "data_error",
            "data_gap",
            "feature",
            "question",
            "other"
          ],
          "type": "string",
          "description": "DEPRECATED alias for category; still accepted."
        },
        "subject": {
          "type": "string",
          "description": "One line, max 200 chars."
        },
        "category": {
          "enum": [
            "bug",
            "dx",
            "data_error",
            "data_gap",
            "feature",
            "question",
            "other"
          ],
          "type": "string",
          "description": "bug = broken or erroring; dx = developer-experience friction; data_error = wrong/miscategorised data; data_gap = missing coverage or field; feature = a capability request; question = methodology or usage; other. Defaults to bug."
        },
        "article_id": {
          "type": "integer",
          "description": "Optional article the report concerns."
        },
        "event_slug": {
          "type": "string",
          "description": "Optional event slug the report concerns."
        }
      }
    }
    arguments 51 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id cb696ae693eaf583.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/cb696ae693eaf583/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/cb696ae693eaf583/badge.svg)](https://brick.blue/agent/cb696ae693eaf583?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
1
ok
1
failed
0
success rate
100%
median latency
680ms
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

1 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.