TA
OfficialSearch

Tako MCP Server: Real-Time Financial, Sports, Weather Visualizations

Search Tako's MCP server using natural language to visualize real-time financial, sports, weather and public data with interactive charts.

Quick Install
npx -y @TakoData/tako-mcp

Overview

Tako MCP Server is a lightweight server that exposes real-time data search and visualization capabilities via the Model Context Protocol (MCP). It lets developers and language models issue natural‑language searches against a growing set of live data connectors—financial markets, sports feeds, weather, and public datasets—and get back interactive chart visualizations and structured results. The server maps natural language queries into data retrieval and visualization tasks, returning embeddable charts or JSON results suitable for downstream automation.

This is useful when you want to integrate conversational or programmatic interfaces with live data visualizations—for example, allowing a chatbot to generate a market chart on request, or letting an analytics pipeline produce a quick comparative weather graph. It provides both a web UI for ad‑hoc exploration and an API suited to MCP-capable LLMs and client code.

Features

  • Natural‑language search against real‑time financial, sports, weather, and public datasets
  • Automatic generation of interactive charts (time series, comparisons, overlays)
  • REST API and MCP-compatible endpoints for LLM/tool integrations
  • Web UI for manual exploration and embedded visualizations
  • Extensible connector architecture for adding new data sources
  • Docker friendly for local development and production deployment
  • Configurable API keys and data provider credentials via environment variables

Installation / Configuration

Clone the repository and run locally, or use Docker for a quick start.

Clone and run locally (Node.js-based workflow):

git clone https://github.com/TakoData/tako-mcp.git
cd tako-mcp
# Install dependencies (npm/yarn/pnpm)
npm install
# Start in development mode
npm run dev
# Or build + run
npm run build
npm start

Start with Docker Compose:

git clone https://github.com/TakoData/tako-mcp.git
cd tako-mcp
# Use the provided docker-compose.yml (if present)
docker compose up --build

Key environment variables (example):

VariablePurposeExample
PORTServer port8080
OPENAI_API_KEYOptional: for LLM-driven parsing/assistsk-…
FINANCE_API_KEYAPI key for financial/market data providerfx-…
WEATHER_API_KEYAPI key for weather providerwthr-…
DATABASE_URLOptional: persistence / metadata storepostgres://user:pass@host/db

Example .env:

PORT=8080
OPENAI_API_KEY=sk-...
FINANCE_API_KEY=your_finance_key
WEATHER_API_KEY=your_weather_key
DATABASE_URL=postgres://postgres:password@localhost:5432/tako

API server will read these at startup and enable connectors based on available credentials.

Available Tools / Resources

  • REST endpoints:
    • GET /api/health — health check
    • POST /api/search — natural language search -> structured data + visualization hints
    • POST /api/visualize — request generation of a specific chart (data + config)
    • GET /api/charts/:id — retrieve previously generated chart (embeddable)
  • Web UI: a browser UI for exploring connectors, composing queries, and previewing charts
  • Embedding/SDK snippets: small client examples for Node.js and curl to integrate with MCP workflows
  • Connector templates: examples for finance, sports, weather, public datasets to guide custom integrations

Example curl usage:

curl -X POST http://localhost:8080/api/search \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Show Tesla stock price for the last 30 days with a 20-day moving average",
    "output": "chart"
  }'

Node example:

import fetch from "node-fetch";
const res = await fetch("http://localhost:8080/api/search", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({
    query: "Compare 7-day high temperatures for New York and Los Angeles",
    output: "chart"
  })
});
const payload = await res.json();
console.log(payload); // chart URL, data, or embed snippet

Use Cases

  • Financial analysis: “Show the last 90 days of AAPL and MSFT closing prices with 50/200-day moving averages.” The server fetches market data, computes overlays, and returns an embeddable interactive chart.
  • Sports dashboards: “Plot the point differential for the Lakers over the current season and list top scorers in the last 5 games.” Combines sports feed data into time series and tabular summaries.
  • Weather comparisons: “Compare the 7-day forecasted high temps for San Francisco, Seattle, and Denver side-by-side.” Produces a multi-line time series and percent‑difference annotations.
  • Public data exploration: “Visualize monthly unemployment rate vs consumer sentiment in 2023 and download the CSV.” Pulls from public APIs, renders charts, and exposes raw data for export.
  • LLM-driven analytics: Attach an MCP-capable model that can call the server’s /api/search to generate charts in response to conversational prompts, enabling assistants to answer with visual evidence.

Getting started tips

  • Provide API keys for the connectors you need (finance, weather, sports) in the environment so the server can enable them.
  • Use the web UI to prototype natural language prompts and inspect the generated visualization configurations before wiring them into automation.
  • Extend connectors by implementing the connector template (data fetch → normalization → schema) so the server can surface new domain datasets without changing the core code.

For full source, examples and contribution guidelines, see the project repository on GitHub: https://github.com/TakoData/tako-mcp.

Tags:search