带技术知识库的Tableau分析助手
使用Claude+模型上下文协议(MCP)将您的技术库与实时Tableau数据分析相结合
  
这有什么作用
重要提示: 此存储库提供 仅限框架和工具 -不包括PDF书籍或受版权保护的材料。您需要提供自己的技术PDF集合。本自述文件中引用的统计数据(95本书,75003块等)反映了作者的个人图书馆,并将根据您自己的收藏而有所不同。
通过提出结合以下内容的问题来改变您的数据分析工作流程 理论知识 从您的技术书籍中 实时数据 来自Tableau:
示例问题:
- *“我的Tableau书籍中的LOD计算最佳实践是什么,然后用我的Sample Superstore数据向我展示示例?”*
- *“在我的Python书籍中搜索pandas合并技术,然后分析哪些客户出现在多个地区”*
- *“根据我的数据科学书籍,处理异常值的最佳方法是什么,我的利润领域有吗?”*
由两台协同工作的MCP服务器提供支持:
- 技术知识库 -跨PDF库的语义搜索
- Tableau云 -对Tableau数据源的实时查询
主要特点
- 语义搜索 -立即在90多个技术PDF中查找相关内容
- 实时数据查询 -查询Tableau数据源、元数据和分析
- 双重语境分析 -在一次谈话中将理论与实践相结合
- 安全 -代码中未存储凭据(仅环境变量)
- Claude桌面集成 -与Claude的聊天界面无缝协作
- 快速 -ChromaDB矢量搜索在2秒内返回结果
先决条件
- Python 3.9+ -使用
py --version在Windows上 - Microsoft C++构建工具 -Windows上ChromaDB需要(点击此处下载)
- Node.js -Tableau MCP服务器需要(点击此处下载)
- Tableau云或服务器 -拥有创作者许可证或更高版本
- Tableau个人访问令牌(PAT) -用于API身份验证
- 克劳德桌面 -下载自 claude.ai
- PDF库 -您自己的PDF格式技术书籍集(不包括在内-见上文注释)
- 最低4GB RAM (对于较大的库,建议使用8GB)
- 2GB磁盘空间 -用于ChromaDB索引存储
Windows用户: 看 docs/WINDOWS_SETUP.md Windows特定的安装步骤和常见问题的解决方案。
快速开始
1.克隆和设置
# Clone the repository
git clone https://github.com/jvijeh/tableau-knowledge-mcp.git
cd tableau-knowledge-mcpWindows(PowerShell):
# Create virtual environment
py -m venv venv
# Activate virtual environment
& .\venv\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txtMac/Linux:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt重要提示: 始终寻找 (venv) 在运行任何命令之前,请在提示符下执行。没有它,包裹就找不到了。2.配置环境变量
# Copy the example environment file
cp .env.example .env打开 .env 并更新这些必需值:
TABLEAU_SERVER_URL=https://your-site.online.tableau.com
TABLEAU_SITE_NAME=your-site-name
TABLEAU_PAT_NAME=your-token-name
TABLEAU_PAT_SECRET=your-token-secret
PDF_LIBRARY_PATH=/path/to/your/pdf/books看 docs/TABLEAU_SETUP.md 以获取创建个人访问令牌的帮助。
3.索引您的PDF库
# Windows
python scripts\index_books.py --pdf-dir "C:\path\to\your\books"
# Mac/Linux
python scripts/index_books.py --pdf-dir "/path/to/your/books"脚本会自动搜索子文件夹 -在主题文件夹中组织您的书籍:
books/
├── Tableau/
├── Python/
├── SQL/
└── Data_Science/预期产量:
Loading embedding model: sentence-transformers/all-MiniLM-L6-v2
Initializing ChromaDB at: ./chroma_db
Found 110 PDF files
[1/110] Processing: Learning_Tableau_2025.pdf
✓ Indexed 856 chunks
...
✅ Indexing complete!
📊 Successfully indexed: 95/110 books
📊 Total chunks: 75,003
📊 Average chunks per book: 789注: 85-90%的成功率是正常的。扫描的PDF和加密文件会自动跳过。
4.配置克劳德桌面
配置文件位置:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - 雨衣:
~/Library/Application Support/Claude/claude_desktop_config.json
添加此配置(替换 {username} 使用您的Windows用户名):
{
"mcpServers": {
"tableau": {
"command": "npx",
"args": ["-y", "@tableau/mcp-server@latest"],
"env": {
"SERVER": "https://your-site.online.tableau.com",
"SITE_NAME": "your-site-name",
"PAT_NAME": "your-token-name",
"PAT_VALUE": "your-token-secret"
}
},
"technical-knowledge-base": {
"command": "C:\\Users\\{username}\\tableau-knowledge-mcp\\venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\{username}\\tableau-knowledge-mcp\\src\\server.py"
],
"env": {
"CHROMA_DB_PATH": "C:\\Users\\{username}\\tableau-knowledge-mcp\\chroma_db",
"PDF_LIBRARY_PATH": "C:\\Users\\{username}\\books",
"EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2",
"MAX_SEARCH_RESULTS": "5"
}
}
}
}重要提示: 使用带有双反斜杠的绝对路径\\在Windows上。这CHROMA_DB_PATHenv变量是Claude Desktop查找索引所必需的。
看 examples/claude_desktop_config json 一个完整的模板。
5.重新启动克劳德桌面并测试
- 完全退出克劳德桌面(文件→ Quit)
- 重新打开克劳德桌面
- 单击右下角的插头图标
- 验证两台服务器是否显示为已连接
测试查询:
List all books in my technical knowledge baseWhat datasources are available in my Tableau environment?Search my Tableau books for LOD calculations, then show me
the fields available in Sample-Superstore文档
- docs/INSTALLATION.md -详细的分步设置
- docs/WINDOWS_SETUP.md -Windows特定指南及常见问题
- docs/TABLEAU_SETUP.md -创建个人访问令牌
- docs/ARCHITECTURE.md -系统如何工作
- docs/TROUBLESHOOTING.md -常见问题和解决方案
- docs/CONTRIBUTING.md -如何做出贡献
建筑
┌─────────────────┐
│ Claude Desktop │
└────────┬────────┘
│
┌────┴─────────────────────────────┐
│ │
┌───▼──────────────┐ ┌───────────▼──────┐
│ Technical KB MCP │ │ Tableau Cloud MCP│
│ │ │ │
│ • ChromaDB │ │ • REST API │
│ • Embeddings │ │ • Live Queries │
│ • 75K chunks │ │ • Metadata │
└───┬──────────────┘ └──────────┬───────┘
│ │
┌───▼─────────┐ ┌────────▼─────────┐
│ PDF Library │ │ Tableau Cloud │
│ (95 books) │ │ (your datasets) │
└─────────────┘ └──────────────────┘看 docs/ARCHITECTURE.md 详细的系统设计。
示例用例
学习+应用
提出理论问题,并立即用你的数据看到实际例子:
- “我的SQL书中解释了哪些不同类型的连接,然后使用我的Superstore数据向我展示示例”
- “根据我的数据清理手册,我应该如何处理NULL值,我的Sales字段中是否有NULL值?”
内容创作
使用助手创建教育内容:
- “我想写一篇关于LOD计算的文章。从我的Tableau书籍中提取示例,并使用我的Superstore数据创建演示查询”
数据探索
将领域知识与数据发现相结合:
- “我的分析书中常见的客户细分技术是什么,我的客户数据中存在哪些细分?”
故障排除
获得特定技术挑战的帮助:
- “我的RANK()计算没有按预期工作。我的Tableau书籍中有哪些常见错误,你能回顾一下我的实际计算吗?”
配置选项
编辑 .env 要自定义性能:
CHUNK_SIZE=1000 # Larger = more context per result
CHUNK_OVERLAP=200 # 20% overlap preserves context between chunks
MAX_SEARCH_RESULTS=5 # Number of results returned per query
BATCH_SIZE=10 # PDFs processed simultaneously during indexing安全最佳实践
做:
- 使用
.env所有凭据的文件 - 保持
.env在.gitignore - 定期轮换Tableau PAT
- 为此项目使用专用PAT
- 设置PAT到期日期(建议90-365天)
不要:
- 提交
.env文件到Git - 在代码或文档中共享凭据
- 使用生产PAT进行测试
- 将凭据直接存储在claude_desktop_config.json中
常见问题(Windows)
| 错误 | 修复 |
|---|---|
python not found | 使用 py 而不是 python |
venv activation fails | 使用 & .\venv\Scripts\Activate.ps1 在PowerShell中 |
pip not recognized | 先激活venv-寻找 (venv) 前缀 |
chroma-hnswlib build error | 安装Microsoft C++构建工具 |
np.float_ removed | pip install "numpy<2.0" |
cached_download missing | pip install --upgrade sentence-transformers |
No module named 'mcp' | pip install mcp |
Found 0 PDF files | 检查路径-脚本自动搜索子文件夹 |
| 知识库断开连接 | 添加绝对值 CHROMA_DB_PATH 转到Claude Desktop配置环境部分 |
看 docs/WINDOWS_SETUP.md 了解每个问题的完整细节。
项目统计
在新安装的Windows上进行了测试(2026年2月):
- 95本书 已成功索引
- 75003个文本块 可搜索的
- 成功率86% 110个PDF文件
- 约23分钟 110本书的索引时间
- ~45分钟 总设置时间(包括C++构建工具)
- 不到2秒 平均查询响应时间
路线图
- \[\]用于设置和配置的Web UI
- \[\]支持Power BI数据集
- \[\]支持多语言PDF
- \[\]Docker容器化
- \[\]云部署指南
- \[\]扫描PDF的OCR支持
贡献
欢迎投稿!看 docs/CONTRIBUTING.md 作为指导方针。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
作者
约书亚 维耶赫
- 博客: DataDevDiary.com
- github: @jvijeh
致谢
- 建于 Anthropic的模型上下文协议
- 用途 ChromaDB 用于矢量搜索
- Tableau MCP by @画面
- 句子变形金刚 UKPLab
- 克劳德Anthropic 在整个构建过程中用作开发和故障排除助手
支持
- Bug报告:
- 问题:
- 博客: DataDevDiary.com
______________________________________________________________________
如果这个项目对你有帮助,请在存储库中加星!
