TakoData-tako-mcp
Provide real-time data querying and visualization by integrating Tako with your agents. Generate o鈥�
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
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