[{"slug":"ZV-2026-0604","server_name":"mcp.tako.com","severity":"breaking","title":"mcp.tako.com: Tool tako_answer was removed.","summary":"[breaking] Tool tako_answer was removed. [safe] Tool tako_contents was added. [safe] Tool tako_graph_related was added. [risky] Description of tako_available_data changed (73% word delta). [risky] Optional field limit was added to tako_available_data; may shift model behaviour. [breaking] Field query was removed from tako_available_data output; consumers reading it will break. [breaking] Field metric_query was removed from tako_available_data output; consumers reading it will break. [breaking] Field entity_alternates was removed from tako_available_data output; consumers reading it will break. [breaking] Field metric_alternates was removed from tako_available_data output; consumers reading it will break. [risky] Field candidates was added to tako_available_data output. [risky] Field entity_candidates was added to tako_available_data output. [risky] Field guidance was added to tako_available_data output. [risky] Field metric_candidates was added to tako_available_data output. [risky] Description of tako_search changed (69% word delta). [breaking] Field count was removed from tako_search input; consumers still sending it may be rejected or silently ignored. [breaking] Field effort was removed from tako_search input; consumers still sending it may be rejected or silently ignored. [breaking] Field strict was removed from tako_search input; consumers still sending it may be rejected or silently ignored. [breaking] Field node_ids was removed from tako_search input; consumers still sending it may be rejected or silently ignored. [breaking] Field preview_rows was removed from tako_search input; consumers still sending it may be rejected or silently ignored. [breaking] Field include_contents was removed from tako_search input; consumers still sending it may be rejected or silently ignored. [risky] Default of locale on tako_search changed \"en-US\" → unset. [risky] Default of country_code on tako_search changed \"US\" → unset. [breaking] Field width was removed from tako_search o","changes":[{"kind":"tool_removed","tool":"tako_answer","detail":"Tool `tako_answer` was removed.","severity":"breaking"},{"kind":"tool_added","tool":"tako_contents","detail":"Tool `tako_contents` was added.","severity":"safe"},{"kind":"tool_added","tool":"tako_graph_related","detail":"Tool `tako_graph_related` was added.","severity":"safe"},{"kind":"description_changed","tool":"tako_available_data","after":"Find what data Tako holds on an entity or a metric, and the canonical name it holds it under.\n\nBest for: coverage questions themselves, or a metric's canonical name before a priced search. Put a company, person, or place in `q` to list the metrics tracked on it; put a metric in `q` to list the entities it covers. Add `metric` when you know the measure — you get the resolved pair and a ready-to-run `next_call`.\n\nSearch on the canonical names it returns, not your own phrasing — `tako_search` matches the graph's names, not yours. A name here means the graph tracks it, not that a card exists. If the follow-up search comes back empty, say Tako has no card for it rather than rephrasing the query. Hand a node id to `tako_graph_related` to see what else connects to it.","before":"Find what proprietary, continuously-updated structured data exists on something — summarized in one call. Free and fast.\n\nAsk it when the question IS coverage: what does Tako have on X, is this measure tracked at all, what is it called. Then build the real question around what comes back.\n\nWorth one call first when you need a measure's EXACT name: resolving a loose phrase to the canonical metric name measurably improves what the priced call retrieves (measured, 9 of 15 pairs).\n\nWorks on an entity (a company, person, or place → the metrics tracked on it, e.g. Tesla) or a metric (→ the entities it is tracked across, e.g. Inflation Rate).\n\nTips:\nKnow the measure? Split it: q=\"Carnival\", metric=\"passenger cruise days\" — you get the entity+metric pair and a runnable next_call in ~0.6s. Only omit `metric` to browse everything an entity has.\nOne metric across many entities → one metric-first call; one entity across many metrics → one entity-first call. The returned coverage list answers all of them at once — never loop one call per name.\nPass `label` when you can categorize the term (company → ORG, country → GPE, person → PERSON).\nEach match lists the exact metric/entity names, and structuredContent.matches[].coverage.items[] pairs each name with its node id. To land on exactly one metric, pin THAT node id alone with strict:true and name the entity in the query text; the call then returns that metric's card or nothing. When the measure is known — you passed `metric`, or `q` named a metric — `next_call` is that follow-up prewritten (query + the metric node + strict) — run it verbatim.\nA broad entity's coverage list is capped, so it can be truncated: treat a name you don't see as UNCONFIRMED rather than absent, and fall back to the web instead of re-calling this tool to double-check.\nThis tool confirms a name EXISTS in the graph; it cannot confirm a chart exists behind it. If next_call returns 0 cards, retry the same query WITHOUT node_ids before concluding Tako has no data — the pin is a hard filter and the data is often held under a sibling node.","detail":"Description of `tako_available_data` changed (73% word delta).","severity":"risky","descriptionDelta":0.7302325581395348},{"kind":"input_property_added","path":"inputSchema.properties.limit","tool":"tako_available_data","after":{"type":"integer","maximum":20,"minimum":1,"description":"How many candidates to resolve for each of `q` and `metric`. Raising it widens what the tool considers, not just what it shows: a deeper metric can become the one `next_call` names."},"detail":"Optional field `limit` was added to `tako_available_data`; may shift model behaviour.","severity":"risky"},{"kind":"output_property_removed","path":"outputSchema.properties.query","tool":"tako_available_data","before":{"type":"string"},"detail":"Field `query` was removed from `tako_available_data` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.metric_query","tool":"tako_available_data","before":{"type":"string"},"detail":"Field `metric_query` was removed from `tako_available_data` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.entity_alternates","tool":"tako_available_data","before":{"type":"array","items":{"type":"object","required":["node_id","name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"node_id":{"type":"string"}},"additionalProperties":false}},"detail":"Field `entity_alternates` was removed from `tako_available_data` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.metric_alternates","tool":"tako_available_data","before":{"type":"array","items":{"type":"object","required":["node_id","name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"node_id":{"type":"string"}},"additionalProperties":false},"description":"Runners-up. The top metric is right ~80% of the time and the top three ~93-95%, so check these before accepting the primary."},"detail":"Field `metric_alternates` was removed from `tako_available_data` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_added","path":"outputSchema.properties.candidates","tool":"tako_available_data","after":{"type":"array","items":{"type":"object","required":["id","name","type"],"properties":{"id":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string","description":"Canonical graph name — search on this."},"type":{"type":"string","description":"entity or metric; also what `coverage` counts."},"coverage":{"type":"object","required":["total","total_capped"],"properties":{"total":{"type":"number"},"total_capped":{"type":"boolean","description":"`total` is a floor."}},"additionalProperties":{}}},"additionalProperties":{}},"description":"The other nodes `q` resolved to, best first."},"detail":"Field `candidates` was added to `tako_available_data` output.","severity":"risky"},{"kind":"output_property_added","path":"outputSchema.properties.entity_candidates","tool":"tako_available_data","after":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"description":"Runners-up."},"detail":"Field `entity_candidates` was added to `tako_available_data` output.","severity":"risky"},{"kind":"output_property_added","path":"outputSchema.properties.guidance","tool":"tako_available_data","after":{"type":"string","description":"The verdict, and the one next action."},"detail":"Field `guidance` was added to `tako_available_data` output.","severity":"risky"},{"kind":"output_property_added","path":"outputSchema.properties.metric_candidates","tool":"tako_available_data","after":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"description":"Runners-up."},"detail":"Field `metric_candidates` was added to `tako_available_data` output.","severity":"risky"},{"kind":"description_changed","tool":"tako_search","after":"Search Tako's data graph and the live web in one call: many results at once, as structured cards plus web results, with the top card rendered inline as a chart.\n\nIt finds data; `tako_contents` fetches it. Each card carries a headline value, node ids, and a url — pass the url to `tako_contents` for rows (`exportable: true` cards) or a web result's full page text. When `exportable` is false the rows are locked — read the headline value from the card's `description`.\n\nBest for: breadth — fan out several narrow queries in parallel. Each query resolves one metric — for one entity, or a comparison set (\"Apple revenue\", \"Nvidia vs AMD gross margin\"); several metrics or topics in one query retrieve poorly. To learn what Tako covers, or a metric's canonical name, run `tako_available_data` first, then search on the canonical name it returns.","before":"Reconnaissance and chart retrieval across the live web and proprietary data: many results at once, returned as structured cards and web links, and the top card auto-renders inline as a chart.\n\nIt locates data — and for `exportable: true` cards it also includes a free 20-row preview by default (`include_contents`) — but a license-gated card carries no rows at all (headline value only, via `description`), and a web result is only a snippet, not a value. For a plain \"what is X\", `tako_answer` is the better-suited tool: one written figure beats parsing a preview table yourself, and reaching here first for that costs an extra round trip that re-sends the whole conversation. To ask it about a card you already have, pin that card's METRIC node id ALONE (the `mt::` entry in its `nodes`) with strict:true — pinning every node id on the card, or omitting strict, does not steer retrieval.\n\nBest for: breadth — fanning out many narrow queries in parallel to see what exists across several entities or metrics; retrieving a chart card when the chart or embed is itself the deliverable; and harvesting node ids and urls to feed `tako_answer` or `tako_contents`. It is cheap and fast, and built for exactly this fan-out.\n\nCoverage spans economics, finance, company KPIs, demographics, sports, markets, weather, elections, prediction markets, website/app traffic, real estate, energy, health, and more — metrics that sound web-only (e.g. SimilarWeb-style website traffic) are in the data graph.\n\nEach query resolves one entity + one metric (\"Apple revenue\", \"Nvidia vs AMD gross margin\"); broad or compound queries (\"today's sports + odds\") retrieve poorly. When the question is what Tako covers, or you need a metric's exact name, run `tako_available_data` (free) instead of guessing here.\n\nData and web come back together — treat them as one result, not an either/or. Returns: `cards` (up to `count`) with preview rows and chart URLs, plus `web_results`. To read a web result in full, call `tako_contents` on its url (web urls are always fetchable; a card's full csv needs `exportable: true`).\n\nNon-exportable cards (`exportable: false`, usually license-gated) return no rows: read the headline value from the card's `description` when it carries one, or get specific figures via `tako_answer` — pin that card's METRIC node id ALONE (the `mt::` entry in its `nodes`) with strict:true — pinning every node id on the card, or omitting strict, does not steer retrieval (each such card carries a `values_hint` saying exactly this).\n\nResults arrive as a markdown document: a Tako Data section (per card: headline, exportable flag, node ids, chart link, a rows-count pointer), then Web Results, then source notes. The cards' actual rows and the web results' snippets ride in structuredContent (cards[].content, web_results[].snippet), not the markdown, alongside machine essentials (usage, chart-widget fields).","detail":"Description of `tako_search` changed (69% word delta).","severity":"risky","descriptionDelta":0.6875},{"kind":"input_property_removed","path":"inputSchema.properties.count","tool":"tako_search","before":{"type":"integer","default":10,"maximum":20,"minimum":1,"description":"Maximum number of results to return per source (1-20)."},"detail":"Field `count` was removed from `tako_search` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.effort","tool":"tako_search","before":{"enum":["fast","instant"],"type":"string","description":"Search effort: \"fast\" (default) or \"instant\" (fastest, serves cached embeds as-is). Omit for fast."},"detail":"Field `effort` was removed from `tako_search` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.strict","tool":"tako_search","before":{"type":"boolean","default":false,"description":"Hard filter. When true, return ONLY cards matching at least one node in node_ids (which must then be non-empty — empty node_ids + strict is a 400). When false (default), pinned nodes are preferred/boosted but organic results still return."},"detail":"Field `strict` was removed from `tako_search` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.node_ids","tool":"tako_search","before":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Graph node ids (from tako_available_data, or a card's nodes) to PIN into the proprietary data source. Pinned nodes get a strong retrieval boost. Max 20. Applies only to the 'data' source."},"detail":"Field `node_ids` was removed from `tako_search` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.preview_rows","tool":"tako_search","before":{"type":"integer","default":20,"maximum":250,"minimum":1,"description":"Cap on the rows of each card's data inlined when include_contents is true — always the N MOST-RECENT rows (default 20, the free inline allowance the server ships; values above your account's allowance have no effect). Lower it to trim context on broad fan-outs. For MORE than 20 rows, call tako_contents on the card's url (max_rows up to 2,000 — first 20 free, priced beyond). Ignored when include_contents is false."},"detail":"Field `preview_rows` was removed from `tako_search` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.include_contents","tool":"tako_search","before":{"type":"boolean","default":true,"description":"Inline each Tako card's data preview (default true; preview_rows sets how many rows). Set false — pointers-only, no rows — for large parallel fan-outs or when coverage is unconfirmed (no prior tako_available_data check). DATA source only; web page text is never auto-inlined (billed per page — use tako_contents). Full export is a separate tako_contents call, only for cards marked `exportable: true`."},"detail":"Field `include_contents` was removed from `tako_search` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"default_changed","path":"inputSchema.properties.locale","tool":"tako_search","before":"en-US","detail":"Default of `locale` on `tako_search` changed \"en-US\" → unset.","severity":"risky"},{"kind":"default_changed","path":"inputSchema.properties.country_code","tool":"tako_search","before":"US","detail":"Default of `country_code` on `tako_search` changed \"US\" → unset.","severity":"risky"},{"kind":"output_property_removed","path":"outputSchema.properties.width","tool":"tako_search","before":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Field `width` was removed from `tako_search` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.height","tool":"tako_search","before":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Field `height` was removed from `tako_search` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.pub_id","tool":"tako_search","before":{"type":"string"},"detail":"Field `pub_id` was removed from `tako_search` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.dark_mode","tool":"tako_search","before":{"type":"boolean"},"detail":"Field `dark_mode` was removed from `tako_search` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.embed_url","tool":"tako_search","before":{"type":"string","pattern":"^https?:\\/\\/"},"detail":"Field `embed_url` was removed from `tako_search` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.image_url","tool":"tako_search","before":{"type":"string","pattern":"^https?:\\/\\/"},"detail":"Field `image_url` was removed from `tako_search` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_added","path":"outputSchema.properties.metric_definitions","tool":"tako_search","after":{"type":"object","description":"What each metric means (unit, basis, caveats), keyed by metric name, deduped across cards.","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"detail":"Field `metric_definitions` was added to `tako_search` output.","severity":"risky"},{"kind":"output_property_added","path":"outputSchema.properties.source_notes","tool":"tako_search","after":{"type":"object","description":"What each source is and how it builds its data, keyed by source name.","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"detail":"Field `source_notes` was added to `tako_search` output.","severity":"risky"}],"published_at":"2026-09-01T19:07:09.260Z"}]