What Led To
Server Details
Living, source-backed timelines of long-running events, with a quote and source per entry.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct unit (one entry, one timeline, all timelines, one party, keyword search, future dates), and descriptions explicitly clarify boundaries like get_party vs search_entries. Minor residual overlap remains since search_entries accepts a party id and returns essentially the same entries as get_party, plus get_entry vs get_timeline differ only in granularity.
Five of six tools follow a clean verb_noun snake_case pattern (get_entry, get_party, get_timeline, list_timelines, search_entries). Only 'upcoming' breaks the convention as a bare adjective with no verb.
Six tools is well-scoped for a read-only timeline/news research surface. Each tool earns its place: browsing, reading at two granularities, searching, actor history, and forward-looking catalysts.
The surface covers the core research lifecycle: list timelines, read a timeline, read an entry, search, trace one actor, and see upcoming dates. Minor gaps exist, such as no tag/topic browser or explicit tool for exploring cross-timeline relations, though list_timelines exposes tags and links are returned inline.
Available Tools
6 toolsget_entryGet an entryAInspect
One dated entry in full: its summary, type, the parties it names, every source with the outlet, the publication date and the verbatim quote it was read from, plus the relations and cross-timeline links it takes part in. Use it after search_entries or get_timeline has found an entry and you need the exact wording and source URL to cite. Entry ids are unique within a timeline, not across the site, so pass the slug the entry came from.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The entry's id on that timeline: the id field of a search_entries result or a get_timeline node, and the number in a page's #n<id> fragment. | |
| slug | Yes | The timeline the entry sits on. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the return shape plus a genuine behavioral constraint: entry ids are unique within a timeline, not across the site. It does not cover auth needs or rate limits, but for a read-only detail fetch the critical scoping behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the payload description and closed with the usage trigger and scoping caveat. The first sentence is long due to the field enumeration, but every element listed is meaningful and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe the return value — and it does so thoroughly, including source quotes and links. Combined with the id-uniqueness caveat, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: it explains why slug is required alongside id (id uniqueness is per-timeline, not global). That is real semantic value the schema's own 'The timeline the entry sits on' does not fully convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource and then enumerates exactly what 'in full' means: summary, type, parties, sources with outlet, publication date, verbatim quote, relations, and cross-timeline links. That enumeration distinguishes it clearly from search_entries (list-level) and get_timeline (structure-level) siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the trigger: use after search_entries or get_timeline has found an entry and you need exact wording and a source URL to cite. It also names the prerequisite for correct invocation (pass the slug the entry came from), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_partyGet a company, person or regulatorAInspect
Everything the site records about one company, person or regulator across every timeline: its role on each, the parties it most often appears alongside, and every dated entry that names it, newest first, with sources. Use it instead of search_entries when you want one actor's whole history rather than a keyword match. Returns at most limit entries, with total_entries saying how many exist; a party is named when the editors listed it among an entry's parties, not merely when the name appears in the text.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Party id: a lowercase slug such as nvidia, jensen-huang or federal-reserve. search_entries results and timeline entities carry it, and the parties that have a page are listed under parties in /index.json. | |
| limit | No | Entries to return, newest first (default 40). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does substantial work: ordering (newest first), inclusion of sources, the limit/total_entries relationship, and the important retrieval caveat that a party is 'named' only when editors listed it among an entry's parties, not on mere text occurrence. What it doesn't cover, permissions/rate limits or whether the page is ever absent, is minor for what is evidently a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the scope, then the sibling routing rule, then the return/limit caveats; every sentence is load-bearing. The first sentence is long and packs several clauses, which costs a little readability but not enough to be waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the return-value burden and discharges it: entry list, newest-first order, sources, and total_entries vs limit. For a two-parameter read tool this is complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema (id slug format, limit default 40 and max 200), establishing the baseline of 3. The description reinforces the newest-first semantics and total_entries but adds no syntax or format detail the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('everything the site records about one company, person or regulator') and enumerates the scope: role, co-occurring parties, dated entries with sources. It explicitly contrasts with the sibling search_entries, so an agent can distinguish 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit routing rule: 'Use it instead of search_entries when you want one actor's whole history rather than a keyword match.' That names the alternative and the condition that selects it, which is exactly the when-to-use guidance needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timelineGet a timelineAInspect
One timeline in full: TL;DR, dated entries newest first with sources and quotes, relations between entries, links to other timelines, what to watch next and open questions. Pass since=YYYY-MM-DD to get only entries dated on or after that day (what changed recently).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Timeline slug, from list_timelines or a page URL (/events/<slug>). | |
| limit | No | Most recent entries to return (default 60). | |
| since | No | Only entries dated on or after this day. Pass the updated_at you last saw to get what changed since. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full disclosure burden and does substantial work: it enumerates the response contents, states ordering ('newest first'), and explains the since filter's incremental-refresh use case. It stops short of explicitly confirming read-only semantics or what happens for an unknown slug, but the retrieval nature is unambiguous from 'get' and the content inventory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the call returns, and the content list is dense but justified because no output schema exists to carry that information. The since sentence is compact and ends with the motivating use case. Slightly list-heavy, but nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param read tool with no annotations and no output schema, the description covers the response shape and the one non-obvious parameter's intent, which is the information an agent most needs. It lacks explicit read-only confirmation and error behavior for a bad slug, but overall it is complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so slug, limit, and since are all documented in the schema already. The description restates the since semantics with a practical framing ('what changed recently') that mildly reinforces the schema's 'updated_at you last saw' note, but adds no syntax or format detail beyond it, and says nothing about limit or slug. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('One timeline in full') followed by an explicit inventory of what is returned: TL;DR, dated entries, relations, links, watch-next, open questions. This clearly separates it from get_entry (a single entry) and list_timelines (the index), so an agent can route without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one concrete usage pattern for the since filter ('what changed recently'), which is genuinely actionable. However, it never states when to prefer this tool over siblings like get_entry or search_entries, nor any preconditions (e.g., needing a valid slug from list_timelines). Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_timelinesList timelinesAInspect
Every timeline on the site with its topic, tags, entry count, date range, last update and a short summary. Start here to find the slug for get_timeline.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the returned field set and the intended workflow, which is useful. However, it says nothing about ordering, pagination/limits, or cost, so behavioral coverage is only moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned followed by when to use it. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema is empty and there is no output schema, so explaining the returned fields in the description is necessary and done well. Lacking a note on pagination/ordering is a minor gap for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. The description correctly implies an unfiltered listing of every timeline, which is consistent with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (timelines) and enumerates exactly what each record contains (topic, tags, entry count, date range, last update, summary). It also explicitly distinguishes itself from sibling get_timeline by naming it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to use this tool ('Start here to find the slug for get_timeline'), effectively routing between this index-listing tool and the detail-fetching sibling. No ambiguity about ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_entriesSearch entriesAInspect
Find dated entries across every timeline by keywords, party id, timeline slug and date range. Every keyword must match (title, summary, party or timeline name); results are ranked, newest first among equals. Returns the entry text and url; call get_entry for quotes and sources.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Latest entry date to include. | |
| from | No | Earliest entry date to include. | |
| limit | No | Results to return (default 20); total says how many matched. | |
| party | No | Only entries naming this party id. | |
| query | No | Keywords. Every one must match, in the entry's title, summary, a party name or the timeline name; omit it to browse by filter alone. | |
| timeline | No | Only entries on this timeline slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden and does well: it discloses match semantics (every keyword must match, and which fields are searched), ranking order (ranked, newest first among equals), and what comes back (entry text and url). It omits auth/permission requirements and any mention of pagination behavior beyond the schema's limit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler. The primary capability and scope come first, matching semantics second, and the sibling hand-off last — well front-loaded and information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description steps up by describing return content (entry text and url) and the ranking order, and the schema covers defaults and limits. Only minor gaps remain, such as whether results paginate or what happens with large result sets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters in detail, including the keyword-match rule and the browse-by-filter case. The description largely restates that schema content; its only additive element (ranking order) is behavioral rather than parameter-specific, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Find dated entries"), names the scope ("across every timeline"), and enumerates the filter facets. The closing pointer to get_entry cleanly separates this multi-entry search from the single-entry sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a real routing rule ("call get_entry for quotes and sources") plus an operational mode ("omit it to browse by filter alone"). It never states when this tool is the wrong choice for other intents (e.g. browsing timelines or parties), so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upcomingUpcoming datesAInspect
Scheduled dates the timelines are watching — earnings, rulings, launches, rule deadlines — each with why it matters, the timeline it belongs to and a source where one exists. Use it to answer what happens next across the site, rather than reading each timeline for its own catalysts. Returns the dates from today to the horizon, oldest first, echoing back today and horizon; a date known only to the month carries precision=month and is matched on the month.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How far ahead to look, in days from today (default 90). | |
| timeline | No | Only dates belonging to this timeline slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose useful behavior: return ordering (oldest first), default window (today to horizon), echoing back param values, and the month-precision matching semantics. It omits what happens when nothing is scheduled, rate limits, or auth, so it's solid but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource and examples, then the usage and return semantics. It's a bit dense, packing several clauses into sentence two, but every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two optional parameters, no output schema, and no annotations, the description is nearly complete: it covers purpose, usage, ordering, default scope, and precision edge cases. Minor gaps (empty-result behavior, pagination) keep it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining that month-only dates carry precision=month and are matched on the month, and by framing 'today to the horizon' semantics — value the schema doesn't provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('scheduled dates the timelines are watching') with concrete examples (earnings, rulings, launches, rule deadlines) and contrasts its cross-site scope against reading individual timelines. That cross-cutting scope cleanly distinguishes it from siblings like get_timeline and list_timelines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear when-to-use ('to answer what happens next across the site, rather than reading each timeline for its own catalysts'), which implicitly routes the agent away from per-timeline tools. However, it doesn't name a specific sibling alternative or state any explicit exclusion, so it falls short of the 5 bar.
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.
6 tool updates
- First observed
get_entry - First observed
get_party - First observed
get_timeline - First observed
list_timelines - First observed
search_entries - First observed
upcoming
Related MCP Connectors
Sourced history: 85,753 dated events, each quoted from a citable Wikipedia revision id.
Span-grounded audits of how US outlets covered the same story, quotes checkable at the source.
Live world news deduplicated into story events, with corroboration counts and source links.
Grounded, attributed news: what happened, which outlets reported it, and how many covered it.
Related MCP Servers
- AlicenseAqualityAmaintenanceBuilds interactive, filterable timelines from your own materials through an interview process, generating self-contained offline files with optional web publishing and cross-device sync.15Apache 2.0
- AlicenseNot gradedqualityBmaintenanceTurn any link — video, PDF, screenshot, or article — into cached, timestamp-anchored understanding agents can query through lenses (explainer, build spec, teardown, design tokens, production blueprint). Every claim carries the exact second or page it came from.29MIT
- AlicenseNot gradedqualityAmaintenanceEnables agents to query a dated, provenance-backed history distilled from any text stream, turning raw records into observations, bi-temporal facets, and narratives over MCP.8MIT
- AlicenseNot gradedqualityCmaintenanceReal-time news events, clustered by AI from hundreds of sources, classified by topic and geography, ranked by importance.42MIT