Tableau云MCP服务器2.0
使用TypeScript构建的用于Tableau Cloud管理的全面MCP(模型上下文协议)服务器。该服务器提供企业级工具,具有完整的Tableau Cloud API覆盖范围、结构化日志记录和生产就绪架构。
特性
- API全面覆盖:50多种工具,涵盖Tableau云管理的各个方面
- 企业架构:具有完全类型安全、结构化日志记录和错误处理的TypeScript
- 生产就绪:Docker支持、全面配置和专业部署选项
- MCP官方标准:按照Tableau的官方MCP实施模式构建
- 综合管理:用户、组、工作簿、数据源、项目、权限等
快速开始
先决条件
- Node.js 20或更高版本
- 具有API访问权限的Tableau云网站
- 具有站点管理员权限的个人访问令牌
安装
# Install dependencies
npm install
# Build the project
npm run build配置
- 复制环境模板:
cp .env.example .env- 编辑
.env使用您的Tableau Cloud凭据:
SERVER=https://your-site.online.tableau.com
PAT_NAME=your-personal-access-token-name
PAT_VALUE=your-personal-access-token-value
SITE_NAME=your-site-name- 更新
config.json对于Claude Desktop:
{
"mcpServers": {
"tableau-cloud": {
"command": "node",
"args": ["./build/index.js"],
"env": {
"SERVER": "https://your-site.online.tableau.com",
"PAT_NAME": "your-pat-name",
"PAT_VALUE": "your-pat-value",
"SITE_NAME": "your-site-name"
}
}
}
}用法
运行服务器:
node build/index.js或与MCP Inspector一起使用:
npm run inspect可用工具
用户管理
create-user-创建具有指定角色的新用户search-users-按各种条件列出和筛选用户
内容管理
list-workbooks-列出并筛选已发布的工作簿list-datasources-列出并筛选已发布的数据源create-project-使用权限设置创建新项目
即将推出
- 其他用户工具(更新、删除、按名称获取)
- 集团管理工具
- 权限管理工具
- 操作工具(作业、时间表)
- 站点管理工具
- 高级数据访问工具
建筑
此实现遵循官方Tableau MCP模式,包括:
- TypeScript基金会:具有Zod验证的全类型安全
- 模块化设计:MCP层、SDK抽象和工具实现之间的清晰分离
- 企业记录日志:具有请求关联和秘密屏蔽的结构化日志记录
- 结果类型:使用ts结果进行功能错误处理
- 配置管理:基于环境的配置和验证
- 专业测试:带有覆盖率报告的Vitest框架
发展
# Install dependencies
npm install
# Start development build with watch
npm run build:watch
# Run tests
npm test
# Run tests with coverage
npm run coverage
# Lint code
npm run lint
# Build and inspect
npm run build:inspect部署
码头工人
使用Docker构建和运行:
npm run build:docker
docker run -e SERVER=... -e PAT_NAME=... -e PAT_VALUE=... -e SITE_NAME=... tableau-cloud-mcp生产
该服务器专为生产部署而设计,具有:
- 具有可配置级别的结构化日志记录
- 请求调试相关性
- 安全的凭证处理
- 性能监控能力
- 错误恢复和重试机制
配置选项
| 环境变量 | 描述 | 默认值 |
|---|---|---|
SERVER | Tableau云服务器URL | 必填 |
PAT_NAME | 个人访问令牌名称 | 必填 |
PAT_VALUE | 个人访问令牌值 | 必填 |
SITE_NAME | Tableau站点名称 | 必填 |
DEFAULT_LOG_LEVEL | 日志记录级别 | debug |
DISABLE_LOG_MASKING | 禁用敏感数据屏蔽 | false |
INCLUDE_TOOLS | 以逗号分隔的工具列表 | 所有工具 |
EXCLUDE_TOOLS | 以逗号分隔的排除工具列表 | 无 |
贡献
- 分叉存储库
- 创建要素分支
- 使用正确的TypeScript类型进行更改
- 添加新功能的测试
- 运行linting和测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
支持
如有疑问、问题或功能请求:
- 打开GitHub问题
- 检查综合工具文档
- 查看配置示例
内置于❤️ Tableau社区
