Tableau MCP入门套件
一个强大的集成,使用MCP和LangChain将AI功能带到Tableau Server或Tableau Cloud,实现与您在Tableau中信任的数据的自然语言交互。
🚀 特性
- Tableau数据的自然语言查询
- 可通过Web界面或仪表板扩展程序使用
- 同时支持Tableau Server和Tableau Cloud
📋 先决条件
在开始之前,请确保您拥有以下内容:
- Tableau服务器版本2025.1 或稍后 Tableau云,免费的Tableau Cloud试用版可通过 Tableau开发人员计划
- Python 3.12+ - 下载Python
- Git - 下载Git
- API证书 对于您选择的AI模型(OpenAI等)
⚠️ 警告
使用此代码时,Tableau中的数据将被发送到外部AI模型(默认情况下为OpenAI)。对于学习和测试,强烈建议使用Tableau附带的Superstore数据集。
如果您需要处理敏感或专有信息,请考虑将该工具配置为使用本地AI模型而不是外部服务。这种方法可确保您的数据保留在组织的基础设施中,并降低数据暴露的风险。
📺 Tableau MCP快速入门指南
如果您还没有尝试Tableau MCP,我建议您使用Claude desktop和VSCode等桌面应用程序进行测试。你可以在下面找到我的快速入门教程的链接。
📺 升级指南
🛠️ 安装
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 build2.克隆初学者工具包库
git clone https://github.com/TheInformationLab/tableau_mcp_starter_kit.git
cd tableau_mcp_starter_kit3.创建虚拟环境
创建虚拟环境有助于隔离项目依赖关系:
python -m venv .venv4.激活虚拟环境
窗户:
.venv\Scripts\activatemacOS/Linux:
source .venv/bin/activate💡 提示: 你应该看看 (.venv) 当虚拟环境处于活动状态时,在命令提示符的开头。
5.安装依赖项
pip install -r requirements.txt如果您遇到任何安装问题,请先尝试升级pip:
pip install --upgrade pip⚙️ 配置
环境变量设置
- 复制模板环境文件:
cp .env_template .env- 打开
.env在首选文本编辑器中创建文件,并配置以下变量:
# Tableau MCP Server Config
TRANSPORT='stdio'
SERVER='https://my-tableau-server.com'
SITE_NAME='TableauSiteName'
PAT_NAME='Tableau Personal Access Token (PAT) Name'
PAT_VALUE='Tableau Personal Access Token (PAT) Secret Key'
# Tableau MCP Server Optional Configs
DATASOURCE_CREDENTIALS=''
DEFAULT_LOG_LEVEL='debug'
INCLUDE_TOOLS=''
EXCLUDE_TOOLS=''
MAX_RESULT_LIMIT=''
DISABLE_QUERY_DATASOURCE_FILTER_VALIDATION=''
# Local Filepath Config
TABLEAU_MCP_FILEPATH='your/local/filepath/to/tableau-mcp/build/index.js'
# Model Providers
OPENAI_API_KEY='from OpenAI developer portal'
# Langfuse
LANGFUSE_PUBLIC_KEY = 'Public key from https://langfuse.com/'
LANGFUSE_SECRET_KEY = 'Secret key from https://langfuse.com/'
LANGFUSE_HOST = 'https://cloud.langfuse.com'
# Custom MCP Tool Extra Configs
# from: https://github.com/wjsutton/tableau-mcp-experimental
FIXED_DATASOURCE_LUID='unique identifier for a data source found via the graphql metadata API'⚠️ 安全说明: 永远不要承诺你的 .env 文件到版本控制。它已经包含在 .gitignore.
🏃♂️ 运行应用程序
Web界面模式
启动具有仪表板扩展支持的完整web应用程序:
python web_app.py运行后,打开浏览器并导航到:
- 地方发展:
http://localhost:8000 - 应用程序将在终端中显示正确的URL
您现在可以用自然语言提问:
- “客户满意度的趋势是什么?”
- “比较第一季度和第二季度的收入”
- “显示销售数据中的异常值”
您还可以使用仪表板扩展支持运行此web应用程序。
运行后,打开Tableau工作簿,或 超市仪表盘
在仪表板页面的左下角菜单中,拖动仪表板扩展、本地扩展,然后选择 tableau@langchain.trex 从dashboard_exxtension文件夹中。
自定义仪表板扩展
脚本 dashboard_app.py 配置为仅使用单个数据源,使用来自的自定义工具 .
着手做
- 安装自定义工具:
git clone https://github.com/wjsutton/tableau-mcp-experimental.git
cd tableau-mcp-experimental- 使用Node.js(使用22.15.0 LTS测试)执行:
npm install
npm run build- 返回Tableau MCP入门套件:
cd ..
cd tableau_mcp_starter_kit- 在dashboard_app.py中,更新:
Line 36: mcp_locationtableau-mcp实验的本地文件路径
- 找到你的数据源流体,你可以使用 实用程序/find_datasource_luid.gql 以查询您的Tableau服务器/云的元数据API。
- 在.env中,将数据源luid添加到FIXED_datasource_luid环境变量中。
- 运行dashboard_app脚本
python dashboard_app.py验证应用程序是否正在运行,打开浏览器并导航到:
- 地方发展:
http://localhost:8000 - 应用程序将在终端中显示正确的URL
运行后,打开Tableau工作簿,或 超市仪表盘
在仪表板页面的左下角菜单中,拖动仪表板扩展、本地扩展,然后选择 tableau@langchain.trex 从dashboard_exxtension文件夹中。
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🤝 参与
- 看看 Tableau MCP 回购以获得进一步发展
- 加入 #表ai解决方案 Slack上的对话。注册 DataDev Slack频道在这里。
🙏 致谢
- Tableau MCP 开发工具的团队
- Tableau LangChain入门套件 这个项目的前传
- LangChain 对于AI框架
- Tableau 的中文翻译是“ tableau ”。 用于可视化平台
- 所有帮助改进此项目的贡献者
______________________________________________________________________
⭐ 如果你觉得这个项目有帮助,请考虑给它一颗星!
