Skip to main content
Glama

Pollar News

Server Details

Independent European news from Pollar: search, explainers, brief, threads, audio, films. Read-only.

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
99.6% over 81 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
Pollar News

TDQS

A3.8/5.0

Scored across 24 tools

Disambiguation3/5

The set is mostly distinct, but search and search_news both target news search for subjects/places with nearly identical guidance, creating a real misselection risk. Other list/get pairs for different content types are clearer, though get_live_moment vs get_live_story and news_near vs search_news require reading descriptions to separate.

Naming Consistency3/5

Most tools follow get_/list_ verb_noun conventions, but fetch, search, search_news, news_near, and render_news_list break the pattern. The mix of get_ and fetch for retrieval and search vs search_news for searching is inconsistent.

Tool Count3/5

24 tools is heavy for a news API; many list/get pairs for explainers, films, sounds, threads, and live content could be consolidated. The breadth justifies some count, but it sits in the 16-25 'feels heavy' zone.

Completeness4/5

The surface covers articles, events, entities, explainers, films, live stories/moments, markets, sounds, threads, categories, trending, and near-geo news, supporting core news consumption workflows. Minor gaps include no explicit source/author lookup or article-by-URL tool, but agents can work around these.

Available Tools

24 tools
fetchFetch a Pollar News articleA
Read-only
Inspect

Fetches the full text of one Pollar article by the id returned from the search tool. Returns {id, title, text, url, metadata} with the article's summary and source citations.

NameRequiredDescriptionDefault
idYesAn id returned by the search tool

Output Schema

NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the returned field set and notes that the payload carries the article summary and source citations, which is useful behavioral context beyond the annotations.

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?

Two sentences, front-loaded with the action and scope, with no filler. The second sentence restates return fields that an output schema already covers, so it is slightly redundant rather than wasted.

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?

Given an output schema exists and annotations cover the safety profile, the description needs only to state purpose and input provenance, both of which it does. Minor gaps remain (behavior on an invalid/unknown id, any text-length or paywall limits), but nothing essential for correct invocation is missing.

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?

With a single parameter at 100% schema coverage, the schema already documents the id; the description adds provenance by specifying the id must come from the search tool, which constrains how the value is obtained. This is meaningful added meaning over the bare schema description.

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 (fetches) and resource (full text of one Pollar article) and scopes it to a single item by id, which separates it from the list_*/search siblings that return collections or ids. It also anchors the resource as an 'article', distinguishing it from the get_explainer/get_film/get_event siblings that target other content types.

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 gives a clear usage context by tying the input to the search workflow ('the id returned from the search tool'), implying fetch is the follow-up step after search. It stops short of explicitly naming alternatives or stating when not to use it (e.g., for bulk retrieval), so it is clear context without exclusions.

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

get_daily_briefGet Pollar daily briefA
Read-only
Inspect

Fetches today's fixed, curated Pollar daily brief with a greeting, headline, executive summary, themed sections, related events, and charts. Intended only for explicit requests for Pollar's daily brief or curated digest; questions about a subject, person, place, or country belong to search_news. Locale changes the brief's language, not its editorial scope.

NameRequiredDescriptionDefault
localeNoen

Output Schema

NameRequiredDescription
leadYes
chartsYes
greetingYes
headlineYes
sectionsYes
provenanceYes
shortHeadlineYes
executiveSummaryYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false, destructiveHint=false), so the bar is lower. The description still adds real context beyond them: the brief is 'fixed' and 'curated' rather than queryable or personalized, and locale affects language only, not editorial scope. It stops short of describing freshness/update cadence or caching.

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?

Three sentences, front-loaded with what the tool returns, then the routing rule, then the one parameter caveat. No filler and nothing repeated from the annotations.

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 documented, yet the description still summarizes the payload sections. With a single optional param explained and the sibling boundary drawn, an agent has everything needed to call this correctly.

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?

One optional parameter with 0% schema description coverage, so the description must carry the meaning — and it does, clarifying that locale changes the brief's language but not its editorial scope, which is exactly the ambiguity an agent would have. The enum values themselves (en/pl/de/fr) come from 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?

