使用说明
Tableau MCP
概述
Tableau MCP是一套开发人员原语,包括工具、资源和提示,它将 使开发人员更容易构建与Tableau集成的AI应用程序。
主要特点:
- 通过以下方式提供对Tableau发布的数据源的访问 VizQL数据服务(VDS)API
- 支持通过Tableau收集数据源元数据(带描述的列) 元数据API
- 支持访问脉冲度量、脉冲度量定义、脉冲订阅和脉冲度量 通过 脉冲API
- 可供支持MCP工具的AI工具使用(例如Claude Desktop、Cursor等)
- 适用于Tableau Cloud或Tableau Server上的任何已发布数据源
目前正在实施以下MCP工具:
| 变量 | 描述 |
|---|---|
| list datasources | 从指定的Tableau站点检索已发布数据源的列表(REST API) |
| 列表字段 | 获取指定数据源的字段元数据(名称、描述)(元数据API) |
| 查询数据源 | 运行Tableau VizQL查询(VDS API) |
| 读取元数据 | 请求指定数据源的元数据(VDS API) |
| 列出所有脉冲度量定义 | 列出所有脉冲量度定义(脉冲API) |
| 从定义ID中列出脉冲度量定义 | 从度量定义ID中列表脉冲度量定义(脉冲API) |
| 从度量定义id列出脉冲度量 | 从度量定义标识列出脉冲度量(脉冲API) |
| 从度量ID列出脉冲度量 | 从度量ID列表脉冲度量(脉冲API) |
| 列出脉冲度量订阅 | 列出当前用户的脉冲度量订阅(脉冲API) |
| 生成脉冲度量值洞察包 | 生成脉冲度量价值洞察包(脉冲API) |
注意:Tableau MCP项目目前处于早期开发阶段。随着我们不断加强和 改进实现,可用的功能和工具可能会发展。我们欢迎反馈和 帮助塑造该项目未来的贡献。
入门指南
安装先决条件
请按照以下步骤首次安装Tableau MCP:
- 克隆存储库
- 安装 Node.js (使用22.15.0 LTS进行测试)
npm installnpm run build
要跟上回购的变化:
- 拉取最新更改:
git pull npm installnpm run build- 重新启动您的AI工具或“刷新”MCP工具
Docker构建
要使用Tableau MCP的Docker版本,请从源代码构建映像:
$ docker build -t tableau-mcp .
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tableau-mcp latest c721228b6dd3 15 hours ago 260MB
记住,每当你拉取最新的仓库更改时,都要再次构建Docker镜像。你还需要 重新启动您的AI工具,使其开始使用更新的图像。
Tableau配置
Tableau MCP可与Tableau Server和Tableau云数据一起使用,前提是:
- 仅支持已发布的数据源
- 必须启用VDS(VizQL数据服务)(Tableau Server用户可能需要 启用它)
- 必须启用元数据API(Tableau Server用户可能需要 启用它)
- 您可能需要 启用Tableau Pulse 就你 要使用的Tableau Cloud站点 脉冲API 工具(Tableau Server无法使用Tableau Pulse)
Tableau身份验证
Tableau MCP需要身份验证才能与您的Tableau Server或Tableau Cloud连接 网站。此经过身份验证的用户必须有权访问您计划访问的已发布数据源。
提供您的Tableau 个人访问令牌 通过设置 PAT_NAME 和 PAT_VALUE
环境变量。看 环境变量 了解更多信息。
配置AI工具
AI工具可以通过两种不同的方式连接到Tableau MCP:
- 本地运行:该工具根据需要使用Tableau MCP运行
node build/index.js - 在Docker中运行:该工具将Tableau MCP作为Docker容器运行
任何一种方法都可以。Docker路径稍微容易一些,因为所有的环境变量 存储在一个文件中,而不是每个AI工具的配置部分。
环境变量
a中指定的所有环境变量 .env 文件将可供MCP服务器使用。创建一个
.env 但不需要文件,因为AI工具也可以通过以下方式提供环境变量
他们的MCP配置或通过以下方式连接到运行MCP服务器的Docker容器 env.list 文件。
根据您所需的模式,按如下方式创建环境配置:
对于 在本地运行,创建一个 mcpServers JSON代码段使用 config.stdio.json 或
config.http.json 作为模板,具体取决于您所需的传输类型。对于 stdio 运输,
它应该看起来像这样:
{
"mcpServers": {
"tableau": {
"command": "node",
"args": ["/full-path-to-tableau-mcp/build/index.js"],
"env": {
"TRANSPORT": "stdio",
"SERVER": "https://my-tableau-server.com",
"SITE_NAME": "",
"PAT_NAME": "",
"PAT_VALUE": "",
... etc
}
}
}
}
对于 使用Docker运行,创建一个 env.list 项目根目录中的文件使用
env.example.list 作为模板。同时创建一个 mcpServers JSON代码段类似
config.docker.json。它应该看起来像这样:
{
"mcpServers": {
"tableau": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--env-file",
"/full-path-to-tableau-mcp/env.list",
"tableau-mcp"
]
}
}
}
这些配置文件将用于下面解释的工具配置。
所需的环境变量
| 变量 | 描述 |
|---|---|
SERVER |
Tableau服务器的URL。 |
SITE_NAME |
要使用的Tableau站点的名称。对于Tableau Server,将其设置为空字符串以指定默认站点。 |
PAT_NAME |
Tableau的名称 个人访问令牌 用于身份验证。 |
PAT_VALUE |
Tableau的价值 个人访问令牌 用于身份验证。 |
可选环境变量
| 变量 | 描述 | 默认 | 备注 |
|---|---|---|---|
TRANSPORT |
用于服务器的MCP传输类型。 | stdio |
可能的值有 stdio 或 http.为 http,请参阅 HTTP服务器配置 下面是其他变量。看 运输 了解详情。 |
DEFAULT_LOG_LEVEL |
服务器的默认日志记录级别。 | debug |
|
DATASOURCE_CREDENTIALS |
一个JSON字符串,其中包括需要用户名和密码的任何数据源的用户名和密码。 | 空字符串 | 格式在 数据源证书 下面的部分。 |
DISABLE_LOG_MASKING |
禁用日志中的凭据屏蔽。仅用于调试目的。 | false |
|
INCLUDE_TOOLS |
以逗号分隔的要包含在服务器中的工具名称列表。只有这些工具可用。 | 空字符串(全部 包含) | 有关可用工具的列表,请参阅 toolName.ts. |
EXCLUDE_TOOLS |
要从服务器中排除的工具名称的逗号分隔列表。所有其他工具都将可用。 | 空字符串(无 被排除在外) | 无法提供 INCLUDE_TOOLS. |
MAX_RESULT_LIMIT |
如果一个工具有一个“limit”参数并返回一个项目数组,则返回该数组的最大长度。 | 空字符串(无限) | 一个正数。 |
HTTP服务器配置
当 TRANSPORT 是 http,下面是可以执行以下操作的其他可选环境变量
用于配置HTTP服务器。
| 变量 | 描述 | 默认 | 备注 |
|---|---|---|---|
HTTP_PORT_ENV_VAR_NAME |
用于HTTP服务器端口的环境变量名称 | PORT |
|
| HTTP_PORT_ENV_VAR_NAME的值 | 用于HTTP服务器的端口。 | 3927 | |
SSL_KEY |
用于HTTP服务器的SSL密钥文件的路径。 | ||
SSL_CERT |
用于HTTP服务器的SSL证书文件的路径。 | ||
CORS_ORIGIN_CONFIG |
允许CORS请求的来源。 | true |
可接受的值包括 true, false, *,或URL或URL数组。请参阅 课程配置选项 了解详情。 |
数据源证书
这 DATASOURCE_CREDENTIALS 环境变量是一个JSON字符串,其中包括用户名和
需要密码的任何数据源的密码。格式为:
{"ds-luid1":[{"luid":"ds1-connection-luid1","u":"username1","p":"password1"},{"luid":"ds1-connection-luid2","u":"username2","p":"password2"}],"ds-luid2":[{"luid":"ds2-connection-luid1","u":"username3","p":"password3"}]}
这是以下对象的JSON字符串化版本:
{
"ds-luid1": [
{ luid: "ds1-connection-luid1", u: "username1", p: "password1" },
{ luid: "ds1-connection-luid2", u: "username2", p: "password2" }
],
"ds-luid2": [
{ luid: "ds2-connection-luid1", u: "username3", p: "password3" }
]
}
连接LUID可以通过以下方式确定 查询数据源连接REST API. 未来的工作将包括一个自动化这一过程的工具。有关更多信息,请参见 连接到您的数据源.
运行MCP检查器
这 MCP检查员 是一个有用的工具,可以确认您的配置是否正确,并 探索Tableau MCP功能。
- 非Docker用户使用
stdio交通应该创造一个config.json根目录下的文件 项目使用config.stdio.json作为模板。 - 非Docker用户使用
http交通应该创造一个.env项目根目录中的文件 使用env.example.list作为模板。 - Docker用户应该创建一个
env.list文件使用env.example.list作为模板。
构建项目并设置环境变量后,您可以启动MCP检查器 使用以下命令之一:
| 命令 | 运输 | 描述 |
|---|---|---|
npm run inspect |
stdio |
启动MCP检查器,它使用Node.js在本地运行服务器。 |
npm run inspect:docker |
stdio |
启动MCP Inspector,它使用Node.js在Docker容器中运行服务器。 |
npm run inspect:http |
http |
使用以下命令启动本地运行服务器的MCP检查器 快速. |
npm run inspect:docker:http |
http |
启动MCP Inspector,它使用以下命令在Docker容器中运行服务器 快速. |
克劳德桌面
对于Claude,打开设置对话框,选择 开发者 部分,然后单击 编辑配置.
添加 tableau MCP服务器到 mcpServers 配置中的对象使用 config.stdio.json,
config.http.json,或 config.docker.json 作为模板。
光标
为Cursor创建一个配置文件 .cursor/mcp.json 在您的项目目录中(for
项目特定访问权限)或 ~/.cursor/mcp.json 在您的主目录中(用于全局访问
所有项目)。
添加 tableau MCP服务器配置使用 config.stdio.json, config.http.json,或
config.docker.json 作为模板。有关更多详细信息,请参阅
光标MCP文档.
| 类型 | 安装链接 |
|---|---|
| 节点 | |
| Docker |
VSCode
对于VSCode,创建一个 .vscode/mcp.json 工作区文件夹中的文件(用于特定于项目的访问)
或者将服务器配置添加到用户设置中(以便跨所有工作区进行全局访问)。
添加 tableau MCP服务器配置使用 config.stdio.json, config.http.json,或
config.docker.json 作为模板。有关更多详细信息,请参阅
VSCode MCP文档.
开发者
贡献
我们正在跟踪 叉拉模型 其中贡献者将对此仓库进行自己的分叉,实现他们的更改,然后提交 在此处拉取请求。
请参阅 贡献清单 有关的更多详细信息 步骤。
调试
您可以使用 VS代码运行和调试启动器 运行和调试服务器。
要设置带有断点的本地调试,请执行以下操作:
-
将环境变量存储在VS Code用户设置中:
-
打开命令面板(F1或Cmd/Ctrl+Shift+P)。
-
类型
Preferences: Open User Settings (JSON). -
这应该会打开用户的
settings.json文件。 -
从以下位置复制环境变量
.vscode/settings.example.json,将它们附加到JSON中 blob在用户的settings.json并相应地更新其值:"tableau.mcp.SERVER": "https://my-tableau-server.com", ...
-
-
在TypeScript文件中设置断点。
-
找到并单击
Run and Debug活动栏中的按钮。 -
选择标记为“”的配置
Launch MCP Server”在下拉列表中。 -
单击开始调试▶️ 按钮或按F5。
