Tableau AI集成开发工具

Tableau MCP是一套开发者工具集,提供与Tableau集成的AI应用开发支持,包括数据源访问、元数据收集和Pulse API功能。适用于需要将AI工具与Tableau数据源集成的开发场景。

  • by YahyaVerisure
  • 本地部署
  • 更新于
在 GitHub 查看 yahyaverisure/tableau-mcp

使用说明

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:

  1. 克隆存储库
  2. 安装 Node.js (使用22.15.0 LTS进行测试)
  3. npm install
  4. npm run build

要跟上回购的变化:

  1. 拉取最新更改: git pull
  2. npm install
  3. npm run build
  4. 重新启动您的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代码运行和调试启动器 运行和调试服务器。

要设置带有断点的本地调试,请执行以下操作:

  1. 将环境变量存储在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",
      ...
      
  2. 在TypeScript文件中设置断点。

  3. 找到并单击 Run and Debug 活动栏中的按钮。

  4. 选择标记为“”的配置Launch MCP Server”在下拉列表中。

  5. 单击开始调试▶️ 按钮或按F5。