Tako

Dados Confiáveis e Pesquisa na Web

Documentação

Servidor MCP Tako

Full Documentation MCP Registry Smithery LobeHub License: MIT Benchmarks: +21% on VerticalRTK

O Tako MCP oferece ao seu agente busca na web ao vivo de nível profissional, além de dados licenciados que a web aberta não possui. Isso inclui dados financeiros de empresas, indicadores macroeconômicos, tráfego de sites e aplicativos, esportes, gastos do governo dos EUA e muito mais.

Documentação completa · Obtenha sua chave de API · Registro MCP

O Tako MCP permite que um agente:

  • Pesquise o grafo de conhecimento da Tako e a web ao vivo — o principal resultado é renderizado inline como um gráfico, e o tako_contents lê as linhas por trás dele
  • Descubra exatamente quais dados proprietários existem para uma entidade ou métrica — gratuito e rápido
  • Busque as linhas subjacentes (JSON) ou o texto de uma página por trás de qualquer URL de resultado
  • Visualize seus próprios dados estruturados como um cartão incorporável — público e permanente, legível por qualquer pessoa com o link (opt-in; ativado por padrão no aplicativo ChatGPT)
  • Execute o Agente de Respostas da Tako para pesquisas profundas e multi-etapas (opt-in)

Por que uma API de busca nativa de dados? No benchmark VerticalRTK da Tako para perguntas de domínio em tempo real (finanças, economia, esportes, clima), a Tako supera a próxima melhor API de busca na web em 21% — enquanto usa ~75% menos chamadas de ferramentas com até um décimo do custo, e responde tarefas de pesquisa em 15,5s vs 124,2s para a busca na web da OpenAI. Ela alcança paridade com Exa, Parallel, Nimble e Tavily em benchmarks web padrão (SimpleQA, FRAMES) e se destaca onde dados estruturados em tempo real importam. Leia as avaliações →

Instalação

Aponte seu cliente MCP para o endpoint hospedado — sem instalação, sem servidor local, sem token:

https://mcp.tako.com/mcp

Cole a URL. Faça login quando seu cliente solicitar — uma chave por host é gerada automaticamente, e novas contas recebem até 2.000 solicitações gratuitas. Até você fazer login, a conexão funciona anonimamente: o tako_search funciona imediatamente (com limite de taxa), e todas as outras ferramentas — listadas como todo o resto — solicitam login quando chamadas. Para CI, uso headless ou um cliente sem fluxo OAuth, conecte-se com uma chave de API — veja chaves de API e clientes headless.

Instalação com um clique

Install in Cursor Install in VS Code Install in VS Code Insiders

O Claude Code instala com um único comando — o plugin traz a conexão MCP além das habilidades de pesquisa incluídas da Tako:

claude plugin marketplace add TakoData/tako-mcp && claude plugin install tako@tako

O Gemini CLI instala como uma extensão. Mesmo comando único, mesmas habilidades incluídas, além dos comandos /data, /chart e /coverage:

gemini extensions install https://github.com/TakoData/tako-mcp

Cada um desses entra no nível gratuito imediatamente. Autentique-se depois para desbloquear o conjunto completo de ferramentas — veja a seção do seu cliente abaixo.

Escolha seu cliente abaixo.

Claude Code

Plugin (recomendado) — instala a conexão MCP além das habilidades de pesquisa incluídas da Tako em uma única etapa, e funciona imediatamente no nível gratuito — sem necessidade de gerar ou gerenciar chave de API:

claude plugin marketplace add TakoData/tako-mcp
claude plugin install tako@tako

Isso é tudo — o tako_search funciona imediatamente no nível gratuito anônimo. Para desbloquear o conjunto completo de ferramentas e seus próprios limites de conta, autentique-se uma vez com OAuth: execute /mcp dentro do Claude Code, selecione tako e escolha Autenticar. Um navegador abre para você fazer login com sua conta Tako e uma chave de API por host é gerada automaticamente para você (visível e revogável em tako.com/console/api-keys). O mesmo fluxo OAuth alimenta o plugin no Claude.ai — o conector Tako do plugin conecta com um clique, sem colar token.

Se você adicionou o servidor anteriormente com claude mcp add, remova-o primeiro (claude mcp remove tako-mcp) para não acabar com duas cópias de cada ferramenta.

Atualizando de uma versão anterior do plugin? Versões mais antigas pediam uma chave de API Tako na configuração do plugin; essa configuração não existe mais, então após atualizar sua conexão cai silenciosamente no nível anônimo (tako_search executa; o resto pede login) — nada gera erro, mas seus limites de conta não estão mais ativos. Execute /mcp → tako → Autenticar uma vez (ou use o botão Conectar no Claude.ai) para restaurar o acesso autenticado completo.

Ou adicione o servidor MCP diretamente (depois autentique no local via /mcp → tako → Autenticar):

claude mcp add tako --transport http https://mcp.tako.com/mcp

Verifique com claude mcp list (deve mostrar tako conectado) ou /mcp dentro de uma sessão.

Cursor

Use o selo de um clique acima, ou adicione ao ~/.cursor/mcp.json — o Cursor solicita login no primeiro uso:

{
  "mcpServers": {
    "tako": {
      "type": "http",
      "url": "https://mcp.tako.com/mcp"
    }
  }
}
Windsurf

Adicione à configuração MCP do seu Windsurf — o Windsurf solicita login no primeiro uso:

{
  "mcpServers": {
    "tako": {
      "type": "http",
      "url": "https://mcp.tako.com/mcp"
    }
  }
}
VS Code

