{"serverId":"mcp-registry/com.whatledto/whatledto","tools":[{"name":"get_entry","fixed":{"name":"get_entry","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","id"],"properties":{"id":{"type":"integer","description":"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":{"type":"string","pattern":"^[a-z0-9-]+$","description":"The timeline the entry sits on."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get an entry"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":252,"tokensAfter":252},{"name":"get_party","fixed":{"name":"get_party","description":"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 t","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","pattern":"^[a-z0-9-]+$","description":"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":{"type":"integer","maximum":200,"minimum":1,"description":"Entries to return, newest first (default 40)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get a company, person or regulator"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":297,"tokensAfter":297},{"name":"get_timeline","fixed":{"name":"get_timeline","description":"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).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","description":"Timeline slug, from list_timelines or a page URL (/events/<slug>)."},"limit":{"type":"integer","maximum":200,"minimum":1,"description":"Most recent entries to return (default 60)."},"since":{"type":"string","pattern":"^\\d{4}(-\\d{2}(-\\d{2})?)?$","description":"Only entries dated on or after this day. Pass the updated_at you last saw to get what changed since."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get a timeline"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":246,"tokensAfter":246},{"name":"list_timelines","fixed":{"name":"list_timelines","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"List timelines"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"search_entries","fixed":{"name":"search_entries","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"to":{"$ref":"#/properties/from","description":"Latest entry date to include."},"from":{"type":"string","pattern":"^\\d{4}(-\\d{2}(-\\d{2})?)?$","description":"Earliest entry date to include."},"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Results to return (default 20); total says how many matched."},"party":{"type":"string","pattern":"^[a-z0-9-]+$","description":"Only entries naming this party id."},"query":{"type":"string","maxLength":200,"description":"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":{"$ref":"#/properties/party","description":"Only entries on this timeline slug."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Search entries"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":322,"tokensAfter":322}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}