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 💡
bittush8789/MCP
An MCP server that fetches weather data from the National Weather Service API, providing get_alerts and get_forecast tools via stdio transport.
agent-twitter-client-mcp
A Model Context Protocol (MCP) server that integrates with Twitter, enabling AI models to interact with the platform for tweet operations, user management, and Grok AI integration without direct API access.
imessage-query
An MCP server that provides safe access to your iMessage database through Model Context Protocol (MCP). This server is built with the FastMCP framework and the imessagedb library, enabling LLMs to query and analyze iMessage conversations with proper phone number validation and attachment handling.
@mkusaka/mcp-server-memory
A basic implementation of persistent memory using a category-based memory system for Claude to remember information across chats.
@r-huijts/ethics-vibe-check
An MCP server that turns Claude into a philosophical sparring partner who actively contradicts comfortable conversations and challenges confirmation bias.
codemcp
Coding assistant MCP for Claude Desktop