Deployed as a Cloudflare Worker-based service that hosts the MCP server endpoints
Integration for code coverage reporting and monitoring
Integration with GitHub for CI/CD checks as shown by the check-runs badge
Used for generating status badges to display project status information
ThoughtSpot MCP Server
The ThoughtSpot MCP Server provides secure OAuth-based authentication and a set of tools for querying and retrieving relevant data from your ThoughtSpot instance. It's a remote server hosted on Cloudflare.
If you do not have a Thoughtspot account, create one for free here.
Learn more about ThoughtSpot.
Join our Discord to get support.
Table of Contents
Related MCP server: Jotdown
Connect
If using a client which supports remote MCPs natively (Claude.ai etc) then just enter:
MCP Server URL:
Preferred Auth method: Oauth
For OpenAI ChatGPT Deep Research, add the URL as:
To configure this MCP server in your MCP client (such as Claude Desktop, Windsurf, Cursor, etc.) which do not support remote MCPs, add the following configuration to your MCP client settings:
See the Troubleshooting section for any errors / more details.
Usage
Once the connection is done, ThoughtSpot datasources would show under the resources section.
Select a datasource (resource), to set the context of your query.
Now you could ask analytical questions, which claude can decide to use the relevant ThoughtSpot tools for.
See the video below for a complete demo.
Demo
Here is a demo video using Claude Desktop.
https://github.com/user-attachments/assets/72a5383a-7b2a-4987-857a-b6218d7eea22
Watch on Loom
Usage in APIs
ThoughtSpot's remote MCP server can be used in LLM APIs which support calling MCP tools.
Here are examples with the common LLM providers:
OpenAI Responses API
More details on how can you use OpenAI API with MCP tool calling can be found here.
Claude MCP Connector
Note: In the authorization_token field we have suffixed the ThoughtSpot instance host as well with the @ symbol to the TS_AUTH_TOKEN.
More details on Claude MCP connector here.
Gemini API
MCP tools can be used with the Gemini Python/Typescript SDK. Here is an example using typescript:
Read this, for more details on Gemini API MCP tool calling.
An example using Google ADK + Python can be found here.
Gemini CLI extenstions
ThoughtSpot MCP server can also be installed as a Gemini CLI extension.
Read more about Gemini CLI here.
How to get TS_AUTH_TOKEN for APIs ?
For API usage, you would the token endpoints with a secret_key to generate the API_TOKEN for a specific user/role, more details here.
Features
OAuth Authentication: Access your data, as yourself.
Dynamic Client Registration (DCR) support.
Any MCP host is allowed. Let's make the world fact driven.
Tools:
ping: Test connectivity and authentication.getRelevantQuestions: Get relevant data questions from ThoughtSpot analytics based on a user query.getAnswer: Get the answer to a specific question from ThoughtSpot analytics.createLiveboard: Create a liveboard from a list of answers.getDataSourceSuggestions: Get datasource suggestions for a given query.
MCP Resources:
datasources: List of ThoughtSpot Data models the user has access to.
Supported transports
Streamed HTTP https://agent.thoughtspot.app/mcp
Manual client registration
For MCP hosts which do not(yet) support Dynamic client registration, or they require statically adding Oauth Client Id etc. Go to this page, to register a new client and copy the details over. The most relevant values are Oauth Client Id and Oauth Client Secret which should be added when adding ThoughtSpot as an MCP connector in the MCP client (ChatGPT/Claude etc). The generated client details are only available when they are generated and are NOT available later for reference.
Associate with a ThoughtSpot instance
Manual client registration also allows to associate with a specific ThoughtSpot instance, so that your users do not have to enter the Thoughtspot instance URL when doing the authorization flow. While registering the Oauth client add ThoughtSpot URL to the appropriate value.
Self hosted
Use the published docker image to deploy the MCP server in your own environment.
See this for details.
Stdio support (fallback)
If you are unable to use the remote MCP server due to connectivity restrictions on your Thoughtspot instance. You could use the stdio local transport using the npm package.
Here is how to configure stdio with MCP Client:
How to obtain a TS_AUTH_TOKEN ?
Go to ThoughtSpot => Develop => Rest Playground v2.0
Authentication => Get Full access token
Scroll down and expand the "body"
Add your "username" and "password".
Put whatever "validity_time" you want the token to be.
Click on "Try it out" on the bottom right.
You should get a token in the response, thats the bearer token.
Alternative way to get TS_AUTH_TOKEN
Login to the ThoughtSpot instance as you would normally.
Opem in a new tab this URL:
https://your-ts-instance/api/rest/2.0/auth/session/token
You will see a JSON response, copy the "token" value (without the quotes).
This is the token you could use.
Troubleshooting
Oauth errors due to CORS/SAML.
Make sure to add the following entries in your ThoughtSpot instance:
CORS
Go to ThoughtSpot => Develop => Security settings
Click "Edit"
Add "agent.thoughtspot.app" to the the "CORS whitelisted domains".
SAML (need to be Admin)
Go to ThoughtSpot => Develop
Go to "All Orgs" Tab on the left panel if there is one.
Click "Security settings"
Click "Edit"
Add "agent.thoughtspot.app" to the the "SAML redirect domains".
MCP server install error due to node issues
Make sure node is installed on your machine.
Make sure the node version is >=18
Check the node version by using the command
node -v
500 error from MCP server
Make sure the ThoughtSpot cluster the MCP server is connected to is up and running.
If the error persists, please collect the logs that you get from the MCP client and the approximate time when the issue occurred.
Reach out on Discord to get support.
Create a issue on this repository to get help.
Submit a ThoughtSpot support case with all the artifacts.
Stale MCP auth
If for some reason the ThoughtSpot MCP server is failing authentication repeatedly, you can do
rm -rf ~/.mcp-auth.This will remove all stale authentication info, and restart the auth flow again.
Contributing
Local Development
Install dependencies:
npm installSet up environment variables:
Copy
.dev.varsand fill in your ThoughtSpot instance URL and access token.
Start the development server:
npm run dev
Endpoints
/mcp: MCP HTTP Streaming endpoint/sse: Server-sent events for MCP/api: MCP tools exposed as HTTP endpoints/authorize,/token,/register: OAuth endpoints/bearer/mcp,/bearer/sse: MCP endpoints as bearer auth instead of Oauth, mainly for use in APIs or in cases where Oauth is not working.
MCP Server, © ThoughtSpot, Inc. 2025