Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,544Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:6b6ed037c5773a49b1d73c4ac44b0c408188809458b93a318cbd9fd95e4b7e73
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Tako searches the web and a proprietary knowledge graph of live structured data in the same call. Default sources are data + web, so one call answers a question that mixes a figure with context. Coverage includes finance, markets, company KPIs, economics, website/app traffic, sports, weather, elections, prediction markets, demographics, energy, real estate, health, and more.\n\n`tako_search` finds cards and web links. `tako_contents` fetches a url in full: a web page returns its text, and an exportable Tako card returns its data rows. `tako_available_data` answers what data Tako has on an entity or metric, including a metric's canonical name. `tako_graph_related` lists a node's related metrics, entities, competitors, and sources.", "tools": [ { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "label": { "description": "NER label to prefer for `q` — a boost, not a filter. Set it when you can categorize the term: company → ORG, place → GPE, person → PERSON. It never applies to `metric`.", "enum": [ "PERSON", "ORG", "GPE", "LOC", "PRODUCT", "EVENT", "LANGUAGE", "MONEY", "METRIC", "STOCK_TICKER", "WEBSITE" ], "type": "string" }, "limit": { "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.", "maximum": 20, "minimum": 1, "type": "integer" }, "metric": { "description": "The measure, when you already know it — \"gross margin\", \"capex\". Supplying it resolves the entity+metric pair directly; omit it to browse everything the entity has.", "minLength": 2, "type": "string" }, "q": { "description": "The entity or metric to look up by name — \"Carnival\", \"United States\", \"Nvidia\". Put the measure in `metric`, not here.", "minLength": 2, "type": "string" }, "types": { "description": "Narrow resolution to one kind, an entity or a metric. Omit to resolve both.", "enum": [ "entity", "metric" ], "type": "string" } }, "required": [ "q" ], "type": "object" }, "name": "tako_available_data", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "candidates": { "description": "The other nodes `q` resolved to, best first.", "items": { "additionalProperties": {}, "properties": { "coverage": { "additionalProperties": {}, "properties": { "total": { "type": "number" }, "total_capped": { "description": "`total` is a floor.", "type": "boolean" } }, "required": [ "total", "total_capped" ], "type": "object" }, "id": { "type": "string" }, "kind": { "type": "string" }, "name": { "description": "Canonical graph name — search on this.", "type": "string" }, "type": { "description": "entity or metric; also what `coverage` counts.", "type": "string" } }, "required": [ "id", "name", "type" ], "type": "object" }, "type": "array" }, "entity": { "anyOf": [ { "additionalProperties": false, "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "type": "object" }, { "type": "null" } ], "description": "Lookup path: the resolved entity." }, "entity_candidates": { "description": "Runners-up.", "items": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "type": "object" }, "type": "array" }, "found": { "description": "Whether Tako holds matching data; `verified` says on what evidence.", "type": "boolean" }, "guidance": { "description": "The verdict, and the one next action.", "type": "string" }, "matches": { "description": "The nodes whose coverage was drilled, best first.", "items": { "additionalProperties": {}, "properties": { "aliases": { "items": { "type": "string" }, "type": "array" }, "coverage": { "additionalProperties": {}, "properties": { "items": { "description": "Headline-first.", "items": { "additionalProperties": false, "properties": { "id": { "description": "Graph node id.", "type": "string" }, "name": { "description": "Canonical graph name.", "type": "string" } }, "required": [ "name", "id" ], "type": "object" }, "type": "array" }, "total": { "description": "Entries in all, not entries listed.", "type": "number" }, "total_capped": { "description": "`total` is a floor.", "type": "boolean" }, "truncated": { "description": "More entries exist than are listed.", "type": "boolean" } }, "required": [ "total", "total_capped" ], "type": "object" }, "filter": { "description": "The `metric` phrase that narrowed this list. When set, `total` counts only matching entries.", "type": "string" }, "id": { "type": "string" }, "kind": { "type": "string" }, "name": { "description": "Canonical graph name — search on this.", "type": "string" }, "type": { "description": "entity or metric; also what `coverage` counts.", "type": "string" }, "unavailable": { "type": "boolean" } }, "required": [ "id", "name", "type", "coverage" ], "type": "object" }, "type": "array" }, "metric": { "anyOf": [ { "additionalProperties": false, "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "type": "object" }, { "type": "null" } ], "description": "Lookup path: the resolved metric." }, "metric_candidates": { "description": "Runners-up.", "items": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "type": "object" }, "type": "array" }, "next_call": { "anyOf": [ { "additionalProperties": false, "properties": { "query": { "type": "string" }, "tool": { "type": "string" } }, "required": [ "tool", "query" ], "type": "object" }, { "type": "null" } ], "description": "A follow-up search in canonical names. Null when no target is unambiguous." }, "verified": { "description": "What was checked. `pair`: the metric is on the entity's own list. `coverage`: a list was drilled. `unlinked`: the list was checked, the metric is absent. `resolution`: names resolved only.", "enum": [ "coverage", "pair", "unlinked", "resolution" ], "type": "string" } }, "required": [ "found", "matches", "candidates", "next_call" ], "type": "object" } }, { "description": "Fetch the full content behind a url: a web page's text, or an exportable Tako card's data rows. Batch up to 10 urls in one call — each one is billed and fails on its own.\n\nFetch only cards that `tako_search` marked `exportable: true`. Rows bill per 1,000 delivered, so set `max_rows` when the recent rows are enough. If a page is long, such as a filing or an annual report, set `query` to get back only the passages that match.\n\nBest for: reading one source in full — a page you need to quote, or the rows behind a card you need to compute over.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "max_chars": { "description": "Web pages only: character cap on the extracted text. Inline fetches default to 100,000 per url, less across a batch. Raise it for a long document; `truncated` reports a cut.", "maximum": 1000000, "minimum": 1, "type": "integer" }, "max_rows": { "description": "Tako cards only: how many rows to return. Omit it for the whole card, up to 2,000 rows. Every row delivered is billed, so lower it when the recent rows are enough.", "maximum": 2000, "minimum": 1, "type": "integer" }, "query": { "description": "Web pages only: return the passages around matches of this phrase instead of the whole page. The full page is always scanned, so no match means the phrase isn't there.", "minLength": 1, "type": "string" }, "urls": { "description": "The urls to fetch: a Tako card url or a web result url. One call for 8 urls costs the same as 8 separate calls and saves 7 round trips.", "items": { "minLength": 1, "type": "string" }, "maxItems": 10, "minItems": 1, "type": "array" } }, "required": [ "urls" ], "type": "object" }, "name": "tako_contents", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "results": { "description": "One per requested url, in order.", "items": { "additionalProperties": {}, "properties": { "cost": { "description": "USD billed for this url.", "type": "number" }, "error": { "description": "Why this url alone failed; the others are unaffected.", "type": "string" }, "note": { "description": "What the `query` match found.", "type": "string" }, "rows": { "additionalProperties": false, "description": "Tako cards only: the card's data.", "properties": { "columns": { "description": "Column names, in row order; the unit is in the name.", "items": { "type": "string" }, "type": "array" }, "rows": { "description": "Positional cells; a missing cell is null.", "items": { "items": {}, "type": "array" }, "type": "array" }, "total_rows": { "description": "Rows behind the card, before `max_rows`.", "type": "number" } }, "required": [ "columns", "rows" ], "type": "object" }, "source_url": { "description": "Where a redirect landed.", "type": "string" }, "text": { "description": "Web pages only: the page text.", "type": "string" }, "truncated": { "description": "Part of this payload was cut.", "type": "boolean" }, "url": { "description": "The url this entry is for.", "type": "string" } }, "required": [ "url", "cost" ], "type": "object" }, "type": "array" }, "usage": { "additionalProperties": {}, "description": "What this request cost.", "properties": { "total_cost_usd": { "type": "number" } }, "required": [ "total_cost_usd" ], "type": "object" } }, "required": [ "results", "usage" ], "type": "object" } }, { "description": "Explore what a graph node connects to — its metrics, the entities a metric covers, competitors, industry, index membership, and sources.\n\nTwo modes. Pass `node_id` alone for the map: every relation group with its key, label, total, and its first 3 names. Pass `relation` to page one group, where each item comes back with the id that explores it. Read a key off the map rather than guessing — an unknown key returns an empty group, not an error.\n\nBest for: expanding a node you already resolved. Resolve a name to a node id with `tako_available_data` first. A metric listed here means the graph tracks it, not that a card exists — `tako_search` is the final check.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "cursor": { "description": "Page handle from a previous drilled relation. Omit it for the first page.", "minLength": 1, "type": "string" }, "infer_label": { "description": "Detect labels from `q`. Omit it and the server infers them whenever `q` is set.", "type": "boolean" }, "label": { "description": "NER label to prefer among the related nodes — a boost, not a filter.", "enum": [ "PERSON", "ORG", "GPE", "LOC", "PRODUCT", "EVENT", "LANGUAGE", "MONEY", "METRIC", "STOCK_TICKER", "WEBSITE" ], "type": "string" }, "limit": { "description": "Page size for a drilled relation. Omit it and the server serves 50. Ignored on the map, where every group returns its first 3 names whatever you pass.", "maximum": 100, "minimum": 1, "type": "integer" }, "node_id": { "description": "Public id of the node to explore, as returned by `tako_available_data` or on a `tako_search` card.", "minLength": 1, "type": "string" }, "q": { "description": "Case-insensitive substring filter on names and aliases, one string per call: \"revenue\" matches `Total Revenue` and misses `Sales`. Call once per name variant.", "minLength": 1, "type": "string" }, "relation": { "description": "Relation key to page, taken from the map: metrics, entities, siblings, part_of, members, or a named edge like rel:competes_with. Omit for the map.", "minLength": 1, "type": "string" } }, "required": [ "node_id" ], "type": "object" }, "name": "tako_graph_related", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "node": { "additionalProperties": {}, "properties": { "aliases": { "items": { "type": "string" }, "type": "array" }, "description": { "type": "string" }, "id": { "type": "string" }, "kind": { "type": "string" }, "name": { "description": "Canonical graph name — search on this.", "type": "string" }, "type": { "description": "entity or metric.", "type": "string" } }, "required": [ "id", "type", "name" ], "type": "object" }, "relation": { "anyOf": [ { "additionalProperties": {}, "properties": { "items": { "description": "This page of the group.", "items": { "additionalProperties": {}, "properties": { "id": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "type": "object" }, "type": "array" }, "key": { "description": "Pass back as `relation` to page it.", "type": "string" }, "label": { "type": "string" }, "next_cursor": { "description": "Pass back as `cursor`.", "type": "string" }, "total": { "type": "number" }, "total_capped": { "description": "`total` is a floor.", "type": "boolean" } }, "required": [ "key", "label", "total", "total_capped", "items" ], "type": "object" }, { "type": "null" } ], "description": "The one group you drilled." }, "relations": { "description": "Every group, previewed. The map.", "items": { "additionalProperties": {}, "properties": { "key": { "description": "Pass back as `relation` to page it.", "type": "string" }, "label": { "type": "string" }, "next_cursor": { "description": "Pass back as `cursor`.", "type": "string" }, "preview": { "description": "The group's first 3 names.", "items": { "type": "string" }, "type": "array" }, "total": { "type": "number" }, "total_capped": { "description": "`total` is a floor.", "type": "boolean" } }, "required": [ "key", "label", "total", "total_capped", "preview" ], "type": "object" }, "type": "array" } }, "required": [ "node" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country_code": { "description": "ISO 3166-1 alpha-2 country code for localized results. Omit it and the server uses US. Set it to localize for the user.", "type": "string" }, "locale": { "description": "BCP-47 locale tag for language and formatting. Omit it and the server uses en-US. Set it to localize for the user.", "type": "string" }, "query": { "description": "Natural-language search query (e.g. \"US GDP growth\", \"Intel vs Nvidia revenue\"). Double-quote a multi-word name to keep it one entity (\"tesla motors\" club revenue); an unpaired quote disables quoting. Website-traffic data is keyed by domain — query \"openai.com monthly visits\", not \"OpenAI website visits\".", "minLength": 1, "type": "string" }, "sources": { "default": [ "data", "web" ], "description": "Which corpora to search; default is both. Narrow to [\"data\"] once `tako_available_data` confirms coverage; narrow to [\"web\"] only for news or page text — website traffic is in the data graph.", "items": { "enum": [ "data", "web" ], "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "query" ], "type": "object" }, "name": "tako_search", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "cards": { "description": "The data cards. Fetch an exportable card's rows with tako_contents on its url.", "items": { "additionalProperties": {}, "properties": { "coverage_end": { "description": "Where the DATA ends — use this, not `last_updated`, to judge whether a figure is current. Reduced ISO precision at the series' own granularity (\"2026\", \"2026-06\", \"2026-06-30\"), and it can be in the future on a card with projections.", "type": "string" }, "description": { "description": "Headline value and range — often the answer itself.", "type": "string" }, "exportable": { "description": "true → tako_contents on `url` returns the rows; false → rows are locked, read the headline from `description`.", "type": "boolean" }, "last_updated": { "description": "Date Tako last refreshed this card — NOT where its data ends.", "type": "string" }, "nodes": { "description": "Graph handles — pass ids to tako_graph_related.", "items": { "additionalProperties": {}, "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "name", "type" ], "type": "object" }, "type": "array" }, "relevance": { "description": "Either a 1.0-5.0 score as a string (\"4.5\", 5.0 = exact match) on entitled accounts, or a coarse word (\"High\"). Higher is more relevant in both forms.", "type": "string" }, "source": { "type": "string" }, "title": { "type": "string" }, "total_rows": { "description": "Rows behind `url` (exportable cards only).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "url": { "description": "The card page — the tako_contents handle.", "type": "string" } }, "required": [ "exportable" ], "type": "object" }, "type": "array" }, "guidance": { "description": "Zero-card responses only: what this response is evidence about, and the one next action.", "type": "string" }, "metric_definitions": { "additionalProperties": { "type": "string" }, "description": "What each metric means (unit, basis, caveats), keyed by metric name, deduped across cards.", "propertyNames": { "type": "string" }, "type": "object" }, "source_notes": { "additionalProperties": { "type": "string" }, "description": "What each source is and how it builds its data, keyed by source name.", "propertyNames": { "type": "string" }, "type": "object" }, "usage": { "anyOf": [ { "additionalProperties": {}, "properties": { "total_cost_usd": { "type": "number" } }, "required": [ "total_cost_usd" ], "type": "object" }, { "type": "null" } ], "description": "Cost-plus usage for this request (null when not metered)." }, "web_results": { "description": "Web results.", "items": { "additionalProperties": {}, "properties": { "content": { "additionalProperties": {}, "description": "Page text — only when the request asked for it.", "properties": {}, "type": "object" }, "published": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "snippet": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Passages selected against the query. A ' … ' marks a discontinuity — joined passages or the page's own ellipsis — so never quote across it as one sentence. null → no relevant passage, url still fetchable." }, "source": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" } }, "required": [ "cards", "web_results", "usage" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:6b6ed037c5773a49b1d73c4ac44b0c408188809458b93a318cbd9fd95e4b7e73 | sha256sum