Skip to main content
Glama

Pure Report — Neutral News

Server Details

Neutral, bias-scored news for AI agents: compare left/right media-bias framing, fact-check receipts.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
98.8% over 62 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation4/5

Each tool targets a distinct resource or action, but get_event and compare_coverage both take event slugs and return event content, which could cause occasional misselection. The descriptions do clarify the boundary (single neutral writeup vs. cross-outlet framing), and the feedback pair (submit/check) is cleanly separated.

Naming Consistency4/5

Nearly all names follow a consistent snake_case verb_noun pattern (check_feedback, compare_coverage, get_article, get_event, search_news, submit_feedback). Two names (about_pure_report, trending_events) break the verb_noun convention, but all names remain readable and consistently snake_case.

Tool Count5/5

Eight tools is well-scoped for a read-only neutral-news service: discovery, fetch, comparison, feedback, and methodology are each covered without redundancy. Every tool earns its place.

Completeness4/5

The surface covers the core lifecycle: discovery (search_news, trending_events), retrieval (get_article, get_event), comparison (compare_coverage), feedback round-trip (submit/check_feedback), and methodology (about_pure_report). Minor gaps exist, such as browsing by topic/outlet or listing an outlet's profile, but agents can work around these.

Available Tools

8 tools
about_pure_reportAbout & methodologyA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idNoOptional context for the report.
event_slugNoOptional context for the report.
report_bodyNoOptional. The detail needed to act.
report_kindNoOptional, defaults to bug.
report_subjectNoOptional. Providing this (with report_body) files feedback and returns a ref under "filed" — use only if submit_feedback is missing from your tools.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
filedNo
supportYes
websiteNo
freshnessNo
bias_scaleYes
what_it_isNo
lean_labelingNo
coverage_scopeNo
neutralizationNo
verification_gateNo
reporting_problemsNo
reporting_problems_if_submit_feedback_is_missingNo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations declaring readOnlyHint=true, the bar is lower, and the description adds useful context about the tool's informational content. However, it does not mention the potential write side effect when report_subject and report_body are provided (which files feedback), nor any other limitations. It provides moderate transparency beyond the annotation but not full behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with a clear list of content, and ends with a practical usage directive. Every word earns its place with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is an informational resource, and the description covers its full scope and purpose. Since an output schema exists, return format details are not required. The presence of optional parameters is not explained in the description, but they are well-documented in the schema, so the overall context is complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add any meaning to the parameters, but the schema descriptions are already detailed, especially for report_subject. No additional compensation is needed or provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: it explains how Pure Report works, listing specific content areas (bias scale, neutralization method, verification, labeling, coverage, support contact) and explicitly says when to call it ('to cite the source or explain its methodology'). This distinguishes it from sibling tools like get_article or search_news.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides direct usage guidance ('Call this to cite the source or explain its methodology to a user'), making the intended use clear. It does not explicitly name alternatives or exclusions, but the context is sufficient for an agent to disambiguate from siblings. The schema additionally provides fallback guidance for report_subject, but that is outside the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_feedbackCheck a feedback replyA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
refYesThe ref from submit_feedback, e.g. 'PR-7F3K2Q'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
refYes
kindNo
replyNo
statusYes
messageNo
subjectNo
replied_atNo
submitted_atNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description reveals that replies are human-written and delayed, that the reply appears only 'once one exists,' and that status can be open/answered/closed. This adds meaningful behavioral context, though it does not cover failure or not-found behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences: the first front-loads the purpose and input source, the second adds return fields and critical timing guidance. Every word contributes, with no filler or unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool with an output schema, the description adequately covers prerequisite (ref from submit_feedback), return values (status and reply), and usage cadence. The only omission is error handling, which is minor for this scope and not required given the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers the single parameter 'ref' with a description that includes the same example format as the tool description. The description adds no new meaning beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Look up feedback you filed with submit_feedback.' It clearly distinguishes itself from the sibling submit_feedback tool by referencing the ref returned by that tool, and from other read tools by its focus on feedback status and replies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use the tool: after filing feedback via submit_feedback, using the returned ref. It also provides clear exclusion guidance with 'poll sparingly, on the order of hours or days, not seconds,' and explains why (replies are human-written and not immediate).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_coverageCompare outlet framingA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesEvent slug from trending_events or a search_news result.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
nameNo
slugYes
framing_spectrumNo
how_each_side_framed_itNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already set readOnlyHint=true, so the description's mention of output details (bias-score spectrum, quotes) adds useful context without contradicting. It doesn't add behavioral traits beyond what annotations provide, but the output description is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver the purpose and usage efficiently. No fluff, front-loaded with key action and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully covers the tool's complexity: it explains the output (spectrum, framing quotes grouped by bias) and its role as the core comparison view. With an output schema present, return values need no extra explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description of the slug parameter. The description adds context that the slug comes from trending_events or search_news, providing extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows how outlets framed an event with a bias-score spectrum and verbatim framing quotes grouped by ideology. It distinguishes itself from siblings like get_article (single article) and trending_events (list of events).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells agents to use it to detect slant and consensus, and mentions the slug comes from trending_events or search_news. However, it could explicitly state when not to use it or list alternatives (e.g., use get_article for a single article).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_articleGet articleA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYesNumeric article id (from search_news results).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
titleNo
eventsNo
contentNo
summaryNo
entitiesNo
bias_scoreNo
source_urlNo
source_nameNo
published_atNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered, and the description adds real behavioral context: summary may be null for older articles, and bias_score applies to the ORIGINAL source rather than the summary. That null-handling and field-scoping detail is genuinely useful and not derivable from structured fields. It stops short of noting any pagination/rate/error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence: the core action comes first, followed by a compact enumeration of returned fields. Dense but every clause carries information; only the parenthetical about the id source borders on redundancy with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with an output schema, the definition is nearly complete: it covers the fetch action, the id source, and noteworthy payload quirks (null summaries, bias_score scope). The only gap is the absence of explicit routing guidance relative to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter and schema description coverage is 100%, so the schema already documents article_id and its provenance ('from search_news results'). The description restates the id-based lookup without adding format or edge-case guidance, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetch one article by id') and then enumerates the concrete payload (title, summary, source_url, bias_score, source, entities, events), so an agent knows exactly what it gets back. That distinguishes it from search_news (list/search) and get_event (event lookup) without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'by id' plus the schema note '(from search_news results)' hints at the search-then-fetch workflow, but the description never says when to call this instead of get_event or search_news. No exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_eventNeutral event writeupA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesEvent slug from trending_events or a search_news result, e.g. "tyler-robinson-trial-for-charlie-kirk-murder".

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
nameNo
slugYes
storyNo
statusNo
accountNo
coverageYes
headlineNo
first_seenNo
account_noteNo
article_countNo
coverage_reportNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true, so safety is covered, and the description does usefully disclose that story/account may be null while the census is always returned. However, an output schema already exists to carry return-value detail, and there is no mention of auth, rate limits, or freshness/latency behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One long semicolon-delimited sentence, but the core action is front-loaded before the component breakdown. Dense jargon ('gates', 'receipts') adds weight without much payback, yet nothing is wasted enough to undermine it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain structure, and it sensibly summarizes the three payload parts and their nullability. Coverage is nearly complete for a single-parameter read tool; only the sibling-selection guidance is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema description coverage is 100%, with the schema already supplying format guidance and a concrete example slug. The description adds nothing beyond 'by slug', so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Get the full neutral writeup of one news event by slug' — and enumerates the three returned components (story, account, census). It implies differentiation from get_article by stressing the writeup is 'Pure Report's own', but never names a sibling, so an agent still has to infer which of get_event/get_article/compare_coverage applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: pass an event slug, receive a writeup. There is no explicit when-to-use versus get_article or compare_coverage, and no stated prerequisites or exclusions. The null-handling note ('either writeup may be null') is the closest thing to operational guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_newsSearch neutral newsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to RETURN, 1-40 (default 15). Does not affect total_matches, which always reports how many articles matched.
queryYesKeywords or phrase, e.g. "Iran sanctions" or "2026 election".
topicNoOptional topic-slug filter. An unrecognized value searches all topics and returns a warning.
offsetNoSkip 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_afterNoOnly 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_beforeNoOnly articles published on/before this date. 'YYYY-MM-DD' or full ISO.

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
offsetNo
resultsYes
warningNo
returnedNo
next_offsetNo
applied_topicNo
total_matchesYesTOTAL articles matching the query, independent of `limit` — not the number returned. len(results) < total_matches means more exist.
result_compositionNoFactual description of what the returned set is ABOUT. Search is lexical, so every query term appears in every result; this reports whether a term is the SUBJECT (title/entities/lede) or only a body mention, plus the entity distribution. Measurements only — no verdict.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint=true, the description discloses behavior an agent could easily get wrong: bias_score rates the ORIGINAL source reporting (0=wire-neutral, 100=advocacy), NOT the neutral returned summary. It also discloses the ranking function (relevance and recency), which annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense, front-loaded sentences with no filler; the core purpose leads and the disambiguation follows. The bias_score sentence is long but earns its place because it prevents a costly misinterpretation. Slightly heavy for a search tool, but no wasted clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return structure need not be re-explained, yet the description supplies the interpretive context the schema cannot (what bias_score means, that results carry event links). For a 6-parameter, read-only search tool, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (limit, query, topic, offset, dates) is already fully documented, and this is the baseline case per the rubric. The description adds no parameter-level detail (e.g. query syntax, topic slug format) beyond the schema; its narrative content is about return values, not inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Search Pure Report's neutral, bias-scored news') and immediately distinguishes what is returned ('articles with neutral summaries in our own words'). It also names the downstream siblings (get_event, compare_coverage) that consume an event slug, so an agent can place it in the workflow without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for when the tool is appropriate ('ranked by relevance and recency', event-linked results) and explicitly routes the agent onward: 'pass an event slug to get_event ... or compare_coverage'. It does not state when NOT to use it (e.g. browsing trending_events for undirected discovery), so it falls short of full alternative/exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feedbackSend feedback to the operatorAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe detail needed to act: what you expected, what you got, and how to reproduce it. Max 12000 chars.
kindNoDEPRECATED alias for category; still accepted.
subjectYesOne line, max 200 chars.
categoryNobug = 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_idNoOptional article the report concerns.
event_slugNoOptional event slug the report concerns.

