Skip to main content
Use OpenAI’s own models (e.g. gpt-5.5) with Tako attached as a tool through the Responses API. OpenAI is the model; Tako is the tool it calls when a question needs grounded, real-time data — and the answer comes back with the interactive Tako cards behind it.
Here, OpenAI’s model does the reasoning and Tako provides the data. Want Tako itself as the model (tako-answer / tako-retrieval-agent / tako-answer-agent) instead? See the OpenAI-Compatible API. For the Chat Completions equivalent of this page, see OpenAI Tool Calling.
You’ll need two keys:
  • OPENAI_API_KEY — from the OpenAI dashboard (authenticates the OpenAI client).
  • TAKO_API_KEY — your Tako API key (tako_sk_…), used to reach Tako.

Attach Tako via MCP

The simplest path: hand the Responses API Tako’s hosted MCP server as a remote tool. OpenAI discovers Tako’s default tools (tako_search, tako_answer, tako_contents, tako_available_data), calls them when useful, and runs the whole loop server-side — no tool-handling code on your end.
authorization carries your tako_sk_… token (OpenAI forwards it to Tako). require_approval: "never" lets the model call Tako without an approval round-trip; allowed_tools restricts which Tako tools it may use (omit it to allow all). Tako’s heavier tools are opt-in — append ?tools=agent,visualize to server_url to enable the deep-research agent or chart creation (and add the tool names tako_agent / tako_visualize to allowed_tools if you set it, or OpenAI will filter them out). See MCP Server for the full tool list and auth options.
Tako’s MCP server speaks Streamable HTTP at https://mcp.tako.com/mcp. OpenAI’s Responses runtime connects to it directly, so this works from any OpenAI client without running anything locally.

Alternative: define Tako as a function tool

If you can’t use a remote MCP server, register Tako as a plain function tool and run the call yourself with the Tako Python SDK. You handle the function_call → execute → function_call_output loop (the same pattern as OpenAI Tool Calling, adapted to the Responses API’s flat tool shape).
Python

How results and cards flow back

Either way, OpenAI’s model writes the final prose into response.output_text. The Tako cards — each with an embed_url you can render or link — come back alongside it:
  • MCP: each Tako call appears in response.output as an mcp_call item (with name, arguments, and the tool’s output); the card URLs are in that output. A leading mcp_list_tools item lists the Tako tools that were loaded.
  • Function tool: you control the payload — return the cards (embed_url, image_url, …) from the Tako SDK in your function_call_output, and the model can cite them in its answer.
See Knowledge Cards for how to embed a returned card.