ThoughtSpot MCP 服务器提供基于 OAuth 的安全身份验证,并提供一组工具来查询和检索来自您的 ThoughtSpot 实例的相关数据。它是一个托管在 Cloudflare 上的远程服务器。
如果您没有 ThoughtSpot 账户,请在此处免费创建一个:这里。
了解更多关于 ThoughtSpot。
加入我们的 Discord 获取支持。
如果使用支持远程 MCP 的客户端(如 Claude.ai 等),只需输入:
MCP 服务器 URL:
https://agent.thoughtspot.app/mcp
首选认证方法:OAuth
https://agent.thoughtspot.app/openai/mcp
要在不支持远程 MCP 的 MCP 客户端(如 Claude Desktop、Windsurf、Cursor 等)中配置此 MCP 服务器,请在 MCP 客户端设置中添加以下配置:
{
"mcpServers": {
"ThoughtSpot": {
"command": "npx",
"args": [
"mcp-remote",
"https://agent.thoughtspot.app/mcp"
]
}
}
}
有关任何错误或更多详细信息,请参阅 故障排除 部分。
请观看下面的视频以获得完整的演示。
这是一个使用 Claude Desktop 的演示视频。
https://github.com/user-attachments/assets/72a5383a-7b2a-4987-857a-b6218d7eea22
在 Loom 上观看
ThoughtSpot 的远程 MCP 服务器可以在支持调用 MCP 工具的 LLM API 中使用。
以下是与常见 LLM 提供商的示例:
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": "如何增加我的销售额?"
}'
有关如何使用 OpenAI API 和 MCP 工具调用的更多详细信息,请参阅 此处。
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": "如何增加我的销售额?"
}],
"mcp_servers": [
{
"type": "url",
"url": "https://agent.thoughtspot.app/bearer/mcp",
"name": "thoughtspot",
"authorization_token": "$TS_AUTH_TOKEN@my-thoughtspot-instance.thoughtspot.cloud"
}
]
}'
注意:在 authorization_token 字段中,我们已附加了 ThoughtSpot 实例主机名,并用 @ 符号连接到 TS_AUTH_TOKEN。
有关 Claude MCP 连接器的更多详细信息,请参阅 此处。
可以使用 Gemini Python/Typescript SDK 来使用 MCP 工具。以下是一个使用 Typescript 的示例:
import { GoogleGenAI, FunctionCallingConfigMode , mcpToTool} from '@google/genai';
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
// 创建用于 stdio 连接的服务器参数
const serverParams = new StreamableHTTPClientTransport(new URL("https://agent.thoughtspot.app/bearer/mcp"), {
requestInit: {
headers: {
"Authorization": "Bearer $TS_AUTH_TOKEN", // 请参阅下方如何获取 $TS_AUTH_TOKEN
"x-ts-host": "my-thoughtspot-instance.thoughtspot.cloud"
},
}
});
const client = new Client(
{
name: "example-client",
version: "1.0.0"
}
);
// 配置客户端
const ai = new GoogleGenAI({});
// 初始化客户端和服务器之间的连接
await client.connect(serverParams);
// 向模型发送带有 MCP 工具的请求
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: `伦敦今天的天气怎么样?`,
config: {
tools: [mcpToTool(client)], // 使用会话,将自动调用工具
// 如果您**不想**让 SDK 自动调用工具,请取消注释以下内容
// automaticFunctionCalling: {
// disable: true,
// },
},
});
console.log(response.text)
// 关闭连接
await client.close();
有关 Gemini API MCP 工具调用的更多详细信息,请参阅 此处。
使用 Google ADK + Python 的示例可以在此处找到:此处。
ThoughtSpot MCP 服务器也可以作为 Gemini CLI 扩展安装。
gemini extensions install https://github.com/thoughtspot/mcp-server
有关 Gemini CLI 的更多信息,请参阅 此处。
对于 API 使用,您需要使用带有 secret_key 的令牌端点生成特定用户/角色的 API_TOKEN,更多详细信息请参阅 此处。
ping:测试连接性和认证。getRelevantQuestions:根据用户查询从 ThoughtSpot 分析中获取相关数据问题。getAnswer:从 ThoughtSpot 分析中获取特定问题的答案。createLiveboard:从答案列表创建实时板。getDataSourceSuggestions:为给定查询获取数据源建议。datasources:用户可访问的 ThoughtSpot 数据模型列表。对于尚未支持动态客户端注册的 MCP 主机,或者需要静态添加 OAuth 客户端 ID 等情况,前往 此页面,注册新客户端并复制详细信息。最相关的值是 OAuth 客户端 ID 和 OAuth 客户端密钥,当在 MCP 客户端(ChatGPT/Claude 等)中添加 ThoughtSpot 作为 MCP 连接器时需要添加这些值。生成的客户端详细信息仅在生成时可用,之后不可再参考。
手动客户端注册还允许关联到特定的 ThoughtSpot 实例,这样您的用户在进行授权流程时无需输入 ThoughtSpot 实例 URL。在注册 OAuth 客户端时,将 ThoughtSpot URL 添加到适当的位置。
使用发布的 Docker 镜像在自己的环境中部署 MCP 服务器。
详情请参阅 此处。
如果您由于 ThoughtSpot 实例上的连接限制而无法使用远程 MCP 服务器,您可以使用 npm 包通过 stdio 本地传输。
这是如何配置 stdio 与 MCP 客户端:
{
"mcpServers": {
"ThoughtSpot": {
"command": "npx",
"args": [
"@thoughtspot/mcp-server"
],
"env": {
"TS_INSTANCE": "<您的 ThoughtSpot 实例 URL>",
"TS_AUTH_TOKEN": "<ThoughtSpot 访问令牌>"
}
}
}
}
TS_AUTH_TOKEN?TS_AUTH_TOKEN 的另一种方式由于 CORS/SAML 导致的 OAuth 错误。
确保在您的 ThoughtSpot 实例中添加以下条目:
CORS
SAML(需要管理员权限)
由于 Node 问题导致的 MCP 服务器安装错误
node -v 检查 Node 版本。从 MCP 服务器收到 500 错误
过期的 MCP 认证
rm -rf ~/.mcp-auth。npm install
.dev.vars 并填写您的 ThoughtSpot 实例 URL 和访问令牌。npm run dev
/mcp:MCP HTTP 流式传输端点/sse:MCP 的服务端事件/api:作为 HTTP 端点公开的 MCP 工具/authorize, /token, /register:OAuth 端点/bearer/mcp, /bearer/sse:作为承载认证而不是 OAuth 的 MCP 端点,主要用于 API 或 OAuth 不起作用的情况。MCP 服务器,© ThoughtSpot, Inc. 2025