Adicione ao .vscode/mcp.json (workspace) ou ao seu mcp.json de usuário — o VS Code solicita login no primeiro uso:

{
  "servers": {
    "tako": {
      "type": "http",
      "url": "https://mcp.tako.com/mcp"
    }
  }
}
Gemini CLI

Extensão (recomendada) instala em um único comando e funciona imediatamente no nível gratuito, sem necessidade de gerar ou gerenciar chave de API:

gemini extensions install https://github.com/TakoData/tako-mcp

Isso instala a conexão MCP, as habilidades de pesquisa incluídas da Tako e três comandos:

ComandoO que faz
/data <question>A resposta, com citações, em dados proprietários e na web completa, já que o sources usa ambos por padrão. Um tako_search estreito (com linhas) para um valor específico, buscas paralelas para algo amplo
/chart <question>A série como gráfico, com o link de incorporação Abrir no Tako
/coverage <entity or metric>O que o grafo proprietário tem, antes de você gastar uma chamada. O tako_available_data é gratuito, e um erro lá ainda deixa a busca na web

Para desbloquear o conjunto completo de ferramentas e seus próprios limites de conta, autentique-se uma vez: execute /mcp auth tako dentro do Gemini CLI. Um navegador abre para você fazer login com sua conta Tako, e uma chave de API por host é gerada automaticamente para você (visível e revogável em tako.com/console/api-keys).

Configuração manual: se preferir não instalar a extensão, ou quiser fixar uma lista de permissões ?tools=, adicione ao ~/.gemini/settings.json (autentique depois com /mcp auth tako):

{
  "mcpServers": {
    "tako": {
      "httpUrl": "https://mcp.tako.com/mcp"
    }
  }
}

Para usar uma chave de API, adicione um bloco headers com "Authorization": "Bearer <key>" — mas preencha-o completamente: o Gemini substitui referências ${VAR} não definidas literalmente, e um cabeçalho Authorization malformado é rejeitado em vez de ignorado, então um token pela metade quebra a conexão onde nenhum token teria funcionado.

OpenCode

Adicione ao opencode.json — o OpenCode solicita login no primeiro uso:

{
  "mcp": {
    "tako": {
      "type": "remote",
      "url": "https://mcp.tako.com/mcp",
      "enabled": true
    }
  }
}
Codex CLI

O Codex conecta-se a servidores remotos através da ponte mcp-remote, que executa o fluxo de login no seu navegador na primeira conexão:

[mcp_servers.tako]
command = "npx"
args = ["-y", "mcp-remote", "https://mcp.tako.com/mcp"]
Zed

Adicione ao settings.json do Zed (via ponte mcp-remote, que executa o fluxo de login no seu navegador na primeira conexão):

{
  "context_servers": {
    "tako": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.tako.com/mcp"]
    }
  }
}
Claude.ai, Claude Desktop e ChatGPT (OAuth — sem necessidade de token)

Os hosts de chat para consumidores não aceitam tokens Bearer. O claude_desktop_config.json só valida servidores stdio, então uma entrada "type": "http" remota lá é silenciosamente descartada — o Claude Desktop conecta-se através de Conectores como o Claude.ai. O endpoint hospedado executa um fluxo OAuth 2.1 que faz login com sua conta Tako e gera uma chave por host automaticamente para você.

Pré-requisitos: apenas faça login em tako.com com a identidade que você autorizará. Você não gera um token — o fluxo de consentimento cria uma chave por host (nomeada MCP: <client>, visível e revogável em tako.com/console/api-keys). Conectar um novo host nunca rotaciona a chave de outro host; a Tako remove sua chave MCP mais antiga após dez.

tako.com API keys

Claude.ai (requer Pro, Max, Team ou Enterprise)

  1. Abra Claude.ai → Configurações → Conectores
  2. Clique em Adicionar conector personalizado
  3. Cole https://mcp.tako.com/mcp e clique em Conectar
  4. Complete o fluxo de login da Tako; Tako então aparece como conectado

Claude.ai Settings → Connectors

Claude Desktop (mesmo requisito de plano que o Claude.ai)

  1. Abra Claude Desktop → Configurações → Conectores
  2. Clique em Adicionar conector personalizado
  3. Cole https://mcp.tako.com/mcp e clique em Conectar
  4. Complete o fluxo de login da Tako; Tako então aparece como conectado

