Tako MCP Server
An MCP (Model Context Protocol) server that provides access to Tako's knowledge base and interactive data visualizations.
What is this?
This MCP server enables AI agents to:
- Search Tako's knowledge base for charts and data visualizations
- Fetch chart preview images and AI-generated insights
- Render fully interactive Tako charts via MCP-UI
Installation
pip install tako-mcp
Or install from source:
git clone https://github.com/anthropics/tako-mcp.git
cd tako-mcp
pip install -e .
Quick Start
Get an API Token
Sign up at trytako.com and create an API token in your account settings.
Run the Server
tako-mcp
Or with Docker:
docker build -t tako-mcp .
docker run -p 8001:8001 tako-mcp
Connect Your Agent
Point your MCP client to http://localhost:8001.
Available Tools
knowledge_search
Search Tako's knowledge base for charts and data visualizations.
{
"query": "Intel vs Nvidia headcount",
"api_token": "your-api-token",
"count": 5,
"search_effort": "deep"
}
Returns matching charts with IDs, titles, descriptions, and URLs.
get_chart_image
Get a preview image URL for a chart.
{
"pub_id": "chart-id",
"api_token": "your-api-token",
"dark_mode": true
}
get_card_insights
Get AI-generated insights for a chart.
{
"pub_id": "chart-id",
"api_token": "your-api-token",
"effort": "medium"
}
Returns bullet-point insights and a natural language description.
explore_knowledge_graph
Discover available entities, metrics, and cohorts.
{
"query": "tech companies",
"api_token": "your-api-token",
"limit": 20
}
ThinViz API - Create Custom Charts
ThinViz lets you create charts with your own data using pre-configured templates.
list_chart_schemas
List available chart templates.
{
"api_token": "your-api-token"
}
Returns schemas like stock_card, bar_chart, grouped_bar_chart.
get_chart_schema
Get detailed info about a schema including required components.
{
"schema_name": "bar_chart",
"api_token": "your-api-token"
}
create_chart
Create a chart from a template with your data.
{
"schema_name": "bar_chart",
"api_token": "your-api-token",
"source": "Company Reports",
"components": [
{
"component_type": "header",
"config": {
"title": "Revenue by Region",
"subtitle": "Q4 2024"
}
},
{
"component_type": "categorical_bar",
"config": {
"datasets": [{
"label": "Revenue",
"data": [
{"x": "North America", "y": 120},
{"x": "Europe", "y": 98},
{"x": "Asia", "y": 156}
],
"units": "$M"
}],
"title": "Revenue by Region"
}
}
]
}
Returns the new chart's card_id, embed_url, and image_url.
MCP-UI - Interactive Charts
open_chart_ui
Open an interactive chart in the UI (MCP-UI).
{
"pub_id": "chart-id",
"dark_mode": true,
"width": 900,
"height": 600
}
Returns a UIResource for rendering an interactive iframe.
Configuration
Environment variables:
| Variable | Description | Default |
|---|---|---|
TAKO_API_URL |
Tako API endpoint | https://api.trytako.com |
PUBLIC_BASE_URL |
Public URL for chart embeds | https://trytako.com |
PORT |
Server port | 8001 |
HOST |
Server host | 0.0.0.0 |
MCP_ALLOWED_HOSTS |
Additional allowed hosts (comma-separated) | |
MCP_ENABLE_DNS_REBINDING |
Enable DNS rebinding protection | true |
Testing
Run the test client:
python -m tests.test_client --api-token YOUR_API_TOKEN
This verifies:
- MCP handshake and initialization
- Tool discovery
- Search, images, and insights
- MCP-UI resource generation
Example Flow
- User asks: "Show me a chart about Intel vs Nvidia headcount"
- Agent calls
knowledge_searchwith the query - Agent receives chart results with IDs
- Agent can:
- Call
get_card_insightsto summarize the data - Call
get_chart_imagefor a preview - Call
open_chart_uito render an interactive chart
- Call
Health Checks
GET /health- Simple "ok" responseGET /health/detailed- JSON with status and timestamp
Architecture
AI Agent (LangGraph, CopilotKit, etc.)
↓
MCP Protocol (SSE)
↓
Tako MCP Server
↓
Tako API
The server acts as a thin proxy that:
- Authenticates requests with your API token
- Translates MCP tool calls to Tako API requests
- Returns formatted results and UI resources
MCP-UI Support
The open_chart_ui tool returns an MCP-UI resource that clients can render as an interactive iframe. The embedded chart supports:
- Zooming and panning
- Hover interactions
- Responsive resizing via
postMessage - Light and dark themes
Clients that support MCP-UI (like CopilotKit) will automatically render these resources.
License
MIT License - see LICENSE for details.
Links
- Tako - Data visualization platform
- MCP Specification - Model Context Protocol
- MCP-UI - MCP UI rendering standard
Recommend MCP Servers 💡
puremd-mcp
A Model Context Protocol (MCP) server that integrates with pure.md to provide web unblocking, scraping, and searching capabilities for LLM clients, enabling them to reliably access web content in markdown format.
jlowin/fastmcp
🚀 The fast, Pythonic way to build MCP servers and clients.
bornpresident/MISP-MCP-SERVER
MCP server integrating MISP to provide threat intelligence for Large Language Models
archethic-uco-mcp
MCP server providing real-time UCO token prices (USD/EUR) from Archethic's OracleChain via GraphQL API.
@AbdelStark/nostr-mcp
A Nostr MCP server that allows to interact with Nostr, enabling posting notes, and more.
@burtthecoder/mcp-virustotal
A Model Context Protocol (MCP) server for querying the VirusTotal API. Provides comprehensive security analysis tools with automatic relationship data fetching. Integrates seamlessly with MCP-compatible applications like Claude Desktop.