返回市场
Tableau_MCP_入门工具包

Tableau_MCP_入门工具包

作者:TheInformationLab15 星标更新:2025-09-09

项目介绍

Tableau MCP 起始工具包

一个强大的集成方案,通过MCP和LangChain将AI功能引入Tableau Server或Tableau Cloud,使您能够以自然语言与信任的数据进行交互。

此仓库是使用MCP工具和LangChain实现的tableau-mcp,基于Tableau LangChain 起始工具包

🚀 功能

  • 使用自然语言查询Tableau数据
  • 可通过Web界面或仪表板扩展访问
  • 支持Tableau Server和Tableau Cloud

📋 先决条件

在开始之前,请确保您拥有以下内容:

  • Tableau Server 版本 2025.1 或更高版本,或者 Tableau Cloud,可通过Tableau 开发者计划获得免费的Tableau Cloud试用版。
  • Python 3.12+ - 下载 Python
  • Git - 下载 Git
  • 您选择的AI模型(如OpenAI)的API凭证

⚠️ 警告

使用此代码时,Tableau中的数据将发送到外部AI模型(默认为OpenAI)。为了学习和测试,强烈建议使用随Tableau附带的Superstore数据集。

如果您需要处理敏感或专有信息,请考虑将工具配置为使用本地AI模型而不是外部服务。这种方法确保您的数据保留在组织的基础设施内,并减少数据暴露的风险。

📺 快速入门指南

如果您尚未尝试过Tableau MCP,我推荐您使用桌面应用程序如Claude Desktop和VSCode进行测试。您可以在下方找到我的快速入门教程链接。

<div align="center"> <a href="https://www.youtube.com/watch?v=hmdzDlMBraw"> <img src="https://img.youtube.com/vi/hmdzDlMBraw/maxresdefault.jpg" width ="48%"> </a> <a href="https://www.youtube.com/watch?v=opbXLGZDKdU"> <img src="https://img.youtube.com/vi/opbXLGZDKdU/maxresdefault.jpg" width ="48%"> </a> </div>

📺 进阶指南

<a href="https://www.youtube.com/watch?v=juD1rQxhiqA"> <img src="https://img.youtube.com/vi/juD1rQxhiqA/maxresdefault.jpg" width ="80%"> </a>

🛠️ 安装

1. 安装Tableau MCP

git clone https://github.com/tableau/tableau-mcp.git
cd tableau-mcp

安装指南

安装Node.js(已测试版本22.15.0 LTS)

npm install
npm run build

2. 克隆起始工具包仓库

git clone https://github.com/TheInformationLab/tableau_mcp_starter_kit.git
cd tableau_mcp_starter_kit

3. 创建虚拟环境

创建虚拟环境有助于隔离项目依赖项:

python -m venv .venv

4. 激活虚拟环境

Windows:

.venv\Scripts\activate

macOS/Linux:

source .venv/bin/activate

💡 提示: 当虚拟环境激活时,您应该会在命令提示符的开头看到 (.venv)

5. 安装依赖项

pip install -r requirements.txt

如果遇到任何安装问题,请先升级pip:

pip install --upgrade pip

⚙️ 配置

环境变量设置

  1. 复制模板环境文件:
cp .env_template .env
  1. 在您喜欢的文本编辑器中打开.env文件并配置以下变量:
# Tableau MCP 服务器配置
TRANSPORT='stdio'
SERVER='https://my-tableau-server.com'
SITE_NAME='TableauSiteName'
PAT_NAME='Tableau 个人访问令牌 (PAT) 名称'
PAT_VALUE='Tableau 个人访问令牌 (PAT) 密钥'

# Tableau MCP 服务器可选配置
DATASOURCE_CREDENTIALS=''
DEFAULT_LOG_LEVEL='debug'
INCLUDE_TOOLS=''
EXCLUDE_TOOLS=''
MAX_RESULT_LIMIT=''
DISABLE_QUERY_DATASOURCE_FILTER_VALIDATION=''

# 本地文件路径配置
TABLEAU_MCP_FILEPATH='your/local/filepath/to/tableau-mcp/build/index.js'

# 模型提供商
OPENAI_API_KEY='来自 OpenAI 开发者门户'

# Langfuse 
LANGFUSE_PUBLIC_KEY = '来自 https://langfuse.com/ 的公共密钥'
LANGFUSE_SECRET_KEY = '来自 https://langfuse.com/ 的私有密钥'
LANGFUSE_HOST = 'https://cloud.langfuse.com'

# 自定义 MCP 工具额外配置
# 来自: https://github.com/wjsutton/tableau-mcp-experimental
FIXED_DATASOURCE_LUID='通过 GraphQL 元数据 API 找到的数据源唯一标识符'

⚠️ 安全提示: 切勿将您的.env文件提交到版本控制中。它已经包含在.gitignore中。

🏃‍♂️ 运行应用程序

Web界面模式

启动带有仪表板扩展支持的完整Web应用程序:

python web_app.py

运行后,在浏览器中导航至:

  • 本地开发: http://localhost:8000
  • 应用程序将在终端中显示正确的URL

现在您可以使用自然语言提问:

  • "客户满意度的趋势是什么?"
  • "比较第一季度和第二季度的收入"
  • "展示销售数据中的异常值"

您也可以使用带有仪表板扩展支持的Web应用程序。

运行后,打开您的Tableau工作簿,或Superstore仪表板

在仪表板页面上,在左下角菜单中拖动仪表板扩展,本地扩展,并从dashboard_extension文件夹中选择tableau_langchain.trex

自定义仪表板扩展

脚本dashboard_app.py配置为仅使用单个数据源,使用来自https://github.com/wjsutton/tableau-mcp-experimental的自定义工具。

要执行

  1. 安装自定义工具:
git clone https://github.com/wjsutton/tableau-mcp-experimental.git
cd tableau-mcp-experimental
  1. 使用Node.js(已测试版本22.15.0 LTS)执行:
npm install
npm run build
  1. 返回到Tableau MCP起始工具包:
cd ..
cd tableau_mcp_starter_kit
  1. 在dashboard_app.py中更新:第36行: mcp_location为tableau-mcp-experimental的本地文件路径。

  2. 查找您的数据源luid,您可以使用utilities/find_datasource_luid.gql查询您的Tableau Server / Cloud的元数据API。

  3. 在.env中添加您的数据源luid到FIXED_DATASOURCE_LUID环境变量。

  4. 运行dashboard_app脚本

python dashboard_app.py

验证应用是否正在运行,在浏览器中导航至:

  • 本地开发: http://localhost:8000
  • 应用程序将在终端中显示正确的URL

运行后,打开您的Tableau工作簿,或Superstore仪表板

在仪表板页面上,在左下角菜单中拖动仪表板扩展,本地扩展,并从dashboard_extension文件夹中选择tableau_langchain.trex

📄 许可证

本项目采用MIT许可证 - 详情见LICENSE文件。

🤝 参与其中

🙏 致谢


⭐ 如果您发现这个项目有用,请考虑给它一个星!