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 为空时使用默认行为。
  • 基本使用方法
    1. 启动服务器
      • 通过安装后的命令行工具启动,或在开发环境直接执行服务器入口(如 python -m cwtwb.server)。
    2. 与客户端联动的工作流(示例性描述)
      • 调用 create_workbook 获取模板并清空初始工作表。
      • 使用 add_parameter、add_calculated_field、add_worksheet、configure_chart 等工具逐步构建数据模型与可视化。
      • 使用 add_dashboard 组合工作表并通过 declarative JSON 布局实现复杂仪表盘。
      • 调用 save_workbook 将结果导出为 TWB 文件,便于在 Tableau Desktop 打开查看。
    3. MCP 客户端的配置要点
      • 客户端需要的仅是启动命令与必要参数,以与 MCP 服务器建立连接并通过 JSON-RPC 进行请求与接收响应。
      • 服务器提供了多种资源与工具接口,客户端可按需调用,例如读取 Tableau 函数、创建工作簿、配置图表、增加仪表盘等。

服务器信息