ThoughtSpot AI Data Analyst MCP Server
Bring ThoughtSpot AI Data Analyst to Claude or any MCP server for instant, team-ready data insights.
npx -y @thoughtspot/mcp-serverOverview
This MCP (Model Context Protocol) server wraps the ThoughtSpot AI Data Analyst so you can expose it as an LLM tool (for Claude or any MCP-enabled model). It implements the MCP interface and presents ThoughtSpot-powered data analysis capabilities as callable tools, enabling language models to request domain-aware analytics, schema information, and ready-to-share insights programmatically.
For developer teams this removes manual glue-code: instead of building custom connectors between a model and your BI layer, you run this server and register it with your LLM runtime. The model can then call the Data Analyst for quick summaries, suggested visualizations, or queries against ThoughtSpot data — all while preserving the auditability and credentials managed by the server.
Features
- Exposes ThoughtSpot AI Data Analyst as MCP-compatible tools for LLMs
- Tool discovery endpoint so models can list available capabilities
- Translate natural-language prompts into ThoughtSpot queries and results
- Schema and metadata inspection (tables, columns, data types)
- Run ad hoc queries and return human-friendly insights and suggested visualizations
- Configurable authentication and secure credential management
- Deployable via Docker or as a standalone Node/Python service
- Simple HTTP API for tool invocation and developer testing
Installation / Configuration
Prerequisites: Docker or a Node/Python runtime, ThoughtSpot credentials (host, user, password or token), and an MCP-capable LLM host (e.g., Claude that supports external MCP servers).
Clone and run with Docker:
# Build and run (example)
Example docker-compose:
version: '3.8'
services:
mcp-server:
image: thoughtspot/mcp-server:latest
ports:
- "3000:3000"
environment:
THOUGHTSPOT_HOST: "https://my-thoughtspot.example.com"
THOUGHTSPOT_USER: "svc_mcp"
THOUGHTSPOT_PASS: "s3cr3t"
MCP_PORT: "3000"
restart: unless-stopped
Environment variables (typical):
- THOUGHTSPOT_HOST — ThoughtSpot URL
- THOUGHTSPOT_USER — service account user
- THOUGHTSPOT_PASS — service account password (or use token var)
- MCP_PORT — port the MCP server listens on
- LOG_LEVEL — optional (info, debug, error)
Quick test (after server is running):
# List advertised tools (MCP discovery)
Available Resources
The server exposes standard MCP-style endpoints for tool discovery and invocation. Common endpoints you can expect:
| Endpoint | Purpose |
|---|---|
| GET /mcp/v1/tools | List tools and metadata the server offers to the model |
| POST /mcp/v1/run | Invoke a tool with a prompt/payload; returns tool output |
| GET /mcp/v1/schema | Retrieve dataset schema and metadata from ThoughtSpot |
| POST /mcp/v1/query | Run an ad hoc ThoughtSpot query and return results |
Tool metadata returned by /mcp/v1/tools includes tool id, name, description, input schema, and required permissions so your LLM runtime can present the correct interface.
Developers can also use the server’s admin or health endpoints (e.g., /health) to monitor status and validate connections to ThoughtSpot.
Use Cases
Embedding Data Analyst into an LLM chat assistant
- Register this MCP server URL with your model runtime (Claude or another MCP-compatible host).
- When an analyst asks “What drove last quarter’s revenue spike?” the model lists the Data Analyst tool and calls it to fetch a concise, team-ready insight including suggested visualizations.
Automated report generation
- A scheduled job sends prompts to the MCP server (via the model) to produce weekly executive summaries: top KPIs, anomalies, and recommended action items derived from ThoughtSpot data.
Interactive exploration in a workflow
- Integrate MCP calls into a ticketing or collaboration tool so a user can type “Show sales by region for Q1 and highlight top 3 underperformers” and receive a ready-to-share table, chart recommendation, and SQL or ThoughtSpot query snippet.
Schema-aware question answering
- Before running queries, the model can call /mcp/v1/schema to inspect table/column names so natural-language prompts are grounded in the actual dataset, reducing hallucinated column names and improving accuracy.
Example: Run a simple analysis
Invoke the Data Analyst tool with a prompt:
Response (abbreviated) will include:
- A short human-readable summary
- Suggested visualization types (bar, heatmap, line)
- A query or query-id that can be used to fetch raw results from ThoughtSpot
Next steps for developers
- Secure credentials using Vault or secret stores instead of environment variables in production.
- Configure role-based access so the MCP server uses a least-privileged ThoughtSpot account.
- Add custom tool wrappers if you need additional preprocessing or postprocessing of results (filtering, redaction, formatting).
- Register the MCP server URL with your LLM host so tools are discoverable by team models.
This MCP server simplifies connecting ThoughtSpot analytics to LLM-driven workflows, enabling on-demand, schema-aware data insights without custom per-model integrations.