ChatGPT — instale o aplicativo Tako do diretório de aplicativos do ChatGPT (ele conecta via OAuth e usa a superfície do aplicativo em https://mcp.tako.com/mcp/chatgpt). Para adicioná-lo manualmente como conector personalizado (requer Pro, Business ou Enterprise; Modo Desenvolvedor ativado):

  1. Abra ChatGPT → Configurações → Conectores → Modo Desenvolvedor e ative-o
  2. Clique em Criar conector personalizado
  3. Cole https://mcp.tako.com/mcp/chatgpt e clique em Conectar
  4. Complete o fluxo de login da Tako; o conector então é listado e pronto

A superfície /mcp/chatgpt é somente OAuth e ajustada para o ChatGPT (widget de gráfico interativo, uma listagem fixa de cinco ferramentas; ?tools= é ignorado lá). A URL genérica /mcp também funciona lá — você recebe imagens de gráfico em vez do widget interativo.

ChatGPT connector connected

Durante a conexão, você verá três telas hospedadas pela Tako independentemente do host: uma página de login (Google, ou seu e-mail e senha Tako), uma página de consentimento ("Conectar [host] ao Tako — Permitir / Cancelar"), e então um retorno ao host. O host pode mostrar seu próprio prompt de consentimento também — isso é normal.

mcp.tako.com sign-in mcp.tako.com consent

Desconectando. Uma desconexão por host (remover o conector nas configurações do host) interrompe apenas aquele host; outros hosts e clientes com autenticação Bearer continuam funcionando. Para encerrar tudo de vez, rotacione sua chave em tako.com/console/api-keys — toda concessão emitida anteriormente em todos os hosts para de autenticar imediatamente.

Endpoints:

AmbienteURL
Produçãohttps://mcp.tako.com/mcp
Produção, superfície do aplicativo ChatGPT (somente OAuth)https://mcp.tako.com/mcp/chatgpt
Staging (somente testes)https://mcp.staging.tako.com/mcp

As ferramentas são descobertas automaticamente via handshake MCP tools/list, então seu cliente sempre vê a superfície ao vivo. A autenticação é no nível da conexão — uma vez conectado, as entradas das ferramentas não precisam de argumento api_token.

Chaves de API e clientes headless

O login é o caminho padrão, mas algumas configurações precisam de uma chave na configuração: CI e outras execuções headless, Roo Code, Warp e mcp-remote fixado a uma identidade específica. Obtenha sua chave de API e envie-a como cabeçalho Bearer na mesma URL:

// any config-file client
{
  "mcpServers": {
    "tako": {
      "type": "http",
      "url": "https://mcp.tako.com/mcp",
      "headers": { "Authorization": "Bearer <your-tako-api-key>" }
    }
  }
}

Uma chave conecta exatamente como OAuth — mesmas ferramentas, mesmos limites de conta. Rotacionar a chave no console encerra toda conexão que a utiliza.

Ferramentas disponíveis

A referência completa — cada descrição e parâmetro exatamente como o modelo os vê, por superfície — é gerada em docs/TOOLS.md. Resumo:

Listadas por padrão no /mcp:

FerramentaPara que serve
tako_searchEncontre os dados. Busca rápida no grafo curado do Tako e na web ao vivo. Quatro parâmetros — query, sources, country_code, locale — e sem padrões próprios, então um campo omitido assume o da API. Os cards trazem valores de destaque, IDs de nós e links de gráficos; tako_contents lê as linhas. O primeiro resultado é renderizado inline como um gráfico com um link Abrir no Tako. Paralelize perguntas amplas em buscas estreitas de entidade única + métrica.
tako_available_dataDescubra quais dados estruturados existem sobre uma entidade ou métrica em uma única chamada gratuita — o nome exato da métrica para buscar, um id para travessia do grafo e um next_call pronto para executar. Nomes ambíguos retornam candidatos com um kind; metric também funciona como filtro de navegação por substring; limit amplia a lista de candidatos.
tako_contentsBusca o que está por trás das URLs de resultado (1–10 por chamada): as linhas de um card (cobradas por 1 mil linhas) ou o texto de uma página web — defina query como uma pergunta para obter apenas as passagens que a respondem. Requer uma conexão autenticada.
tako_graph_relatedExplore um nó do grafo: um mapa (chave de cada relação, total, três primeiros nomes) ou uma relação paginada — métricas, as entidades cobertas por uma métrica, concorrentes (rel:competes_with), associações, fontes. q é um filtro por substring. Gratuito.

Conexões anônimas (sem credenciais): a lista de ferramentas é a mesma — ela nunca muda com o estado de autenticação. tako_search é executado anonimamente (com limite de taxa, em capacidade compartilhada); as demais respondem com instruções de login.

Ao conectar, o servidor também anuncia instruções do servidor MCP que hosts como Claude.ai, Claude Desktop e Claude Code colocam no prompt de sistema do modelo. Elas direcionam perguntas de dados e métricas para tako_search antes da busca web integrada do host, e observam que tako_search também cobre a web ao vivo, então uma única chamada pode substituir uma busca web separada em perguntas mistas. A busca web integrada continua sendo o fallback para consultas fora da cobertura do Tako.

Opt-in no /mcp — nomeie-os em ?tools=:

FerramentaTokenPara que serve
tako_search_advancedsearch_advancedO corpo completo da requisição de busca v3: count por fonte, linhas inline e max_rows, pins de grafo (node_ids + strict), include_domains / exclude_domains / category / snippet_max_chars / published_after / published_before da web, location, timezone, include_related e effort: deep. Defina include_answer: true para uma resposta sintetizada com citações (e output_schema para preencher um JSON Schema a partir das mesmas evidências). Mesmo payload estruturado do tako_search, sem o gráfico inline renderizado automaticamente — embed_url ainda está lá para clicar.
tako_agentagentO Agente de Respostas do Tako: pesquisa em várias etapas (~30–90s) em múltiplas recuperações, retornando uma resposta sintetizada além de cards de gráficos.
tako_visualizevisualizeCrie um card do Tako a partir do seu próprio components digitado (séries temporais, barras, tabelas, caixas financeiras…). Ele PUBLICA: o card é público, permanente e legível por qualquer pessoa com o link. Ativado por padrão no /mcp/chatgpt, o host que renderiza o widget inline.

?tools= é uma allowlist que substitui os padrões. ?tools=search,contents lista exatamente esses dois; ?tools=agent lista apenas tako_agent. Tokens são nomes de ferramentas com o prefixo tako_ opcional. Tokens desconhecidos são ignorados, e um parâmetro que não nomeia nada resulta nos padrões, então um erro de digitação nunca quebra a conexão. Inclua os padrões nos quais você confia:

claude mcp add tako --transport http "https://mcp.tako.com/mcp?tools=search,available_data,contents,graph_related,agent"
  • Conectores Claude.ai, Claude Desktop, modo desenvolvedor do ChatGPT: coloque o parâmetro na URL que você cola. O OAuth não é afetado (o servidor canonicaliza o recurso, incluindo a query string).
  • Plugin do Claude Code: o plugin fixa a superfície padrão (a URL dele não é editável pelo usuário). Para um conjunto diferente, adicione o servidor você mesmo com claude mcp add como acima, e mantenha apenas uma conexão Tako ativa para não ter duas cópias de cada ferramenta.
  • /mcp/chatgpt ignora ?tools=: a listagem dele é fixa no envio — tako_search, tako_available_data, tako_contents, tako_visualize, tako_graph_related.
Obtendo valores vs. obtendo ponteiros

Duas ferramentas, um passo de distância — tako_search encontra, tako_contents busca:

Você quer…ChameO que você recebe
Ver o que existe — reconhecimento, fan-outs, um gráfico para incorporartako_searchCards com valores de destaque, IDs de nós e links de gráficos, além de resultados web. Barato; seguro para paralelizar amplamente.
Os valores em si — linhas para calcular ou citartako_contents na URL do cardAté 2.000 linhas de um card exportable: true, cobradas por 1 mil entregues.
O texto de uma página webtako_contents na URL do resultado webO texto extraído da página (defina query como uma pergunta para obter apenas as passagens que a respondem).
Mais opções de busca — contagens por fonte, pins de grafo, filtros de domínio, effort: deeptako_search_advanced (opt-in, ?tools=search_advanced)O mesmo payload estruturado do tako_search. Sem renderização de gráfico inline — a resposta ainda carrega embed_url.
  • Perguntas amplas ou de múltiplas partes → buscas estreitas em paralelo. Decomponha em consultas de entidade única + métrica disparadas simultaneamente — ex.: "inflação do CPI dos EUA", "inflação do CPI núcleo dos EUA", "inflação do PCE dos EUA" — e depois sintetize você mesmo.
  • Não sabe o que o Tako cobre → tako_available_data primeiro. É gratuito, retorna o nome exato da métrica para buscar, e se não houver resultado ainda resta a busca web.
Fluxos de exemplo

Pergunta específica → busca e depois busca as linhas:

  1. O usuário pergunta: "Qual foi o PIB dos EUA em 2024?"
  2. O agente chama tako_search; o primeiro card traz o valor de destaque e o gráfico dele
  3. Para a série em si, o agente chama tako_contents na URL desse card e responde com o gráfico inline

Dados para trabalhar → tako_search em paralelo (sintetize você mesmo):

  1. O usuário pergunta: "Compare a inflação do CPI, CPI núcleo, PCE e PCE núcleo dos EUA."
  2. O agente dispara quatro chamadas estreitas de tako_search simultaneamente — uma por entidade + métrica
  3. Cada uma retorna um card com valores de destaque (o primeiro resultado é renderizado inline como um gráfico)
  4. O agente sintetiza os quatro resultados, chamando tako_contents no url de um card se precisar das linhas completas (quando o card é exportable: true)

Habilidades do Agente

Habilidades prontas para uso no Claude Code. Cada uma ensina o Claude a usar o Tako para um tipo específico de trabalho com dados. Copie o bloco dentro de um dropdown e cole no Claude Code — ele configura a conexão e a habilidade para você.

Pesquisa Financeira

Copie o bloco abaixo e cole no Claude Code. Ele configurará a conexão MCP e a habilidade para você.

Step 1: Install or update Tako MCP

If Tako MCP already exists in your config, update it to this endpoint. Run this in your terminal:

claude mcp add tako-mcp --transport http "https://mcp.tako.com/mcp" --header "Authorization: Bearer $TAKO_API_TOKEN"


Step 2: Add this Claude skill

---
name: tako-financial-research
description: >-
  Use when the user asks what a company's financial metric is or was (revenue, margins, EPS, cash flow, valuation, stock price, analyst estimates), compares companies on a metric, asks who a company competes with or what data exists on it, or wants a financial chart — including private companies and crypto spot prices. Returns the figures as structured, citation-backed data from Tako (S&P Global, Fiscal.ai, Visible Alpha, Xignite and others), each with a chart. Company-level data only, not country indicators or website traffic.
---

# Financial Research (Tako)

Tako serves company financials as structured, cited data: each result is a card carrying the headline value, the underlying rows, and a chart of the series. All tools below live on the Tako MCP server installed in Step 1. The tool descriptions and every result already carry the card fields, the `sources` guidance and the zero-card recovery; this skill covers how to shape a financial query, how to check a card against the question, and how to report.

## Workflow

1. **Query as ENTITY + METRIC**: `"Nvidia revenue"`, `"Tesla free cash flow"`, with `quarterly` or `annual` to steer the period. When the user wants several metrics or companies, run one call per pair in parallel: each answer then comes back as its own card, and the checks below apply cleanly to each.
2. **Call `tako_search`** with the default sources. Web results carry the qualitative half and the facts the graph doesn't hold (earnings dates, management commentary, companies with no filings or coverage).
3. **Check the top card against the question** with the list below. The top card renders inline automatically; if a different card is the right one, link its title to its `url` and say so.
4. **Read the figure from the card's `description`.** Fetch the series with `tako_contents` on the card's `url` only when you need the rows, such as to compute a growth rate, ratio or change yourself: search retrieves reported values and derives nothing. A locked card (`exportable: false`) is a licensing wall, not an error: quote the headline and stop.
5. **Zero cards?** Follow the recovery the result states, and keep to two priced searches per question. Empty means Tako doesn't cover it, not that the fact is false: no dividend card is not "pays no dividend".
6. **Ambiguous entity?** `"Costco"` resolves to Costco Wholesale Corporation and Costco Wholesale Australia; `"Coca-Cola"` to four listed companies. If the user's intent doesn't settle it, ask before quoting a number.
7. **Discovery asks** ("who does Nvidia compete with", "what does Tako track for Tesla", "Nvidia's acquisitions")? Resolve the entity with `tako_available_data` to get its node id, then call `tako_graph_related` on it. The first call returns the relation map with counts (`rel:competes_with`, `rel:subsidiaries`, `rel:acquisitions`, `metrics`, `sources`); pass `relation` to page one and `q` to filter it, then search on the names it returns.

## Checking a card against the question

Search ranks on relevance to the words, and financial vocabulary is dense: the same query can match a level and a rate, a segment and the total, an actual and an estimate. Before quoting, confirm:

1. **Metric.** The title names the metric asked for, not an overview of several. Overview cards ("Earnings & Estimates Overview", "Ratios Overview", "Stock Overview") summarize many metrics and lead with estimate-vs-actual; use one only when the question is that broad.
2. **Scope.** The card is company-wide unless a segment or geography was asked for. Segment cards exist for every line the company reports, so they can match the same words. If only a segment card exists, say so; never pass a segment off as the total.
3. **Unit.** A rate query can match the level (operating income vs operating margin). Confirm the unit in `description`.
4. **Reported or estimate, as asked.** Analyst-estimate and consensus cards match plain metric queries, and a future `coverage_end` is how you spot one. Both are financial data: quote the estimate when the question is about forecasts or consensus and label it so; otherwise take the reported card.
5. **Entity.** `nodes` names the company asked about; related listed entities share names. Some cards (Fiscal.ai charts, Stock and Ratios Overviews) carry no nodes; fall back to the title there.

## Comparisons

- A two-series comparison card exists for many pairs but not all; some pairs return two single-entity cards. Treat a card as a comparison only if every compared entity appears in its `nodes` or title; otherwise synthesize from the per-entity cards. Comparisons default to annual; say `quarterly` for quarterly.
- A cross-currency pair plots both series on one axis unnormalized. State each currency and convert before comparing; never present the raw chart as like-for-like.
- Period labels are calendar-normalized (a September fiscal year-end shows as Dec 31). Flag the normalization when the fiscal period matters.

## Output

1. One or two lines on the finding, referencing the chart in prose. Never re-post the image URL: it double-renders the inline chart.
2. Source name and `coverage_end` date. Cite the source the card names; it varies by metric. Say plainly when a figure came from a web result rather than a card.
3. One `[Open in Tako](url)` link for the card you embedded.

Step 3: Ask the user to restart Claude Code

Ask the user to restart Claude Code so the config change takes effect.
Tráfego de Site & App

Copie o bloco abaixo e cole no Claude Code. Ele configurará a conexão MCP e a habilidade para você.

Step 1: Install or update Tako MCP

If Tako MCP already exists in your config, update it to this endpoint. Run this in your terminal:

claude mcp add tako-mcp --transport http "https://mcp.tako.com/mcp" --header "Authorization: Bearer $TAKO_API_TOKEN"


Step 2: Add this Claude skill

---
name: tako-web-traffic
description: >-
  Use when the user asks how much traffic a website gets, compares sites' visits, wants a top-sites ranking, asks which sites compete with a brand for attention, or asks about an app's monthly active users — including when they name the brand rather than the domain ("how much traffic does Netflix get"). Returns SimilarWeb figures as structured, citation-backed data from Tako, each with a chart. Not for company financials such as subscribers or revenue.
---

# Web & App Traffic (Tako)

Tako serves SimilarWeb traffic data as structured, cited data: each result is a card carrying the headline value and a chart of the series. All tools below live on the Tako MCP server installed in Step 1. The tool descriptions and every result already carry the card fields, the `sources` guidance and the zero-card recovery; this skill covers how to shape a traffic query, how to check a card against the question, and how to report.

## Workflow

1. **Query by domain**: `"netflix.com monthly visits"`, `"chatgpt.com"`. Traffic data is keyed by domain, so resolve a brand to its domain yourself. For app usage, query app name + metric: `"Spotify app monthly active users"`; app cards are keyed by the bare app name.
2. **Call `tako_search`** with the default sources. Web results add competitive write-ups and ranking roundups.
3. **Check the top card against the question** with the list below. You have the traffic number only when the card's title is `<domain> Monthly Visits`, or the app's active-users card.
4. **Read the figure from `description`**: the latest monthly value and the % change over the period. Traffic cards are licensed and don't export (`exportable: false`), so the description and the chart are the data; don't call `tako_contents` on one. Web-result urls remain fetchable.
5. **Zero cards?** If the query wasn't a bare domain, make it one and retry once. If a domain query is still empty, answer from the web results and label the figure web-sourced. Don't use `tako_available_data` to rule a domain out: the graph resolves brands to companies, not to domains, so a domain it doesn't know can still have a traffic card.
6. **Competitive asks** ("who competes with Netflix for attention", "Netflix vs its rivals")? Resolve the brand with `tako_available_data` to get its company node id, call `tako_graph_related` with `relation: "rel:competes_with"`, map the competitors to their domains yourself, and run one domain search per site in parallel.

## Checking a card against the question

1. **Domain, from the title.** Traffic cards list only the metric in `nodes`; the domain never appears there, so the entity check that works elsewhere doesn't apply.
2. **Absolute vs relative.** An `"A vs B"` card's description reports each series as a % change over the period. For absolute visits, read each domain's single-series card; run a per-domain search if the comparison result didn't include them.
3. **Ranking scope.** Ranking cards exist per category and per measure ("Top Websites by Visits", "Top Arts and Entertainment Websites by Visits", "… by Average Visit Duration"). The title names both; confirm they match the question.
4. **Metric family.** SimilarWeb app "Monthly Active Users" and a company's own reported MAU are different numbers from different sources, and both can appear in one result. Say which you're quoting.
5. **Month.** `coverage_end` is the data month. Cite it.

## Output

1. One or two lines on the traffic, referencing the inline chart in prose. Never re-post the image URL: it double-renders the chart.
2. "SimilarWeb" and the `coverage_end` month. Say plainly when a figure is web-sourced.
3. One `[Open in Tako](url)` link for the top card; point at extra cards by linking their titles to their `url`.

Step 3: Ask the user to restart Claude Code

Ask the user to restart Claude Code so the config change takes effect.
Macroeconomia

Copie o bloco abaixo e cole no Claude Code. Ele configurará a conexão MCP e a habilidade para você.

Step 1: Install or update Tako MCP

If Tako MCP already exists in your config, update it to this endpoint. Run this in your terminal:

claude mcp add tako-mcp --transport http "https://mcp.tako.com/mcp" --header "Authorization: Bearer $TAKO_API_TOKEN"


Step 2: Add this Claude skill

---
name: tako-macroeconomics
description: >-
  Use when the user asks what a country's economic indicator is or was (inflation, CPI, PCE, unemployment, GDP, interest rates, population), compares countries on one, asks which indicators exist for a country or which countries belong to a bloc, or wants a macro chart or briefing. Returns the figures as structured, citation-backed data from Tako (FRED, BLS, OECD, BIS, IMF, World Bank, Census and Polymarket), each with a chart. Country-level indicators only, not company financials or website traffic.
---

# Macroeconomics (Tako)

Tako serves macro and demographic indicators as structured, cited data: each result is a card carrying the headline value, the underlying rows, and a chart of the series. All tools below live on the Tako MCP server installed in Step 1. The tool descriptions and every result already carry the card fields, the `sources` guidance and the zero-card recovery; this skill covers how to shape a macro query, how to check a card against the question, and how to report.

## Workflow

1. **Query as COUNTRY + INDICATOR**: `"US CPI inflation"`, `"Japan unemployment rate"`. Coverage is keyed by country. For a bloc or region, check coverage with `tako_available_data` before searching: member-country series are far denser, so aggregate them yourself or take the figure from the web results and say so.
2. **Name the variant when intent is precise.** Most indicators exist in several variants with materially different values: headline vs core, seasonally adjusted or not, BLS vs IMF vs OECD-harmonised, U-3 vs U-6, target rate vs effective rate. When you don't know the exact name, call `tako_available_data` first, which is free, and search on the name it returns. Level and rate series share a stem: "Core PCE Price Index" is the index level and "Core PCE Price Index (% Change)" is the inflation rate, and a query that says "inflation" can match either, or a CPI series.
3. **Call `tako_search`** with the default sources. Web results carry release commentary and cover the gaps in bloc-level data.
4. **Check the top card against the question** with the list below. If a different card is the right one, link its title to its `url` and say so.
5. **Read the value from `description`.** When the card is exportable and you need more than the headline, `tako_contents` on its `url` returns the series.
6. **Zero cards?** Follow the recovery the result states, and keep to two priced searches per question. Empty means not covered, not that the indicator doesn't exist.
7. **Discovery asks** ("what does Tako track for Japan", "which countries are in the G7", "who publishes Japan's data")? Resolve the country with `tako_available_data` to get its node id, then call `tako_graph_related` on it. The first call returns the relation map with counts (`metrics`, `part_of`, `siblings`, `sources`; `members` on a bloc node); pass `relation` to page one and `q` to filter it, then search on the names it returns.

## Checking a card against the question

One indicator name covers many series: providers, methodologies, vintages, levels and rates, and prediction markets on the same quantity. Before quoting, confirm:

1. **Variant.** The title names the variant asked for; several providers' headline numbers can come back together. Don't average them or take the first.
2. **Vintage, as asked.** For a current figure, take the series whose `coverage_end` is latest among the matches: discontinued series stay in the graph and an annual series can sit a year behind the monthly one. For a historical period, any series that covers it is valid. Series refresh on different schedules, so don't present two indicators as the same vintage without checking.
3. **Rate, not level.** A "(% Change)" card is a percentage; a bare "Price Index" card is index points. Confirm from the unit in `description`.
4. **Indicator or expectation, as asked.** Polymarket cards report what traders expect, not what a statistics agency published, and exist for many macro quantities. Quote one when the question is about expectations, and label it market-implied; otherwise take the published series.
5. **Country.** `nodes` names it. Country overview cards sometimes carry no nodes; fall back to the title there.

## Comparisons

- Cross-country comparison is built in: `"US vs China inflation"` returns a two-series card. For currency-denominated indicators (GDP, wages) the chart plots both currencies on one axis unnormalized; state each currency and convert before comparing.

## Output

1. One or two lines on the indicator, referencing the chart in prose. Never re-post the image URL: it double-renders the inline chart.
2. Source name and `coverage_end` date. The roster is wider than FRED, so cite what the card names. Say plainly when a figure is web-sourced.
3. One `[Open in Tako](url)` link for the card you embedded.

Step 3: Ask the user to restart Claude Code

Ask the user to restart Claude Code so the config change takes effect.

Arquitetura

O Tako MCP é um Cloudflare Worker — um proxy TypeScript enxuto implantado em mcp.tako.com:

AI Agent (Claude Code/Desktop, Cursor, Claude.ai, ChatGPT, …)
    ↓  MCP Protocol (Streamable HTTP, POST /mcp — the ChatGPT app uses /mcp/chatgpt)
Cloudflare Worker  ──  Bearer auth / OAuth, tool dispatch
    ↓  X-API-Key
Tako Django API  (tako.com)

O Worker extrai o token Bearer (ou derivado do OAuth), valida a requisição MCP, chama o endpoint Django apropriado com o token do usuário encaminhado como X-API-Key e retorna resultados estruturados das ferramentas. O código vive em workers/.

  • Verificação de saúde: GET /health retorna um simples ok.
Mudanças que quebram compatibilidade - **`tako_answer` foi removido, e `?tools=answer` não resolve mais para nada.** A síntese é `include_answer: true` em **`tako_search_advanced`**, que alcança o mesmo endpoint. `answer` agora é um token desconhecido: ele é descartado, então `?tools=answer` sozinho recai nas quatro ferramentas padrão — nenhuma das quais sintetiza. Atualize a URL para `?tools=search,available_data,contents,search_advanced`. - **`?tools=` agora substitui a listagem padrão em vez de adicionar a ela** (tokens são nomes de ferramentas, ex.: `?tools=search,contents,agent`). `tako_graph_search`, `tako_graph_node`, `tako_agent_start`, `tako_agent_wait`, `get_credit_balance` e `tako_credit_balance` foram removidos; `tako_graph_related` é listado por padrão. Veja [`docs/TOOLS.md`](docs/TOOLS.md). - **A superfície do aplicativo ChatGPT não serve mais o Answer Agent em nenhuma forma.** `https://mcp.tako.com/mcp/chatgpt?tools=agent` era a forma documentada de alcançá-lo; essa URL agora serve a listagem fixa de cinco ferramentas, porque `?tools=` é ignorado em `/mcp/chatgpt`. `https://mcp.tako.com/mcp?tools=search,available_data,agent` registra `tako_agent` para um conector de modo desenvolvedor do ChatGPT, mas o teto de ~60 s por chamada do ChatGPT não comporta uma execução de 30–90 s, então trate-o como não suportado em vez de um substituto. O agente retorna ao ChatGPT como funcionalidade de aplicativo revisada, não como uma adesão oculta. - **`tako_search` aceita quatro parâmetros** — `query`, `sources`, `country_code`, `locale`. `include_contents`, `preview_rows`, `effort`, `count`, `node_ids` e `strict` foram removidos, e ele não declara padrões próprios, então um campo omitido assume os da API v3. As linhas vêm de `tako_contents` na url de um cartão `exportable: true`. Cada opção removida, além de `effort: deep`, `include_domains`, `exclude_domains`, `category`, `max_rows` e `content_format`, vive na nova adesão **`tako_search_advanced`** (`?tools=search_advanced`). - **`tako_contents` aceita quatro parâmetros** — `urls` (agora obrigatório), `max_rows`, `max_chars`, `query`. O único `url` obsoleto, além de `content_format` e `mode`, foi removido: cada chamada é entregue inline, e as linhas de um cartão voltam como uma única forma projetada de `rows` (`{columns, rows, total_rows}`, células posicionais, `null` para um valor ausente) em vez de CSV ou uma escolha de JSON. `download_url`, `expires_at`, `data`, `records`, `dataset` e `format` saíram da saída junto com eles. Sua documentação `max_rows` dizia "padrão de 20 linhas"; o padrão real é o cartão inteiro, até 2.000 linhas. - **`tako_agent` retorna a própria resposta em vez de um envelope de execução.** Seu `structuredContent` costumava carregar `{run_id, status, timed_out, thread_id}` e nada mais — a resposta, as citações e os cartões existiam apenas no texto markdown, então um host que lê `structuredContent` e descarta `content` via um uuid e a palavra `completed`. Ambos os canais agora carregam `answer`, `cards`, `citations`, `definitions`, `assumptions`, `methodology`, `thread_id`, `usage`, `guidance` e `error`. `run_id`, `status` e `timed_out` saíram da saída: o primeiro não tem ferramenta de polling para gastar, e `error` já distingue os únicos dois estados que os outros dois poderiam relatar. `usage` é novo. Por cartão, `methodologies`, `metric_definitions`, `content`, `card_id`, `card_type`, `semantic_description`, `source_indexes`, `nodes`, `relevance` e `relevance_score` foram removidos; por citação, `source_name`, `excerpt`, `publish_date` e `content` foram removidos. - **`sources: "tako"`** — um sinônimo para `"data"` — foi removido de `tako_search`, `tako_answer` e `tako_agent`. - **O `next_call` de `tako_available_data`** carrega apenas `tool` e `query` agora, e `tool` nomeia qualquer ferramenta de busca que a conexão registra em vez de sempre `tako_search`. A consulta nomeia ambas as metades por seus nomes canônicos de grafo, porque `tako_search` corresponde aos nomes próprios do grafo; o pino foi removido porque `tako_search` não aceita mais um. - **`tako_available_data` e `tako_graph_related` renomearam a maior parte de sua saída.** `node_id` é `id` em toda a SAÍDA (o parâmetro de entrada mantém seu nome), `other_matches` é `candidates`, `entity_alternates` / `metric_alternates` são `entity_candidates` / `metric_candidates`, e `coverage.capped` é `coverage.total_capped`. `subtype` e `label` colapsam em um único `kind`. O campo de prosa `summary` foi removido: uma string curta `guidance` agora carrega o veredito nos ramos que têm um. Removidos completamente: `coverage.kind`, `coverage.names`, o `kind` do grupo de relação, o `type` e `label` de cada item relacionado, `inferred_labels`, o `aliases` candidato, e os ecos `query` / `metric_query`. As pré-visualizações de mapa de `tako_graph_related` nomeiam apenas — ids vêm de detalhar a relação.

v0.3.0:

  • A superfície de ferramentas foi reorganizada em uma pequena listagem padrão mais adesões ?tools=, e aliases de grupo ?tools= (graph, credits, answer, visualize, agent) foram introduzidos. Tanto os aliases quanto várias dessas ferramentas foram removidos — veja a entrada acima e docs/TOOLS.md para a superfície atual.
  • As ferramentas de imagem de gráfico (get_chart_image), gráfico interativo (open_chart_ui), criação de gráfico (create_chart) e relatório (create_report, get_report, list_reports, export_report) foram removidas.
  • O servidor Python auto-hospedado (pip install tako-mcp / Docker) foi removido em favor do Cloudflare Worker hospedado.

Atualize qualquer configuração de cliente ou prompts de agente que referenciem os nomes antigos de ferramentas ou o endpoint SSE Python.

Registro MCP & lançamentos (mantenedores)

Tako é publicado no Registro MCP oficial como um servidor remoto sob io.github.TakoData/tako-mcp.

  • server.json (raiz do repositório) é o descritor de registro: uma entrada remota streamable-http apontando para https://mcp.tako.com/mcp. O esquema não lista ferramentas — hosts as descobrem em tempo de execução via tools/list. (Distinto de registry/server.json, o catálogo de ferramentas gerado no repositório usado por npm run registry:gen / registry:check.)
  • Publicação é automatizada por .github/workflows/publish-mcp.yml, autenticando via GitHub OIDC (sem segredo). A versão vive no código: aumente o version de server.json, mescle em main, e ele publica automaticamente. Uma mesclagem que não muda a versão é um no-op.
  • Namespace de marca (com.tako/tako-mcp) é uma atualização futura que requer autenticação DNS (chave Ed25519 + registro TXT em tako.com).
  • Versionamento & changelog são automatizados via release-please. Contribuidores usam títulos de PR Conventional Commit (squash-merge); mantenedores cortam um lançamento mesclando o PR release: X.Y.Z do bot. Veja AGENTS.md → Releases.

Submissão do aplicativo ChatGPT

chatgpt-app-submission.json na raiz do repositório é o arquivo que o portal OpenAI importa. assertChatgptSubmissionParity em workers/scripts/gen-registry.ts mantém seu objeto tools correspondente ao que /mcp/chatgpt serve. O esquema não tem campo para três coisas que o portal pede, então defina-as manualmente:

  • URL MCP: https://mcp.tako.com/mcp/chatgpt. Não /mcp, que é a superfície genérica e não serve nenhum widget.
  • Autenticação: Somente OAuth. Uma solicitação anônima para /mcp/chatgpt recebe um 401.
  • Explicação do domínio do frame: cole o bloco abaixo. O portal corta o campo em 200 caracteres sem aviso, então mantenha qualquer edição abaixo disso. Nomeie apenas ferramentas na superfície submetida.

As próprias páginas de gráfico do Tako em https://tako.com/embed/{pub_id}/ (a embed_url que uma ferramenta retorna) renderizam resultados tako_search e cartões tako_visualize interativamente. Sem anúncios, login ou UI de upgrade.

  • Capturas de tela: uma por prompt inicial, mostrando o widget sozinho: sem chrome do ChatGPT, sem bolha de prompt, sem texto de modelo. O template da OpenAI é um frame CSS de 353×400 px exportado a 2x, então capture a página de embed do cartão (https://tako.com/embed/{pub_id}/) em uma viewport de 353 px de largura em deviceScaleFactor: 2 e recorte para 400–860 px de altura. O portal aceita qualquer PNG de 706 px de largura, então ele não vai te dizer quando uma captura inclui a conversa; a revisão faz.

  • Anotações vêm do servidor, não do formulário. Uma dica errada é corrigida no módulo da ferramenta, implantada em produção, e re-escaneada com Scan Tools antes de você submeter; a justificativa sozinha não muda nada.

Pacote do plugin

chatgpt-plugin/plugin.json contém a listagem do plugin do ChatGPT: nome, subtítulo, descrições, palavras-chave, categoria, prompts iniciais e ícones. Ele usa o formato portátil Agent Plugins da OpenAI, com campos de listagem sob extensions.com.openai.interface. Ele vive fora da raiz do repositório porque a raiz do repositório também é o plugin Claude que .claude-plugin/marketplace.json instala. Um plugin.json na raiz substituiria a identidade desse plugin.

Para mudar a listagem:

  1. Edite chatgpt-plugin/plugin.json e aumente seu version. Essa versão é a versão de pacote da OpenAI, separada da nossa versão de lançamento.
  2. Execute chatgpt-plugin/build.sh. Ele copia o manifesto, skills/ e chatgpt-plugin/assets/ para chatgpt-plugin/dist/tako-chatgpt-plugin-<version>.zip.
  3. No painel da OpenAI, abra o plugin Tako e selecione Upload new version.

Descrições de ferramentas não precisam de upload de pacote. A OpenAI re-escaneia /mcp/chatgpt diariamente e atualiza cada ferramenta após suas verificações passarem.

Links

Licença

Licença MIT — veja LICENSE para detalhes.