States a specific verb (fetches) plus a precisely scoped resource (today's fixed, curated Pollar daily brief) and even enumerates its contents — greeting, headline, executive summary, themed sections, related events, charts. It is immediately distinguishable from siblings like get_explainer or list_top_news.

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?

Gives an explicit use condition ('only for explicit requests for Pollar's daily brief or curated digest') and an explicit exclusion with the correct alternative named ('questions about a subject, person, place, or country belong to search_news'). This is the routing information an agent needs.

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

get_entityGet a Pollar person or organisationA
Read-only
Inspect

Fetches Pollar's profile for a person or organisation by slug (slugs come from list_trending_entities). With withTimeline, it also lists recent events that mention the subject. Returns the profile and a canonical Pollar URL.

NameRequiredDescriptionDefault
slugYes
typeYes
localeNoen
withTimelineNo

Output Schema

NameRequiredDescription
urlYes
descNo
nameYes
slugYes
typeYes
imageUrlNo
timelineNo
wikipediaNo
imageCreditNo
mentionCountNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context by disclosing that withTimeline expands the response to include recent mentioning events, and that a canonical Pollar URL is returned.

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 tight sentences with zero filler. The primary purpose and the location of the required slug are front-loaded, with the optional withTimeline behavior trailing.

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?

An output schema exists, so return-value detail is not required, and the tool is a simple flat-keyed read. The remaining gap is the undocumented locale parameter, which affects which language variant of the profile is fetched.

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 0%, so the description must carry the burden. It explains slug provenance and the withTimeline flag's effect, but leaves the required 'type' enum (person/organization) and the locale default of 'en' entirely unaddressed.

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?

Names a specific verb and resource ('Fetches Pollar's profile for a person or organisation') and scopes it by slug. This clearly distinguishes it from siblings like get_event, get_explainer, and get_thread, which target different content types.

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?

Explicitly states where the slug argument comes from ('slugs come from list_trending_entities'), giving the agent a concrete routing dependency to another tool. It stops short of stating when not to use it or naming a real alternative for entity lookup.

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

get_eventGet a Pollar news eventA
Read-only
Inspect

Fetches the full Pollar coverage of a single event by its slug (get slugs from search_news or list_top_news). Returns title, lead, full summary, source citations, mentioned people, locations, charts, links to the same story in other languages, and a canonical pollar.news url. When explainer is set, get_explainer returns a narrated walk-through of the story; when film is set, get_film returns the film's transcript.

NameRequiredDescriptionDefault
slugYesEvent slug (per-locale)
localeNoen

Output Schema

NameRequiredDescription
idYes
urlYes
filmYes
leadYes
slugYes
titleYes
chartsYes
sourcesYes
summaryYes
imageUrlYes
explainerYes
locationsYes
modifiedAtYes
provenanceYes
correctionsYes
imageSourceYes
publishedAtYes
categoryPathYes
translationsYes
mentionedPeopleYes
contentUpdatedAtYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description usefully enumerates the payload (title, lead, summary, citations, people, locations, charts, language variants, canonical URL), but much of that duplicates the output schema rather than adding new behavioral context such as caching, rate limits, or errors on bad slugs.

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?

Front-loaded with the core action and slug source, then the payload, then related-tool routing. The long return-value enumeration is slightly list-heavy but every clause maps to a real field group.

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 and safety annotations already present, the description supplies exactly what those lack: how to obtain the required slug, what the payload conceptually contains, and which sibling handles explainer/film variants. Only the undefined locale parameter remains unaddressed.

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 50%: slug is documented, but locale (enum, default 'en') carries no description in either schema or description. The description adds the useful hint that slugs are per-locale only indirectly, and never explains the locale parameter's effect. Marginal value over 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?

States a specific verb and resource ('Fetches the full Pollar coverage of a single event by its slug') and immediately distinguishes itself from list/search siblings by naming where slugs come from. An agent can tell what this returns without opening the schema.

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?

Explicitly routes the agent: slugs come from search_news or list_top_news, and it names the conditional alternatives get_explainer and get_film when the event carries those forms. No explicit 'when not to use', but the context is clear and actionable.

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

get_explainerGet a Pollar explainerA
Read-only
Inspect

Fetches the explainer for one news event by its event slug (from list_explainers, or get_event when its explainer field is set). Returns the question it answers, the narration beat by beat, and each beat's visual data: a map with places and coordinates, a dated timeline (entries marked next are what comes next), a key figure with its source, a bar chart, or a quote. Suited to questions about why a story matters. Returns a canonical pollar.news url.

NameRequiredDescriptionDefault
slugYesEvent slug (per-locale)
localeNoen

Output Schema

NameRequiredDescription
urlYes
beatsYes
localeYes
audioUrlYes
questionYes
durationSYes
eventSlugYes
eventTitleYes
provenanceYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already disclose the safety profile (readOnlyHint=true, destructiveHint=false), so the description is freed to describe output shape: the question, beat-by-beat narration, and per-beat visual types (map, timeline, key figure, bar chart, quote). It also notes the return of a canonical pollar.news URL and the semantics of the 'next' timeline marker. No auth or rate-limit details, but output behavior is well covered.

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?

Front-loaded with the core action and identifier, then enumerates return content efficiently in one long sentence. Slightly dense—the visual-type list could be trimmed—but no sentence is pure waste and the important routing info comes early.

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?

Despite an output schema being present (so return values needn't be re-explained), the description still usefully summarizes the payload structure and the meaning of the 'next' timeline marker. With annotations covering safety and the schema covering types, the only unpaid bill is the absent locale semantics beyond the enum, which is minor.

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 only 50%—the slug parameter is documented as 'Event slug (per-locale)' and locale is an enum with a default—but the description adds the critical detail that the slug is event-scoped and comes from specific sibling tools. That provenance and per-locale implication go beyond the terse schema, lifting it above the baseline 3.

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 (Fetches) and resource (the explainer for one news event) keyed by a uniquely-identifying parameter (event slug). It distinguishes itself from siblings by noting the slug comes from list_explainers or get_event, and by defining explainer content (question, narration beats, visual data) that separates it from get_event or get_thread.

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—'Suited to questions about why a story matters'—and names upstream tools that supply the required slug (list_explainers, get_event). It does not explicitly state when NOT to use it (e.g., to use get_event for raw event data), so it stops short of full routing guidance.

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

get_filmGet a Pollar filmA
Read-only
Inspect

Fetches one Pollar film by slug (from list_films, or the film field of get_event) with its full transcript in the requested language, taken from the reviewed captions. Returns a canonical pollar.news url.

NameRequiredDescriptionDefault
slugYes
localeNoen

Output Schema

NameRequiredDescription
urlYes
slugYes
eventYes
questionYes
durationSYes
recordedAtYes
transcriptYes
publishedAtYes
transcriptTruncatedYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context: the transcript comes from 'reviewed captions' (a data-quality caveat) and the response includes a canonical pollar.news url.

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 dense sentence that front-loads the action, the key, and the payload, then appends the return detail. No filler, though the run-on structure packs several separate facts together.

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 return structure, yet it still flags the url. It covers slug sourcing and language selection adequately; only the locale enumeration is a residual gap for a 2-parameter tool.

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 0%, so the description must carry the load. It explains the meaning and origin of slug well, and 'in the requested language' implies the locale parameter, but it never enumerates the supported locales (en/pl/de/fr) or mentions the default of 'en' that the schema declares.

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 (fetches) and resource (one Pollar film) and enumerates what is returned: full transcript in the requested language plus a canonical pollar.news url. This clearly distinguishes it from the list_films sibling and from generic 'fetch' tools.

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?

Explicitly tells the agent where the required slug comes from — list_films, or the film field of get_event — which is the key routing information for a single-item lookup. It stops short of naming when NOT to use it, but the sourcing guidance is concrete.

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

get_live_momentGet a breaking-news moment snapshotA
Read-only
Inspect

Fetches the current snapshot of a breaking-news moment by id, including ordered updates and a source summary. Accepts a moment id or a story id; a story id resolves to that story's latest chapter. The result is a point-in-time read, not a stream.

NameRequiredDescriptionDefault
idYes
localeNoen

Output Schema

NameRequiredDescription
momentYes
statesYes
provenanceYes
sourcesSummaryYes

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already establish read-only, non-destructive, closed-world behavior, so the bar is lower, and the description adds genuinely useful context: it is a point-in-time snapshot rather than a stream, story ids are transparently resolved to the latest chapter, and the response bundles ordered updates plus a source summary. It does not describe auth, rate limits, or freshness/staleness guarantees for a breaking-news feed.

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?

Three tight sentences front-loaded with the core action, then parameter behavior, then the read-vs-stream caveat. No filler or repetition.

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?

An output schema exists, so return-value detail is not required, and the description still usefully characterizes the payload. Combined with the safety annotations and clear id semantics, the definition is nearly complete; only freshness/pagination behavior for a live-news snapshot is unaddressed.

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 description coverage is 0%, so the description must carry the load for the id parameter, and it does: the id may be either a moment id or a story id, with defined resolution behavior. The locale enum is left unexplained, but its values (en/pl/de/fr) and default are self-evident.

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 (fetches) and resource (breaking-news moment snapshot) plus what the payload contains (ordered updates, source summary). It partially differentiates from the get_live_story sibling by explaining that a story id resolves to the latest chapter, but it never names that sibling explicitly.

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?

The line 'The result is a point-in-time read, not a stream' gives an implicit when/when-not signal, steering agents away from polling/streaming expectations. However, no alternative tool is named and no conditions for choosing get_live_story vs get_live_moment are stated.

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

get_live_storyGet a breaking-news story snapshot (chapters umbrella)A
Read-only
Inspect

Fetches the current snapshot of a story by id, including its title, status (active, developing, concluded or dormant) and ordered chapters. Returns the whole multi-chapter arc; a single chapter comes from get_live_moment.

NameRequiredDescriptionDefault
idYes
localeNoen

Output Schema

NameRequiredDescription
storyYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint false and openWorld false, so the description adds value by disclosing the returned content (title, ordered chapters) and enumerating the status lifecycle values. It does not mention permissions, pagination or freshness/refresh behavior, which is a minor gap given the tool returns a 'snapshot'.

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 tightly packed sentences with no filler; the core behavior and the sibling routing are front-loaded, and every clause earns its place.

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 return values, yet it usefully summarizes them anyway. Annotations cover the safety profile. The only real omission is any meaning for the undocumented 'locale' parameter.

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

Parameters2/5

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

Schema description coverage is 0% and there are two parameters. The description only implies the required 'id' parameter and says nothing about the 'locale' enum (en/pl/de/fr) or its default. It fails to compensate for the schema's complete lack of parameter documentation.

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 ('fetches the current snapshot of a story by id') and immediately distinguishes scope from the sibling get_live_moment by contrast (whole arc vs. single chapter). An agent can differentiate it from the surrounding live_* tools without opening any schema.

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?

Explicitly routes the agent: use get_live_story for the whole multi-chapter arc, get_live_moment for a single chapter. Clear context, but no negative guidance about when not to use it (e.g., for concluded archival stories or listing).

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

get_marketsGet market dataA
Read-only
Inspect

Returns market data tracked by Pollar, including European and global indices, currencies, crypto, commodities, and bonds. Without arguments it returns the quote catalogue; with an exact catalogue symbol, that quote's detail, and with a range, its price history.

NameRequiredDescriptionDefault
rangeNo
symbolNoExact symbol from the catalogue, e.g. '^GDAXI'; the catalogue (no arguments) lists valid symbols.

Output Schema

NameRequiredDescription
nameNo
openNo
priceNo
changeNo
dayLowNo
symbolNo
volumeNo
dayHighNo
historyNo
sectionNo
currencyNo
sectionsNo
sparklineNo
topMoversNo
updatedAtNo
marketStateNo
exchangeNameNo
changePercentNo
previousCloseNo
fiftyTwoWeekLowNo
fiftyTwoWeekHighNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine behavioral context by disclosing that the response shape changes with the arguments (catalogue vs. detail vs. history), which the annotations do not convey.

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 tight sentences with no filler, and the coverage scope is front-loaded before the argument-dependent behaviors. Every clause carries information the agent needs.

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?

An output schema exists, so return values need not be spelled out, and the mode logic is well covered. The only gaps are edge cases such as combining symbol and range or passing an invalid symbol, which are left unaddressed.

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 only 50%: 'symbol' is documented in the schema but 'range' has an enum with no description. The description compensates by explaining that 'range' produces price history and that 'symbol' must be an exact catalogue symbol, adding meaning beyond the raw enum list.

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 names a specific resource (market data tracked by Pollar) and enumerates the asset classes covered (indices, currencies, crypto, commodities, bonds). It also distinguishes its three response modes, which lets an agent tell it apart from the news-oriented siblings at a glance.

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 gives explicit invocation guidance: no arguments yields the quote catalogue, an exact catalogue symbol yields that quote's detail, and a range yields price history. This is clear mode-selection context, though it stops short of naming when-not-to-use conditions or alternatives.

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

get_sound_episodeGet a Pollar Sounds episodeA
Read-only
Inspect

Fetches one Pollar Sounds episode by slug (from list_sounds): description, the people and outlets whose recordings are heard, and the full transcript in the requested language with each speaker named. Episodes still in the members-only window come without a transcript. Returns a canonical pollar.news url.

NameRequiredDescriptionDefault
slugYes
localeNoen
withTranscriptNo

Output Schema

NameRequiredDescription
urlYes
noteNo
slugYes
titleYes
accessYes
numberYes
sourcesYes
audioUrlYes
publicAtYes
transcriptYes
descriptionYes
durationMinYes
episodeTypeYes
transcriptTruncatedYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower. The description adds genuinely non-obvious behavior: members-only episodes return without a transcript, and the response includes a canonical pollar.news URL. It doesn't say what happens for an invalid slug or unknown locale.

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?

Two tight sentences, front-loaded with the verb and the slug source. The list of returned fields is dense but earns its place. No filler.

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?

Output schema exists so return-value structure needn't be restated. The description still conveys the key conditional (members-only strips transcript) and provenance of the slug. For a 3-param read tool this is close to complete, minor gaps on error behavior and withTranscript semantics.

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 0%, so parameters are documented only by name/type/enum. The description says the transcript is 'in the requested language', implicitly tying locale to transcript language, but doesn't explain what withTranscript=false does versus the members-only case. Baseline for low coverage would be lower, but the description partially compensates.

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 (Fetches) and resource (one Pollar Sounds episode), and crucially disambiguates from likely sibling list_sounds by noting the slug comes 'from list_sounds'. Distinguishes itself clearly from get_entity, get_explainer and other get_* siblings.

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 parenthetical '(from list_sounds)' tells the agent where the slug originates, which is real routing guidance. No explicit when-not-to-use or alternative named for transcript-free fetches, but the context is clear.

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

get_threadGet a Pollar threadA
Read-only
Inspect

Fetches a single Pollar thread by slug (from list_threads): its thesis, current state-of-play, and the most recent chronicle entries with citations (15 by default, up to 100 with limit). With withHistory, it also includes the last ten changes to the thesis. Returns the thread detail with a canonical url.

NameRequiredDescriptionDefault
slugYesThread slug, e.g. 'demokracje-populizm'
limitNoNumber of most recent chronicle entries
localeNoen
withHistoryNo

Output Schema

NameRequiredDescription
idYes
urlYes
nameYes
thesisYes
entriesYes
historyNo
sectionYes
entryCountYes
lastTickAtYes
provenanceYes
stateOfPlayYes
weekHighlightsYes
changeMagnitudeYes
magnitudeReasonYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive 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?

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?

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?

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 (Fetches), resource (a single Pollar thread), and identifier (slug), plus what the payload contains (thesis, state-of-play, chronicle entries with citations). It also names the sibling list_threads as the source of the slug, so it is distinguishable from get_entity/get_event/list_threads.

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?

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

list_categoriesList Pollar categoriesA
Read-only
Inspect

Returns Pollar's category taxonomy with mention counts: the valid dot-paths for filtering list_top_news. Takes no arguments.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
treeYes
totalYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that the result carries mention counts, which is genuine behavioral context, but it omits anything about size, caching, or stability of the taxonomy.

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 short clauses, front-loaded with the return value and purpose; no filler, and the no-argument statement is the right place at the end.

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?

With an output schema present, an empty input schema, and full annotation coverage, the description supplies everything an agent needs: what it returns, why (filtering list_top_news), and that it takes no input.

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?

Zero parameters, so the baseline is 4; the explicit 'Takes no arguments' correctly matches the empty schema and removes any doubt about required 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?

States a specific verb and resource ('Returns Pollar's category taxonomy with mention counts') and immediately qualifies the resource as the valid dot-paths for filtering list_top_news, which distinguishes it from the many sibling list_* tools.

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 clearly ties usage to list_top_news filtering, telling the agent when this taxonomy is needed, but it names no alternative and states no exclusions (e.g., that it should be called once and cached rather than per-query).

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

list_explainersList Pollar explainersA
Read-only
Inspect

Lists Pollar's latest explainers, newest first. An explainer is a short narrated walk-through of one news event that answers the question behind it, with maps, timelines, key figures, charts and quotes. get_explainer takes a returned eventSlug for the content.

NameRequiredDescriptionDefault
limitNo
localeNoen

Output Schema

NameRequiredDescription
explainersYes

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, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds behavioral value beyond that by disclosing the sort order ('newest first'), which the annotations and schema do not convey, though pagination or locale-influence behavior is not addressed.

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?

Three front-loaded sentences; the first two carry the essential purpose and ordering, the third the chaining hint. The explainer definition sentence is longer but earns its place by clarifying the resource, leaving little waste.

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

Completeness3/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 explanation is unnecessary, and the chaining to get_explainer is covered. However, with 0% schema coverage on limit and locale and no mention of them, the definition is incomplete for a listing tool whose filtering behavior an agent needs to know.

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

Parameters2/5

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

Schema description coverage is 0% for two parameters (limit, locale), and the description never mentions either. It gives no meaning for limit bounds/default or for what the locale enum changes about the returned explainers, so the description fails to compensate for the schema gap.

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 ('Lists Pollar's latest explainers') plus the ordering ('newest first'), and then defines what an explainer is so an agent understands the resource type. It also routes to the sibling 'get_explainer' via the returned eventSlug, cleanly separating list from fetch.

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?

Provides clear context for the list-then-fetch workflow by naming get_explainer and the eventSlug handoff. It does not state when to prefer this over other discovery siblings such as search_news or list_top_news, so exclusions are implicit rather than explicit.

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

list_filmsList Pollar filmsA
Read-only
Inspect

Lists Pollar films, newest first: short videos in which a Pollar journalist answers one question about a news story. Each film links its event when one is attached. get_film takes a returned slug for the transcript.

NameRequiredDescriptionDefault
limitNo
localeNoen

Output Schema

NameRequiredDescription
filmsYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: the ordering guarantee (newest first) and the linkage behavior (each film links its event when attached), which the agent cannot get from annotations.

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?

Three tight sentences with zero filler; the ordering and resource definition are front-loaded, and the get_film hand-off comes last where it belongs.

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?

An output schema exists, so return-shape explanation is unnecessary, and the description covers resource nature, ordering, and entity linkage. The only meaningful gap is the total silence on the limit and locale parameters for a tool that serves four locales.

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

Parameters2/5

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

Schema description coverage is 0% and neither of the two parameters (limit, locale) is mentioned anywhere in the description. The locale parameter in particular has no explanation despite the tool clearly serving multi-locale content, so the description does not compensate for the coverage gap.

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 ('Lists Pollar films'), defines what the resource is ('short videos in which a Pollar journalist answers one question about a news story'), and specifies the ordering ('newest first'). It also distinguishes itself from the sibling get_film by naming it explicitly.

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 use — browse the film collection, then call get_film with a returned slug for the transcript — which routes the agent to the right follow-up sibling. It does not state when-not-to-use it or contrast it with list_explainers/list_sounds, so it stops short of full guidance.

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

list_live_momentsList Pollar breaking-news momentsA
Read-only
Inspect

Lists Pollar's live and recently ended breaking-news moments: what is breaking now and what ended within the past 24 hours. A moment that belongs to a multi-chapter story carries its storyId and chapterIndex, and chapters of one story come in chapter order. get_live_moment takes a returned id for the current snapshot.

NameRequiredDescriptionDefault
localeNoen

Output Schema

NameRequiredDescription
momentsYes
provenanceYes

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, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuinely new behavioral context: the 24-hour lifecycle window, that story moments carry storyId and chapterIndex, and that chapters arrive in chapter order. It omits result limits/pagination, which keeps it from a 5.

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?

Three tight sentences, front-loaded with the resource and its time window before the structural details. Every sentence carries information an agent can act on, with no filler.

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?

An output schema exists, so return values need not be explained, and the description still usefully flags the storyId/chapterIndex shape and chapter ordering. The one gap is the locale parameter's effect, left entirely to the schema for a listing tool that defaults silently to English.

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

Parameters2/5

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

Schema description coverage is 0% and the sole parameter (locale, enum en/pl/de/fr, default en) is never mentioned in the description. The enum values are somewhat self-explanatory, but what locale actually governs — content language, fallback behavior — is undocumented in both places.

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 (Lists) and resource (Pollar's breaking-news moments) and pins the scope precisely: what is live now plus what ended within the past 24 hours. This distinguishes it from list_live_stories (stories, not moments) and get_live_moment (single item) without opening any 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?

The 24-hour window and mention that get_live_moment takes a returned id imply a list-then-detail flow, which is useful context. But there is no explicit statement of when to choose this over list_live_stories, list_top_news, or search_news, and no exclusions or prerequisites are given.

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

list_live_storiesList Pollar breaking-news stories (with chapters)A
Read-only
Inspect

Lists Pollar's active and developing breaking-news stories, each with an umbrella title and its chapters in order. Suited to showing how a story has unfolded (for example, a strike with three chapters over 48 hours) rather than single moments. get_live_moment takes a returned story id for the current snapshot; it accepts story ids and moment ids.

NameRequiredDescriptionDefault
localeNoen

Output Schema

NameRequiredDescription
storiesYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the composite return shape (an umbrella story containing ordered chapters) and by describing a cross-tool workflow: get_live_moment accepts a story id from this result. It omits pagination/volume or freshness characteristics.

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?

Three tight sentences: what it returns and its structure first, then the scenario it suits, then the follow-up tool. Every sentence carries new information and nothing is padded.

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 output schema exists, so return values need not be restated, and annotations cover safety; the description supplies the story/chapter model and the chaining guidance an agent needs. The only remaining gap is the unmentioned locale parameter, which is minor relative to the rest.

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 0%, so the single locale parameter's meaning rests entirely on the enum (en/pl/de/fr) and default. The description never mentions language selection at all, so it does not compensate; an agent gets no signal from the text that results are locale-filtered. The enum is self-explanatory enough to keep this at a baseline 3 rather than lower.

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 (lists Pollar's active/developing breaking-news stories) and adds structural detail: each story has an umbrella title plus ordered chapters. It implicitly separates itself from moment-level tools by contrasting with 'single moments', but never distinguishes itself from the close sibling get_live_story (singular story retrieval).

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 a concrete use case ('showing how a story has unfolded... a strike with three chapters over 48 hours') and contrasts it with single moments, which steers the agent toward the right granularity. It stops short of naming the explicit alternative tool for single moments (list_live_moments) or when not to use it at all.

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

list_soundsList Pollar Sounds episodesA
Read-only
Inspect

Lists episodes of Pollar Sounds, Pollar's narrative audio series that takes one story back to its roots, newest first. Episodes with access 'early' are for Pollar members until publicAt. get_sound_episode takes a returned slug for the transcript and sources.

NameRequiredDescriptionDefault
localeNoen

Output Schema

NameRequiredDescription
episodesYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safe read-only profile (readOnlyHint, destructiveHint=false, openWorldHint=false). The description adds value beyond that: result ordering (newest first) and the membership-gated 'early' access tier with publicAt, which an agent cannot infer from the annotations.

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?

Two sentences, front-loaded with the core listing behavior, followed by the access-tier caveat and the sibling cross-reference. No filler; tight and purposeful.

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, return values needn't be described. The description covers ordering, the access-gating nuance, and the follow-up detail tool. Only the locale parameter is left unexplained.

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 single locale parameter has 0% schema description coverage and the description never mentions it. The enum values (en, pl, de, fr) are largely self-explanatory, but the description does nothing to clarify locale behavior, so it only meets the baseline.

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 ('Lists episodes of Pollar Sounds'), names the series genre ('narrative audio series'), and specifies ordering ('newest first'). The mention of get_sound_episode distinguishes it from the sibling detail tool.

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?

Explicitly routes the agent: use get_sound_episode with a returned slug for transcripts and sources. It also surfaces the 'early' access rule governing when episodes are publicly available. No explicit when-not condition, but the workflow context is clear.

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

list_threadsList Pollar story threadsA
Read-only
Inspect

Lists Pollar's active evergreen threads: ongoing storylines tracked over time and grouped by section, with the latest change magnitude. Suited to discovering long-running topics; get_thread takes a returned id for the detail.

NameRequiredDescriptionDefault
localeNoen

Output Schema

NameRequiredDescription
threadsYes
sectionsYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds meaning beyond that: only *active* threads are returned, they are grouped by section, and each carries a 'latest change magnitude' — useful output-shape context. It omits auth, rate limits, and pagination behavior, keeping it out of the 5 band.

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, zero waste: the first defines what is listed and its shape, the second routes to the sibling. The primary purpose is front-loaded before the alternative is mentioned.

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?

An output schema exists, so the description needn't explain return values, and annotations cover safety. Purpose, sibling routing, and return characteristics are all present; only the locale parameter's effect on output language and any pagination/count limits are unaddressed.

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 0%, so the description would need to compensate for the single locale parameter — and it says nothing about locale. However, the parameter is a self-evident language enum with a default, so ambiguity is low and the schema still conveys the constraint. Baseline 3 reflects an undocumented but low-risk parameter.

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 (Lists) and resource (Pollar's active evergreen threads), and defines the concept as 'ongoing storylines tracked over time and grouped by section, with the latest change magnitude.' It also distinguishes itself from the sibling get_thread, so an agent can tell the two apart 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 Guidelines4/5

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

'Suited to discovering long-running topics; get_thread takes a returned id for the detail' gives clear context for when to use this tool and names the alternative for detail retrieval. It stops short of explicit when-not conditions (e.g., inactive or historical threads), but the routing is unambiguous.

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

list_top_newsList top Pollar newsA
Read-only
Inspect

Lists Pollar's current leading news events, ranked by freshness and editorial momentum. Suited to broad requests for current headlines with no named subject, place, or country; subject and geographic requests belong to search_news. Can filter by a taxonomy dot-path such as 'world.politics'; valid paths come from list_categories.

NameRequiredDescriptionDefault
limitNo
localeNoen
categoryNoTaxonomy dot-path, e.g. 'world.politics'

Output Schema

NameRequiredDescription
resultsYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds non-obvious behavior beyond that: results are ranked by freshness and editorial momentum, and category values must be drawn from list_categories. It does not cover pagination or the shape of the ranking, but the output schema carries return values.

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 tight sentences with zero filler: scope/ranking first, then the routing rule to the sibling tool, then the category constraint. Every clause carries information an agent needs.

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 return values, and it covers the key routing decision plus the category sourcing constraint. The only gap is that 'limit' and 'locale' are never addressed, though their schema defaults, bounds and enum make them largely self-explanatory.

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 only 33% (only 'category' is documented), so the description must compensate. It does clarify the category parameter by explaining the dot-path format and that valid paths come from list_categories, but it says nothing about 'limit' or 'locale', leaving two of three parameters reliant on schema types alone.

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 ('Lists Pollar's current leading news events') plus the ranking logic ('freshness and editorial momentum'), and explicitly distinguishes itself from search_news for subject/geographic requests. An agent can route correctly 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 Guidelines5/5

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

Gives an explicit positive condition ('broad requests for current headlines with no named subject, place, or country') and names the alternative that owns the excluded cases ('subject and geographic requests belong to search_news'). It also points to list_categories as the source of valid category paths.

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

news_nearPollar news near a placeA
Read-only
Inspect

Lists recent Pollar events located in or around a named city or town, nearest first, with the distance in km. Accepts the place name in English, Polish, German or French, with an optional country for ambiguous names. A whole country, a region or a topic is a job for search_news.

NameRequiredDescriptionDefault
limitNo
placeYesCity or town name, e.g. 'Kraków', 'Krakau' or 'Lyon'
localeNoen
countryNoCountry name or ISO code, only to disambiguate
radiusKmNo

Output Schema

NameRequiredDescription
placeYes
resultsYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare a safe read (readOnlyHint=true, destructiveHint=false, openWorldHint=false). The description goes beyond that by disclosing result ordering (nearest first), the distance unit (km), and that place names are accepted in four languages. It does not mention result-count limits or paging, so it falls just short of 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?

Two sentences, zero filler, with the core purpose, ordering, and input constraints front-loaded before the sibling routing. Every clause earns its place.

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?

An output schema exists and annotations cover the safety profile, so return-format details are not needed. The description is nearly complete for correct invocation, with only the radius semantics left to the schema's defaults and constraints.

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 only 40%, so the description must carry weight: it explains the multi-language 'place' input, the supported locales, and that 'country' exists solely to disambiguate ambiguous names. However, 'radiusKm' (the parameter that actually defines 'around') and 'limit' get no explanation beyond the vague word 'around'.

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 ('Lists recent Pollar events'), the geographic scope ('in or around a named city or town'), and the ordering ('nearest first, with the distance in km'). An agent can distinguish this from the broad search_news sibling 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 Guidelines5/5

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

Explicitly routes the wrong case elsewhere: 'A whole country, a region or a topic is a job for search_news.' Combined with the stated valid input ('a named city or town'), the when-to-use condition is unambiguous.

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

render_news_listShow a Pollar news listA
Read-only
Inspect

Shows up to 10 stories from earlier search_news, list_top_news or search results as a compact linked list. Titles and canonical URLs are displayed exactly as given.

NameRequiredDescriptionDefault
itemsYes
headingNoPollar News

Output Schema

NameRequiredDescription
itemsYes
headingYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds modest value by stating the 10-item cap and that titles/URLs are shown 'exactly as given' (no rewriting), but says nothing about output format or rendering behavior beyond that.

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, no padding, and the core purpose and item limit are front-loaded before the display detail. Every clause earns its place.

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 read-only render tool with an output schema and full annotations, the description covers purpose, data source, and item limit adequately. The main gap is that the optional 'heading' parameter is undocumented anywhere.

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 0%, so the description must carry parameter meaning. It partially does: it explains what 'items' are (stories with titles and canonical URLs, capped at 10), but the 'heading' parameter and item fields like 'lead' and 'publishedAt' are never mentioned.

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 ('Shows up to 10 stories ... as a compact linked list') and identifies where the data comes from (search_news, list_top_news, search results), which separates this presentation tool from the retrieval siblings.

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 phrase 'from earlier search_news, list_top_news or search results' makes the intended workflow clear: call it after you already have result items. It gives clear context but no explicit when-not-to-use or alternative comparison.

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

search_newsSearch Pollar NewsA
Read-only
Inspect

Searches Pollar's news archive with semantic and keyword matching. Suited to any question about a subject, person, organisation, place, or country (for example, interesting news in Poland); the subject or place goes in query. Locale controls response language, not geographic scope. Current headlines with no subject or place come from list_top_news.

NameRequiredDescriptionDefault
limitNo
queryYesFree-text search query
localeNoen

Output Schema

NameRequiredDescription
relatedYes
resultsYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/destructive hints, so the safety profile is covered. The description adds genuine behavioral context that annotations cannot: the matching strategy (semantic + keyword) and the non-obvious fact that locale governs response language rather than geographic scope. It stops short of mentioning result ordering or the limit cap, but that is a minor gap.

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?

Three tight sentences, each doing distinct work: capability, usage scope with example, and sibling disambiguation. The routing constraint is front-loaded with no filler.

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?

An output schema exists so return values need not be explained, and annotations cover the safety profile. The description supplies the usage criteria and the critical locale/query semantics; the only omissions are pagination behavior and result ordering, which are minor for a 3-param search tool.

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 only 33%, so the description must compensate, and it does for the two most ambiguous params: query is defined as where the subject or place goes, and locale is explicitly disambiguated as response language, not geographic scope (a common trap given the enum of en/pl/de/fr). Only limit is left to the schema's default/max/min.

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 (Searches) and resource (Pollar's news archive) plus the retrieval method (semantic and keyword matching). It explicitly carves out the boundary with the sibling list_top_news, so an agent can choose between them 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 Guidelines5/5

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

Gives concrete when-to-use criteria (any question about a subject, person, organisation, place, or country) with an example, and states the when-not case (current headlines with no subject or place) along with the named alternative list_top_news.

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. 1 tool update
    • Changedget_entity1 field changed
      • addedOutput schema / properties / imageCredit
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "author": {
        +      "type": "string"
        +    },
        +    "license": {
        +      "type": "string"
        +    },
        +    "licenseUrl": {
        +      "type": "string"
        +    },
        +    "sourceUrl": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "author",
        +    "license",
        +    "licenseUrl",
        +    "sourceUrl"
        +  ],
        +  "type": "object"
        +}
  2. 15 tool updates
    • Changedfetch2 fields changed
      • addedOutput schema / properties / metadata / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / metadata / required
        Previous value: -[
        -  "publishedAt",
        -  "modifiedAt",
        -  "sources"
        -]New value: +[
        +  "publishedAt",
        +  "modifiedAt",
        +  "sources",
        +  "provenance"
        +]
    • Changedget_daily_brief2 fields changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "greeting",
        -  "headline",
        -  "shortHeadline",
        -  "lead",
        -  "executiveSummary",
        -  "sections",
        -  "charts"
        -]New value: +[
        +  "greeting",
        +  "headline",
        +  "shortHeadline",
        +  "lead",
        +  "executiveSummary",
        +  "sections",
        +  "charts",
        +  "provenance"
        +]
    • Changedget_entity1 field changed
      • addedOutput schema / properties / timeline / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
    • Changedget_event2 fields changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "title",
        -  "lead",
        -  "summary",
        -  "categoryPath",
        -  "locations",
        -  "mentionedPeople",
        -  "charts",
        -  "sources",
        -  "imageUrl",
        -  "imageSource",
        -  "publishedAt",
        -  "modifiedAt",
        -  "contentUpdatedAt",
        -  "url",
        -  "translations",
        -  "explainer",
        -  "film",
        -  "corrections"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "title",
        +  "lead",
        +  "summary",
        +  "categoryPath",
        +  "locations",
        +  "mentionedPeople",
        +  "charts",
        +  "sources",
        +  "imageUrl",
        +  "imageSource",
        +  "publishedAt",
        +  "modifiedAt",
        +  "contentUpdatedAt",
        +  "url",
        +  "translations",
        +  "explainer",
        +  "film",
        +  "corrections",
        +  "provenance"
        +]
    • Changedget_explainer2 fields changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "locale",
        -  "question",
        -  "eventSlug",
        -  "eventTitle",
        -  "url",
        -  "audioUrl",
        -  "durationS",
        -  "beats"
        -]New value: +[
        +  "locale",
        +  "question",
        +  "eventSlug",
        +  "eventTitle",
        +  "url",
        +  "audioUrl",
        +  "durationS",
        +  "beats",
        +  "provenance"
        +]
    • Changedget_live_moment2 fields changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "moment",
        -  "states",
        -  "sourcesSummary"
        -]New value: +[
        +  "moment",
        +  "states",
        +  "sourcesSummary",
        +  "provenance"
        +]
    • Changedget_live_story2 fields changed
      • addedOutput schema / properties / story / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / story / required
        Previous value: -[
        -  "id",
        -  "title",
        -  "status",
        -  "primaryKind",
        -  "chapterCount",
        -  "chapters"
        -]New value: +[
        +  "id",
        +  "title",
        +  "status",
        +  "primaryKind",
        +  "chapterCount",
        +  "chapters",
        +  "provenance"
        +]
    • Changedget_thread2 fields changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "section",
        -  "name",
        -  "thesis",
        -  "changeMagnitude",
        -  "magnitudeReason",
        -  "lastTickAt",
        -  "entryCount",
        -  "url",
        -  "stateOfPlay",
        -  "weekHighlights",
        -  "entries"
        -]New value: +[
        +  "id",
        +  "section",
        +  "name",
        +  "thesis",
        +  "changeMagnitude",
        +  "magnitudeReason",
        +  "lastTickAt",
        +  "entryCount",
        +  "url",
        +  "provenance",
        +  "stateOfPlay",
        +  "weekHighlights",
        +  "entries"
        +]
    • Changedlist_explainers2 fields changed
      • addedOutput schema / properties / explainers / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / explainers / items / required
        Previous value: -[
        -  "eventSlug",
        -  "eventTitle",
        -  "categoryPath",
        -  "durationS",
        -  "publishedAt",
        -  "url"
        -]New value: +[
        +  "eventSlug",
        +  "eventTitle",
        +  "categoryPath",
        +  "durationS",
        +  "publishedAt",
        +  "url",
        +  "provenance"
        +]
    • Changedlist_live_moments2 fields changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "moments"
        -]New value: +[
        +  "moments",
        +  "provenance"
        +]
    • Changedlist_live_stories2 fields changed
      • addedOutput schema / properties / stories / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / stories / items / required
        Previous value: -[
        -  "id",
        -  "title",
        -  "status",
        -  "primaryKind",
        -  "chapterCount",
        -  "chapters"
        -]New value: +[
        +  "id",
        +  "title",
        +  "status",
        +  "primaryKind",
        +  "chapterCount",
        +  "chapters",
        +  "provenance"
        +]
    • Changedlist_threads2 fields changed
      • addedOutput schema / properties / threads / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / threads / items / required
        Previous value: -[
        -  "id",
        -  "section",
        -  "name",
        -  "thesis",
        -  "changeMagnitude",
        -  "magnitudeReason",
        -  "lastTickAt",
        -  "entryCount",
        -  "url"
        -]New value: +[
        +  "id",
        +  "section",
        +  "name",
        +  "thesis",
        +  "changeMagnitude",
        +  "magnitudeReason",
        +  "lastTickAt",
        +  "entryCount",
        +  "url",
        +  "provenance"
        +]
    • Changedlist_top_news2 fields changed
      • addedOutput schema / properties / results / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "title",
        -  "shortHeadline",
        -  "lead",
        -  "imageUrl",
        -  "imageSource",
        -  "publishedAt",
        -  "modifiedAt",
        -  "categoryPath",
        -  "sourceCount",
        -  "url"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "title",
        +  "shortHeadline",
        +  "lead",
        +  "imageUrl",
        +  "imageSource",
        +  "publishedAt",
        +  "modifiedAt",
        +  "categoryPath",
        +  "sourceCount",
        +  "url",
        +  "provenance"
        +]
    • Changednews_near2 fields changed
      • addedOutput schema / properties / results / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "title",
        -  "shortHeadline",
        -  "lead",
        -  "imageUrl",
        -  "imageSource",
        -  "publishedAt",
        -  "modifiedAt",
        -  "categoryPath",
        -  "sourceCount",
        -  "url",
        -  "distanceKm"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "title",
        +  "shortHeadline",
        +  "lead",
        +  "imageUrl",
        +  "imageSource",
        +  "publishedAt",
        +  "modifiedAt",
        +  "categoryPath",
        +  "sourceCount",
        +  "url",
        +  "provenance",
        +  "distanceKm"
        +]
    • Changedsearch_news4 fields changed
      • addedOutput schema / properties / related / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / related / items / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "title",
        -  "shortHeadline",
        -  "lead",
        -  "imageUrl",
        -  "imageSource",
        -  "publishedAt",
        -  "modifiedAt",
        -  "categoryPath",
        -  "sourceCount",
        -  "url"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "title",
        +  "shortHeadline",
        +  "lead",
        +  "imageUrl",
        +  "imageSource",
        +  "publishedAt",
        +  "modifiedAt",
        +  "categoryPath",
        +  "sourceCount",
        +  "url",
        +  "provenance"
        +]
      • addedOutput schema / properties / results / items / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aiGenerated": {
        +      "type": "boolean"
        +    },
        +    "editorialReview": {
        +      "enum": [
        +        "automated",
        +        "human"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "machineTranslated": {
        +      "type": "boolean"
        +    },
        +    "policyUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "aiGenerated",
        +    "editorialReview",
        +    "policyUrl",
        +    "label"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "title",
        -  "shortHeadline",
        -  "lead",
        -  "imageUrl",
        -  "imageSource",
        -  "publishedAt",
        -  "modifiedAt",
        -  "categoryPath",
        -  "sourceCount",
        -  "url"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "title",
        +  "shortHeadline",
        +  "lead",
        +  "imageUrl",
        +  "imageSource",
        +  "publishedAt",
        +  "modifiedAt",
        +  "categoryPath",
        +  "sourceCount",
        +  "url",
        +  "provenance"
        +]
  3. 1 tool update
    • Changedget_event2 fields changed
      • addedOutput schema / properties / corrections
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "date": {
        +        "type": "string"
        +      },
        +      "text": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "date",
        +      "text"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "title",
        -  "lead",
        -  "summary",
        -  "categoryPath",
        -  "locations",
        -  "mentionedPeople",
        -  "charts",
        -  "sources",
        -  "imageUrl",
        -  "imageSource",
        -  "publishedAt",
        -  "modifiedAt",
        -  "contentUpdatedAt",
        -  "url",
        -  "translations",
        -  "explainer",
        -  "film"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "title",
        +  "lead",
        +  "summary",
        +  "categoryPath",
        +  "locations",
        +  "mentionedPeople",
        +  "charts",
        +  "sources",
        +  "imageUrl",
        +  "imageSource",
        +  "publishedAt",
        +  "modifiedAt",
        +  "contentUpdatedAt",
        +  "url",
        +  "translations",
        +  "explainer",
        +  "film",
        +  "corrections"
        +]
  4. 16 tool updates
    • Changedget_daily_brief2 fields changed
      • removedOutput schema / properties / shortHeadline / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / shortHeadline / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_event5 fields changed
      • addedOutput schema / properties / categoryPath / additionalItems
        Added value: +false
      • addedOutput schema / properties / categoryPath / maxItems
        Added value: +3
      • addedOutput schema / properties / categoryPath / minItems
        Added value: +3
      • removedOutput schema / properties / contentUpdatedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contentUpdatedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_film2 fields changed
      • removedOutput schema / properties / transcript / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / transcript / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_live_moment8 fields changed
      • removedOutput schema / properties / moment / properties / decisionAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moment / properties / decisionAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / moment / properties / endedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moment / properties / endedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / moment / properties / eventOnsetAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moment / properties / eventOnsetAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / moment / properties / freshnessBand / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moment / properties / freshnessBand / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_live_story18 fields changed
      • removedOutput schema / properties / story / properties / categoryBucket / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / categoryBucket / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / chapters / items / properties / decisionAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / chapters / items / properties / decisionAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / chapters / items / properties / endedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / chapters / items / properties / endedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / chapters / items / properties / eventOnsetAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / chapters / items / properties / eventOnsetAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / chapters / items / properties / freshnessBand / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / chapters / items / properties / freshnessBand / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / chapters / items / properties / lastStateAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / chapters / items / properties / lastStateAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / concludedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / concludedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / firstEventOnsetAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / firstEventOnsetAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / story / properties / lastActiveAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / story / properties / lastActiveAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_markets24 fields changed
      • removedOutput schema / properties / currency / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / currency / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / dayHigh / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / dayHigh / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / dayLow / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / dayLow / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / exchangeName / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / exchangeName / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / fiftyTwoWeekHigh / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / fiftyTwoWeekHigh / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / fiftyTwoWeekLow / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / fiftyTwoWeekLow / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / history / properties / currency / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / history / properties / currency / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / open / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / open / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / sections / additionalProperties / items / properties / currency / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / sections / additionalProperties / items / properties / currency / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / topMovers / properties / gainers / items / properties / currency / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / topMovers / properties / gainers / items / properties / currency / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / topMovers / properties / losers / items / properties / currency / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / topMovers / properties / losers / items / properties / currency / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / volume / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / volume / type
        Added value: +[
        +  "number",
        +  "null"
        +]
    • Changedget_sound_episode6 fields changed
      • removedOutput schema / properties / number / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / number / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / sources / items / properties / url / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / sources / items / properties / url / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / transcript / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / transcript / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_thread10 fields changed
      • removedOutput schema / properties / changeMagnitude / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / changeMagnitude / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / history / items / properties / magnitudeReason / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / history / items / properties / magnitudeReason / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / lastTickAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / lastTickAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / magnitudeReason / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / magnitudeReason / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stateOfPlay / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stateOfPlay / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedlist_live_moments8 fields changed
      • removedOutput schema / properties / moments / items / properties / decisionAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moments / items / properties / decisionAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / moments / items / properties / endedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moments / items / properties / endedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / moments / items / properties / eventOnsetAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moments / items / properties / eventOnsetAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / moments / items / properties / freshnessBand / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / moments / items / properties / freshnessBand / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedlist_live_stories18 fields changed
      • removedOutput schema / properties / stories / items / properties / categoryBucket / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / categoryBucket / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / chapters / items / properties / decisionAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / chapters / items / properties / decisionAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / chapters / items / properties / endedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / chapters / items / properties / endedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / chapters / items / properties / eventOnsetAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / chapters / items / properties / eventOnsetAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / chapters / items / properties / freshnessBand / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / chapters / items / properties / freshnessBand / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / chapters / items / properties / lastStateAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / chapters / items / properties / lastStateAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / concludedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / concludedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / firstEventOnsetAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / firstEventOnsetAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / stories / items / properties / lastActiveAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / stories / items / properties / lastActiveAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedlist_sounds2 fields changed
      • removedOutput schema / properties / episodes / items / properties / number / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / episodes / items / properties / number / type
        Added value: +[
        +  "number",
        +  "null"
        +]
    • Changedlist_threads10 fields changed
      • removedOutput schema / properties / sections / additionalProperties / properties / generatedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / sections / additionalProperties / properties / generatedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / sections / additionalProperties / properties / summary / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / sections / additionalProperties / properties / summary / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / threads / items / properties / changeMagnitude / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / threads / items / properties / changeMagnitude / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / threads / items / properties / lastTickAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / threads / items / properties / lastTickAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / threads / items / properties / magnitudeReason / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / threads / items / properties / magnitudeReason / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedlist_top_news3 fields changed
      • addedOutput schema / properties / results / items / properties / categoryPath / additionalItems
        Added value: +false
      • addedOutput schema / properties / results / items / properties / categoryPath / maxItems
        Added value: +3
      • addedOutput schema / properties / results / items / properties / categoryPath / minItems
        Added value: +3
    • Changedlist_trending_entities2 fields changed
      • removedOutput schema / properties / entities / items / properties / desc / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / entities / items / properties / desc / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changednews_near3 fields changed
      • addedOutput schema / properties / results / items / properties / categoryPath / additionalItems
        Added value: +false
      • addedOutput schema / properties / results / items / properties / categoryPath / maxItems
        Added value: +3
      • addedOutput schema / properties / results / items / properties / categoryPath / minItems
        Added value: +3
    • Changedsearch_news6 fields changed
      • addedOutput schema / properties / related / items / properties / categoryPath / additionalItems
        Added value: +false
      • addedOutput schema / properties / related / items / properties / categoryPath / maxItems
        Added value: +3
      • addedOutput schema / properties / related / items / properties / categoryPath / minItems
        Added value: +3
      • addedOutput schema / properties / results / items / properties / categoryPath / additionalItems
        Added value: +false
      • addedOutput schema / properties / results / items / properties / categoryPath / maxItems
        Added value: +3
      • addedOutput schema / properties / results / items / properties / categoryPath / minItems
        Added value: +3
  5. 2 tool updates
    • Changedget_markets4 fields changed
      • changedInput schema / properties / symbol / description
        Previous value: -"Exact symbol from the catalog, e.g. '^GDAXI'. Call with no args first to list valid symbols."New value: +"Exact symbol from the catalogue, e.g. '^GDAXI'; the catalogue (no arguments) lists valid symbols."
      • changedOutput schema / properties / sections / additionalProperties / items / required
        Previous value: -[
        -  "symbol",
        -  "name",
        -  "section",
        -  "price",
        -  "previousClose",
        -  "change",
        -  "changePercent",
        -  "currency",
        -  "marketState",
        -  "sparkline"
        -]New value: +[
        +  "symbol",
        +  "name",
        +  "section",
        +  "price",
        +  "previousClose",
        +  "change",
        +  "changePercent",
        +  "currency",
        +  "marketState"
        +]
      • changedOutput schema / properties / topMovers / properties / gainers / items / required
        Previous value: -[
        -  "symbol",
        -  "name",
        -  "section",
        -  "price",
        -  "previousClose",
        -  "change",
        -  "changePercent",
        -  "currency",
        -  "marketState",
        -  "sparkline"
        -]New value: +[
        +  "symbol",
        +  "name",
        +  "section",
        +  "price",
        +  "previousClose",
        +  "change",
        +  "changePercent",
        +  "currency",
        +  "marketState"
        +]
      • changedOutput schema / properties / topMovers / properties / losers / items / required
        Previous value: -[
        -  "symbol",
        -  "name",
        -  "section",
        -  "price",
        -  "previousClose",
        -  "change",
        -  "changePercent",
        -  "currency",
        -  "marketState",
        -  "sparkline"
        -]New value: +[
        +  "symbol",
        +  "name",
        +  "section",
        +  "price",
        +  "previousClose",
        +  "change",
        +  "changePercent",
        +  "currency",
        +  "marketState"
        +]
    • Changedget_thread3 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 15,
        +  "description": "Number of most recent chronicle entries",
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • removedOutput schema / properties / history / items / properties / stateOfPlay
        Removed value: -{
        -  "type": "string"
        -}
      • changedOutput schema / properties / history / items / required
        Previous value: -[
        -  "tickAt",
        -  "thesis",
        -  "stateOfPlay",
        -  "changeMagnitude",
        -  "magnitudeReason",
        -  "trigger"
        -]New value: +[
        +  "tickAt",
        +  "thesis",
        +  "changeMagnitude",
        +  "magnitudeReason",
        +  "trigger"
        +]
  6. 9 tool updates
    • Changedget_event5 fields changed
      • addedOutput schema / properties / contentUpdatedAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / explainer
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "durationS": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "durationS"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / film
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "durationS": {
        +          "type": "number"
        +        },
        +        "question": {
        +          "type": "string"
        +        },
        +        "recordedAt": {
        +          "type": "string"
        +        },
        +        "slug": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "format": "uri",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "slug",
        +        "question",
        +        "recordedAt",
        +        "durationS",
        +        "url"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / translations
        Added value: +{
        +  "additionalProperties": {
        +    "format": "uri",
        +    "type": "string"
        +  },
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "title",
        -  "lead",
        -  "summary",
        -  "categoryPath",
        -  "locations",
        -  "mentionedPeople",
        -  "charts",
        -  "sources",
        -  "imageUrl",
        -  "imageSource",
        -  "publishedAt",
        -  "modifiedAt",
        -  "url"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "title",
        +  "lead",
        +  "summary",
        +  "categoryPath",
        +  "locations",
        +  "mentionedPeople",
        +  "charts",
        +  "sources",
        +  "imageUrl",
        +  "imageSource",
        +  "publishedAt",
        +  "modifiedAt",
        +  "contentUpdatedAt",
        +  "url",
        +  "translations",
        +  "explainer",
        +  "film"
        +]
    • Addedget_explainer
    • Addedget_film
    • Addedget_sound_episode
    • Addedlist_explainers
    • Addedlist_films
    • Addedlist_sounds
    • Addedlist_trending_entities
    • Addednews_near
  7. 4 tool updates
    • Changedget_live_moment5 fields changed
      • addedOutput schema / properties / moment / properties / chapterIndex
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / moment / properties / decisionAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / moment / properties / eventOnsetAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / moment / properties / freshnessBand
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / moment / properties / storyId
        Added value: +{
        +  "type": "string"
        +}
    • Addedget_live_story
    • Changedlist_live_moments5 fields changed
      • addedOutput schema / properties / moments / items / properties / chapterIndex
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / moments / items / properties / decisionAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / moments / items / properties / eventOnsetAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / moments / items / properties / freshnessBand
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / moments / items / properties / storyId
        Added value: +{
        +  "type": "string"
        +}
    • Addedlist_live_stories
  8. 14 tool updates
    • Changedfetch1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "metadata": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "modifiedAt": {
        +          "type": "string"
        +        },
        +        "publishedAt": {
        +          "type": "string"
        +        },
        +        "sources": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "source": {
        +                "type": "string"
        +              },
        +              "title": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "format": "uri",
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "title",
        +              "url",
        +              "source"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "publishedAt",
        +        "modifiedAt",
        +        "sources"
        +      ],
        +      "type": "object"
        +    },
        +    "text": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "title",
        +    "text",
        +    "url",
        +    "metadata"
        +  ],
        +  "type": "object"
        +}
    • Changedget_daily_brief1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "charts": {
        +      "items": {},
        +      "type": "array"
        +    },
        +    "executiveSummary": {
        +      "type": "string"
        +    },
        +    "greeting": {
        +      "type": "string"
        +    },
        +    "headline": {
        +      "type": "string"
        +    },
        +    "lead": {
        +      "type": "string"
        +    },
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "category": {
        +            "type": "string"
        +          },
        +          "categoryLabel": {
        +            "type": "string"
        +          },
        +          "content": {
        +            "type": "string"
        +          },
        +          "headline": {
        +            "type": "string"
        +          },
        +          "relatedEventIds": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "category",
        +          "categoryLabel",
        +          "headline",
        +          "content",
        +          "relatedEventIds"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shortHeadline": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "required": [
        +    "greeting",
        +    "headline",
        +    "shortHeadline",
        +    "lead",
        +    "executiveSummary",
        +    "sections",
        +    "charts"
        +  ],
        +  "type": "object"
        +}
    • Changedget_entity1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "desc": {
        +      "type": "string"
        +    },
        +    "imageUrl": {
        +      "type": "string"
        +    },
        +    "mentionCount": {
        +      "type": "number"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "slug": {
        +      "type": "string"
        +    },
        +    "timeline": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "category": {
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "type": "string"
        +          },
        +          "lead": {
        +            "type": "string"
        +          },
        +          "publishedAt": {
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "slug",
        +          "title",
        +          "publishedAt",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "type": {
        +      "enum": [
        +        "person",
        +        "organization"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "wikipedia": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "name",
        +    "type",
        +    "slug",
        +    "url"
        +  ],
        +  "type": "object"
        +}
    • Changedget_event1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "categoryPath": {
        +      "items": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "string"
        +        }
        +      ],
        +      "type": "array"
        +    },
        +    "charts": {
        +      "items": {},
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "imageSource": {
        +      "type": "string"
        +    },
        +    "imageUrl": {
        +      "type": "string"
        +    },
        +    "lead": {
        +      "type": "string"
        +    },
        +    "locations": {
        +      "items": {},
        +      "type": "array"
        +    },
        +    "mentionedPeople": {
        +      "items": {},
        +      "type": "array"
        +    },
        +    "modifiedAt": {
        +      "type": "string"
        +    },
        +    "publishedAt": {
        +      "type": "string"
        +    },
        +    "slug": {
        +      "type": "string"
        +    },
        +    "sources": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "publishDate": {
        +            "type": "string"
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "url",
        +          "source"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "summary": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "format": "uri",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "slug",
        +    "title",
        +    "lead",
        +    "summary",
        +    "categoryPath",
        +    "locations",
        +    "mentionedPeople",
        +    "charts",
        +    "sources",
        +    "imageUrl",
        +    "imageSource",
        +    "publishedAt",
        +    "modifiedAt",
        +    "url"
        +  ],
        +  "type": "object"
        +}
    • Changedget_live_moment1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "moment": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "endedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "importance": {
        +          "type": "number"
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "lastBody": {
        +          "type": "string"
        +        },
        +        "lastStateAt": {
        +          "type": "string"
        +        },
        +        "startedAt": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "enum": [
        +            "live",
        +            "ended"
        +          ],
        +          "type": "string"
        +        },
        +        "title": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "kind",
        +        "status",
        +        "title",
        +        "startedAt"
        +      ],
        +      "type": "object"
        +    },
        +    "sourcesSummary": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "countries": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "totalUrls": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "totalUrls",
        +        "countries"
        +      ],
        +      "type": "object"
        +    },
        +    "states": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "createdAt": {
        +            "type": "string"
        +          },
        +          "importance": {
        +            "type": "number"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "pinned": {
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "kind",
        +          "importance",
        +          "body",
        +          "pinned",
        +          "createdAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "moment",
        +    "states",
        +    "sourcesSummary"
        +  ],
        +  "type": "object"
        +}
    • Changedget_markets1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "change": {
        +      "type": "number"
        +    },
        +    "changePercent": {
        +      "type": "number"
        +    },
        +    "currency": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "dayHigh": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "dayLow": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "exchangeName": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "fiftyTwoWeekHigh": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "fiftyTwoWeekLow": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "history": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "currency": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "points": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "c": {
        +                "type": "number"
        +              },
        +              "t": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "t",
        +              "c"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "range": {
        +          "enum": [
        +            "1d",
        +            "1w",
        +            "1m",
        +            "3m",
        +            "1y",
        +            "5y"
        +          ],
        +          "type": "string"
        +        },
        +        "symbol": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "symbol",
        +        "range",
        +        "points",
        +        "currency"
        +      ],
        +      "type": "object"
        +    },
        +    "marketState": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "open": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "previousClose": {
        +      "type": "number"
        +    },
        +    "price": {
        +      "type": "number"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "sections": {
        +      "additionalProperties": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "change": {
        +              "type": "number"
        +            },
        +            "changePercent": {
        +              "type": "number"
        +            },
        +            "currency": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "marketState": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "previousClose": {
        +              "type": "number"
        +            },
        +            "price": {
        +              "type": "number"
        +            },
        +            "section": {
        +              "type": "string"
        +            },
        +            "sparkline": {
        +              "anyOf": [
        +                {
        +                  "items": {
        +                    "type": "number"
        +                  },
        +                  "type": "array"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "symbol": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "symbol",
        +            "name",
        +            "section",
        +            "price",
        +            "previousClose",
        +            "change",
        +            "changePercent",
        +            "currency",
        +            "marketState",
        +            "sparkline"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "sparkline": {
        +      "anyOf": [
        +        {
        +          "items": {
        +            "type": "number"
        +          },
        +          "type": "array"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "symbol": {
        +      "type": "string"
        +    },
        +    "topMovers": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "gainers": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "change": {
        +                "type": "number"
        +              },
        +              "changePercent": {
        +                "type": "number"
        +              },
        +              "currency": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "marketState": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "previousClose": {
        +                "type": "number"
        +              },
        +              "price": {
        +                "type": "number"
        +              },
        +              "section": {
        +                "type": "string"
        +              },
        +              "sparkline": {
        +                "anyOf": [
        +                  {
        +                    "items": {
        +                      "type": "number"
        +                    },
        +                    "type": "array"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "symbol": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "symbol",
        +              "name",
        +              "section",
        +              "price",
        +              "previousClose",
        +              "change",
        +              "changePercent",
        +              "currency",
        +              "marketState",
        +              "sparkline"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "losers": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "change": {
        +                "type": "number"
        +              },
        +              "changePercent": {
        +                "type": "number"
        +              },
        +              "currency": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "marketState": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "previousClose": {
        +                "type": "number"
        +              },
        +              "price": {
        +                "type": "number"
        +              },
        +              "section": {
        +                "type": "string"
        +              },
        +              "sparkline": {
        +                "anyOf": [
        +                  {
        +                    "items": {
        +                      "type": "number"
        +                    },
        +                    "type": "array"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "symbol": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "symbol",
        +              "name",
        +              "section",
        +              "price",
        +              "previousClose",
        +              "change",
        +              "changePercent",
        +              "currency",
        +              "marketState",
        +              "sparkline"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "gainers",
        +        "losers"
        +      ],
        +      "type": "object"
        +    },
        +    "updatedAt": {
        +      "type": "string"
        +    },
        +    "volume": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_thread1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "changeMagnitude": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "entries": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "citations": {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "domain": {
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "url",
        +                "title",
        +                "domain"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "headline": {
        +            "type": "string"
        +          },
        +          "occurredAt": {
        +            "type": "string"
        +          },
        +          "significance": {
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "occurredAt",
        +          "headline",
        +          "body",
        +          "citations"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "entryCount": {
        +      "type": "number"
        +    },
        +    "history": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "changeMagnitude": {
        +            "type": "number"
        +          },
        +          "magnitudeReason": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "stateOfPlay": {
        +            "type": "string"
        +          },
        +          "thesis": {
        +            "type": "string"
        +          },
        +          "tickAt": {
        +            "type": "string"
        +          },
        +          "trigger": {
        +            "enum": [
        +              "scheduled",
        +              "signal",
        +              "manual"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "tickAt",
        +          "thesis",
        +          "stateOfPlay",
        +          "changeMagnitude",
        +          "magnitudeReason",
        +          "trigger"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "lastTickAt": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "magnitudeReason": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "section": {
        +      "enum": [
        +        "europe",
        +        "world",
        +        "other"
        +      ],
        +      "type": "string"
        +    },
        +    "stateOfPlay": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "thesis": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "weekHighlights": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "section",
        +    "name",
        +    "thesis",
        +    "changeMagnitude",
        +    "magnitudeReason",
        +    "lastTickAt",
        +    "entryCount",
        +    "url",
        +    "stateOfPlay",
        +    "weekHighlights",
        +    "entries"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_categories1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "total": {
        +      "type": "number"
        +    },
        +    "tree": {
        +      "additionalProperties": {},
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "tree",
        +    "total"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_live_moments1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "moments": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "endedAt": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "importance": {
        +            "type": "number"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "lastBody": {
        +            "type": "string"
        +          },
        +          "lastStateAt": {
        +            "type": "string"
        +          },
        +          "startedAt": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "live",
        +              "ended"
        +            ],
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "kind",
        +          "status",
        +          "title",
        +          "startedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "moments"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_threads1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "sections": {
        +      "additionalProperties": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "generatedAt": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "summary": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "summary",
        +          "generatedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "threads": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "changeMagnitude": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "entryCount": {
        +            "type": "number"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "lastTickAt": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "magnitudeReason": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "section": {
        +            "enum": [
        +              "europe",
        +              "world",
        +              "other"
        +            ],
        +            "type": "string"
        +          },
        +          "thesis": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "section",
        +          "name",
        +          "thesis",
        +          "changeMagnitude",
        +          "magnitudeReason",
        +          "lastTickAt",
        +          "entryCount",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "threads",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_top_news1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "categoryPath": {
        +            "items": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "string"
        +              }
        +            ],
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "imageSource": {
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "type": "string"
        +          },
        +          "lead": {
        +            "type": "string"
        +          },
        +          "modifiedAt": {
        +            "type": "string"
        +          },
        +          "publishedAt": {
        +            "type": "string"
        +          },
        +          "shortHeadline": {
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "sourceCount": {
        +            "type": "number"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "slug",
        +          "title",
        +          "shortHeadline",
        +          "lead",
        +          "imageUrl",
        +          "imageSource",
        +          "publishedAt",
        +          "modifiedAt",
        +          "categoryPath",
        +          "sourceCount",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "results"
        +  ],
        +  "type": "object"
        +}
    • Addedrender_news_list
    • Changedsearch1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "title",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "results"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_news1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "related": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "categoryPath": {
        +            "items": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "string"
        +              }
        +            ],
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "imageSource": {
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "type": "string"
        +          },
        +          "lead": {
        +            "type": "string"
        +          },
        +          "modifiedAt": {
        +            "type": "string"
        +          },
        +          "publishedAt": {
        +            "type": "string"
        +          },
        +          "shortHeadline": {
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "sourceCount": {
        +            "type": "number"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "slug",
        +          "title",
        +          "shortHeadline",
        +          "lead",
        +          "imageUrl",
        +          "imageSource",
        +          "publishedAt",
        +          "modifiedAt",
        +          "categoryPath",
        +          "sourceCount",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "categoryPath": {
        +            "items": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "string"
        +              }
        +            ],
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "imageSource": {
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "type": "string"
        +          },
        +          "lead": {
        +            "type": "string"
        +          },
        +          "modifiedAt": {
        +            "type": "string"
        +          },
        +          "publishedAt": {
        +            "type": "string"
        +          },
        +          "shortHeadline": {
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "sourceCount": {
        +            "type": "number"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "slug",
        +          "title",
        +          "shortHeadline",
        +          "lead",
        +          "imageUrl",
        +          "imageSource",
        +          "publishedAt",
        +          "modifiedAt",
        +          "categoryPath",
        +          "sourceCount",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "results",
        +    "related"
        +  ],
        +  "type": "object"
        +}
  9. 13 tool updates
    • First observedfetch
    • First observedget_daily_brief
    • First observedget_entity
    • First observedget_event
    • First observedget_live_moment
    • First observedget_markets
    • First observedget_thread
    • First observedlist_categories
    • First observedlist_live_moments
    • First observedlist_threads
    • First observedlist_top_news
    • First observedsearch
    • First observedsearch_news

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.
    35
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Curated audio-news MCP server. Search trending articles, fetch narrated audio, subscribe topic feeds. OAuth 2.1 + RFC 7591 DCR. Free tier; premium briefings via x402 over stablecoin settlement.
    7
    8 npm
    2
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables MCP clients to retrieve live European technology news from public RSS/Atom feeds, with ranked top stories, regional and topic filtering, keyword search, per-outlet feeds, and operational briefings without API keys.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources