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.
- MCP Client Configuration
- Demo video
- Features
- Contributing
- Configuration
- Stdio support (fallback)
- Troubleshooting
To configure this MCP server in your MCP client (such as Claude Desktop, Windsurf, Cursor, etc.), add the following configuration to your MCP client settings:
{
"mcpServers": {
"ThoughtSpot": {
"command": "npx",
"args": [
"mcp-remote",
"https://agent.thoughtspot.app/sse"
]
}
}
}
See the Troubleshooting section for any errors.
Here is a demo video using Claude Desktop.
ThoughtSpot-MCP-server-demo.mp4
Watch on Loom
- OAuth Authentication: Access your data, as yourself.
- 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.
- MCP Resources:
datasources
: List of ThoughtSpot Data models the user has access to.
- Install dependencies:
npm install
- Set up environment variables:
- Copy
.dev.vars
and fill in your ThoughtSpot instance URL and access token.
- Copy
- Start the development server:
npm run dev
/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.
- wrangler.jsonc: Configure bindings, secrets, and compatibility.
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:
{
"mcpServers": {
"ThoughtSpot": {
"command": "npx",
"args": [
"@thoughtspot/mcp-server"
],
"env": {
"TS_INSTANCE": "<your Thoughtspot Instance URL>",
"TS_AUTH_TOKEN": "<ThoughtSpot Access 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.
- Login to the ThoughtSpot instance as you would normally.
- Opem in a new tab this URL:
- You will see a JSON response, copy the "token" value (without the quotes).
- This is the token you could use.
ThoughtSpot's remote MCP server can be used in LLM APIs which support calling MCP tools.
Here are examples with the common LLM providers:
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4.1",
"tools": [
{
"type": "mcp",
"server_label": "thoughtspot",
"server_url": "https://agent.thoughtspot.app/bearer/mcp",
"headers": {
"Authorization": "Bearer $TS_AUTH_TOKEN",
"x-ts-host": "my-thoughtspot-instance.thoughtspot.cloud"
}
}
],
"input": "How can I increase my sales ?"
}'
More details on how can you use OpenAI API with MCP tool calling can be found here.
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "X-API-Key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-04-04" \
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1000,
"messages": [{
"role": "user",
"content": "How do I increase my sales ?"
}],
"mcp_servers": [
{
"type": "url",
"url": "https://agent.thoughtspot.app/bearer/mcp",
"name": "thoughtspot",
"authorization_token": "[email protected]"
}
]
}'
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.
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.
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, © ThoughtSpot, Inc. 2025