Output Schema

ParametersJSON Schema
NameRequiredDescription
refYes
statusYes
messageNo
how_to_checkNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only negative hints (not read-only, not idempotent, not destructive), so the description carries the burden. It adds crucial behavioral context: a human reads the feedback, replies take time and are not guaranteed, and a tracking ref is returned. This goes well beyond the schema and manages expectations appropriately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused paragraph that front-loads the main purpose and outcome. Every sentence earns its place: use cases, required context, human caveat, and follow-up action. There is no fluff or repetition of schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema, the description covers everything needed: what it does, when to use it, what context to provide, and what to expect. It even describes the returned tracking ref and how to use it, making the feedback loop fully transparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions, so the baseline is 3. The description adds value by explicitly instructing to include article_id or event_slug and explaining why ('that context is what makes a report actionable'). It does not repeat schema details for each field, but it highlights the most behaviorally important parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb+resource: 'Report a problem or request to Pure Report's operator and get a tracking ref back.' It distinguishes itself from sibling tools by naming check_feedback as the follow-up for reading replies, and by enumerating concrete feedback types (wrong bias, miscategorised events, missing writeup). This leaves no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit 'Use this when...' scenarios, including data errors, methodology questions, and capability requests. It also tells the user what to include (article_id/event_slug) and points to check_feedback as the alternative for reading the reply, effectively providing both when-to-use and next-step guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedget_event2 fields changed
      • addedOutput schema / properties / headline
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / story
        Added value: +{
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
    • Changedsearch_news1 field changed
      • addedOutput schema / properties / results / items / properties / events / items / properties / headline
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedtrending_events2 fields changed
      • addedOutput schema / properties / events / items / properties / has_story
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / events / items / properties / headline
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
  2. 1 tool update
    • Changedsubmit_feedback1 field changed
      • changedInput schema / properties / body / description
        Previous value: -"The detail needed to act: what you expected, what you got, and how to reproduce it. Max 4000 chars."New value: +"The detail needed to act: what you expected, what you got, and how to reproduce it. Max 12000 chars."
  3. 1 tool update
    • Changedget_event1 field changed
      • addedOutput schema / properties / coverage_report
        Added value: +{
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
  4. 1 tool update
    • Changedsearch_news6 fields changed
      • addedInput schema / properties / offset
        Added value: +{
        +  "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.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / published_after
        Added value: +{
        +  "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.",
        +  "type": "string"
        +}
      • addedInput schema / properties / published_before
        Added value: +{
        +  "description": "Only articles published on/before this date. 'YYYY-MM-DD' or full ISO.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / next_offset
        Added value: +{
        +  "type": [
        +    "integer",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / offset
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / returned
        Added value: +{
        +  "type": "integer"
        +}
  5. 2 tool updates
    • Changedabout_pure_report1 field changed
      • changedInput schema / properties / report_kind / enum
        Previous value: -[
        -  "data_error",
        -  "bug",
        -  "feature",
        -  "question"
        -]New value: +[
        +  "bug",
        +  "dx",
        +  "data_error",
        +  "data_gap",
        +  "feature",
        +  "question",
        +  "other"
        +]
    • Changedsubmit_feedback4 fields changed
      • addedInput schema / properties / category
        Added value: +{
        +  "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.",
        +  "enum": [
        +    "bug",
        +    "dx",
        +    "data_error",
        +    "data_gap",
        +    "feature",
        +    "question",
        +    "other"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / kind / description
        Previous value: -"data_error = wrong/miscategorised data; bug = something broken or erroring; feature = a capability request; question = about methodology or usage."New value: +"DEPRECATED alias for category; still accepted."
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "data_error",
        -  "bug",
        -  "feature",
        -  "question"
        -]New value: +[
        +  "bug",
        +  "dx",
        +  "data_error",
        +  "data_gap",
        +  "feature",
        +  "question",
        +  "other"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "kind",
        -  "subject",
        -  "body"
        -]New value: +[
        +  "subject",
        +  "body"
        +]
  6. 2 tool updates
    • Changedabout_pure_report8 fields changed
      • addedInput schema / properties / article_id
        Added value: +{
        +  "description": "Optional context for the report.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / event_slug
        Added value: +{
        +  "description": "Optional context for the report.",
        +  "type": "string"
        +}
      • addedInput schema / properties / report_body
        Added value: +{
        +  "description": "Optional. The detail needed to act.",
        +  "type": "string"
        +}
      • addedInput schema / properties / report_kind
        Added value: +{
        +  "description": "Optional, defaults to bug.",
        +  "enum": [
        +    "data_error",
        +    "bug",
        +    "feature",
        +    "question"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / report_subject
        Added value: +{
        +  "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.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / filed
        Added value: +{
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / reporting_problems
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / reporting_problems_if_submit_feedback_is_missing
        Added value: +{
        +  "type": "string"
        +}
    • Changedsearch_news1 field changed
      • addedOutput schema / properties / result_composition
        Added value: +{
        +  "description": "Factual description of what the returned set is ABOUT. Search is lexical, so every query term appears in every result; this reports whether a term is the SUBJECT (title/entities/lede) or only a body mention, plus the entity distribution. Measurements only — no verdict.",
        +  "type": "object"
        +}
  7. 2 tool updates
    • Changedget_article2 fields changed
      • addedOutput schema / properties / events
        Added value: +{
        +  "type": "array"
        +}
      • removedOutput schema / properties / narratives
        Removed value: -{
        -  "type": "array"
        -}
    • Changedsearch_news2 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Max results, 1-40 (default 15)."New value: +"Max results to RETURN, 1-40 (default 15). Does not affect total_matches, which always reports how many articles matched."
      • addedOutput schema / properties / total_matches / description
        Added value: +"TOTAL articles matching the query, independent of `limit` — not the number returned. len(results) < total_matches means more exist."
  8. 2 tool updates
    • Addedcheck_feedback
    • Addedsubmit_feedback
  9. 6 tool updates
    • Changedabout_pure_report1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "bias_scale": {
        +      "type": "string"
        +    },
        +    "coverage_scope": {
        +      "type": "object"
        +    },
        +    "freshness": {
        +      "type": "string"
        +    },
        +    "lean_labeling": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "neutralization": {
        +      "type": "string"
        +    },
        +    "support": {
        +      "type": "string"
        +    },
        +    "verification_gate": {
        +      "type": "string"
        +    },
        +    "website": {
        +      "type": "string"
        +    },
        +    "what_it_is": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "bias_scale",
        +    "support"
        +  ],
        +  "type": "object"
        +}
    • Changedcompare_coverage1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "framing_spectrum": {
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "how_each_side_framed_it": {
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "name": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "slug": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "slug",
        +    "url"
        +  ],
        +  "type": "object"
        +}
    • Changedget_article1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "bias_score": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "content": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "entities": {
        +      "type": [
        +        "object",
        +        "array",
        +        "null"
        +      ]
        +    },
        +    "id": {
        +      "type": "integer"
        +    },
        +    "narratives": {
        +      "type": "array"
        +    },
        +    "published_at": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "source_name": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "source_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "summary": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "title": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "url"
        +  ],
        +  "type": "object"
        +}
    • Changedget_event1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "account": {
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "account_note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "article_count": {
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "coverage": {
        +      "type": "object"
        +    },
        +    "first_seen": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "name": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "slug": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "slug",
        +    "coverage",
        +    "url"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_news1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "applied_topic": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "items": {
        +        "properties": {
        +          "bias_score": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "events": {
        +            "items": {
        +              "properties": {
        +                "name": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "slug": {
        +                  "type": "string"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "integer"
        +          },
        +          "published_at": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "source": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "summary": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "title": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total_matches": {
        +      "type": "integer"
        +    },
        +    "warning": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "query",
        +    "total_matches",
        +    "results"
        +  ],
        +  "type": "object"
        +}
    • Changedtrending_events1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "events": {
        +      "items": {
        +        "properties": {
        +          "article_count": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "first_seen": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "has_account": {
        +            "type": "boolean"
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "events"
        +  ],
        +  "type": "object"
        +}
  10. 6 tool updates
    • First observedabout_pure_report
    • First observedcompare_coverage
    • First observedget_article
    • First observedget_event
    • First observedsearch_news
    • First observedtrending_events

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Read-only, source-linked news intelligence for AI agents: search The Neural Ledger's stories, retrieve story details with citations and revision history, and resolve related entities and assets. It is an evidence layer, not a trading or execution service.
    8
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Real-time news events, clustered by AI from hundreds of sources, classified by topic and geography, ranked by importance.
    34
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides AI agents with global tech news from 500+ sources across regions, with translated titles, scoring, and clustering tools for real-time intelligence.
    8
    30 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Agent-readable feed of AI and agent tech news (framework releases, security advisories, compliance deadlines, classified hourly) and upcoming live events. Read anonymously; post items with a free API key.
    4
    7
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources