cwtwb MCP 服务端 — Tableau TWB 自动生成服务器
- 项目简介
- 该仓库实现了一个基于 MCP 的服务器端,用于生成和管理 Tableau 工作簿(TWB 文件),面向需要与 LLM 客户端联动的场景提供统一的后端能力。
- 核心功能包括:读取数据字段与计算字段、创建与配置工作表、添加仪表盘、布局渲染、以及将最终结果保存为 TWB 文件。
- 主要功能点
- 资源与工具
- 提供对 Tableau 函数库等资源的访问接口(如 read_tableau_functions)。
- 提供创建工作簿、列出字段、添加/删除计算字段等工具函数。
- 工作表与图表配置
- 添加工作表、配置 Bar/Line/Pie/Map/Area/Square/Text 等图表类型及其字段编码(行列、颜色、大小、标签等)。
- 支持地图的经纬度数据、地图专用编码、以及地图专用视图元素。
- 仪表盘与布局
- 支持 Declarative JSON 布局,生成 Tableau 的 zone 树结构,并可通过生成布局 JSON 文件后再在仪表盘中引用。
- 支持通过生成的布局文件进行复杂仪表盘的构建与嵌套布局。
- 数据源与连接
- 提供 MySQL、本地/Tableau 服务器等数据源连接配置接口,更新工作簿中的数据源和关系映射。
- 保存与导出
- 将编辑后的 TWB 保存到磁盘,生成可在 Tableau Desktop 打开查看的新工作簿。
- MCP 交互
- 以 MCP 协议实现工具注册、资源读取、请求执行、以及布局生成等能力,支持 stdio 传输等多种传输方式。
- 资源与工具
- 安装与运行
- 安装要求(参考项目文档)
- Python 3.10 及以上
- lxml
- mcp(MCP 客户端/服务端通用组件)≥ 1.0
- 快速安装
- pip install cwtwb
- 运行方式
- 安装后可通过命令行启动服务(入口名通常为 cwtwb),也可通过直接运行 python -m cwtwb.server 在 stdio 传输中使用。
- 安装要求(参考项目文档)
- 服务器配置示例(MCP 客户端配置需提供启动信息,以下为示例说明,不含客户端代码)
- 服务器名称: cwtwb
- 启动命令: cwtwb
- 参数(可选): []
- 说明: 客户端通过 MCP 协议向该服务器发送请求,例如创建工作簿、添加工作表、配置图表和保存TWB等,服务器返回 JSON-RPC 格式的响应。
- 注释说明(非代码形式):
- server name 对应 MCP 服务端注册名,客户端通过该名称定位服务器。
- command 与 args 描述如何启动服务器进程及其所需参数,args 为空时使用默认行为。
- 基本使用方法
- 启动服务器
- 通过安装后的命令行工具启动,或在开发环境直接执行服务器入口(如 python -m cwtwb.server)。
- 与客户端联动的工作流(示例性描述)
- 调用 create_workbook 获取模板并清空初始工作表。
- 使用 add_parameter、add_calculated_field、add_worksheet、configure_chart 等工具逐步构建数据模型与可视化。
- 使用 add_dashboard 组合工作表并通过 declarative JSON 布局实现复杂仪表盘。
- 调用 save_workbook 将结果导出为 TWB 文件,便于在 Tableau Desktop 打开查看。
- MCP 客户端的配置要点
- 客户端需要的仅是启动命令与必要参数,以与 MCP 服务器建立连接并通过 JSON-RPC 进行请求与接收响应。
- 服务器提供了多种资源与工具接口,客户端可按需调用,例如读取 Tableau 函数、创建工作簿、配置图表、增加仪表盘等。
- 启动服务器