mcpField
T
test-tableau-mcp

test-tableau-mcp

本地服务
github.com/joeconstantino数据与分析378 周前更新

关于 test-tableau-mcp

test-tableau-mcp 是一个原型项目,通过 MCP 服务暴露 Tableau VDS 端点,供 Claude Desktop 接入;需要配置端点信息、数据源 LUID 和会话令牌。

主要功能

  1. 01暴露 Tableau VDS 端点
  2. 02连接 Claude Desktop
  3. 03配置数据源与会话令牌

适用场景

  1. 01在 Claude Desktop 中查询 Tableau VDS 数据源
  2. 02原型验证通过 MCP 访问 VDS 端点

MCP 相关

作为 MCP 服务向 Claude Desktop 提供 Tableau VDS 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

test-tableau-mcp

该项目是一个快速原型,可通过 MCP 服务公开 Tableau VDS 端点,并将其与 Claude Desktop 客户端集成。

如需运行此 MCP 服务并将其连接到 Claude Desktop,请按照以下步骤操作。这些说明改编自 MCP 操作指南。这些说明假定你使用的是 MacOS/Linux。如果你使用 Windows,请参阅上面链接的操作指南。

系统要求

已安装 Python 3.10 或更高版本。 必须使用 Python MCP SDK 1.2.0 或更高版本。

设置环境

如果尚未安装 UV,请先安装。

curl -LsSf https://astral.sh/uv/install.sh | sh

之后请务必重启终端,以确保能够识别 uv 命令。

现在,创建并设置虚拟环境:

# Create virtual environment and activate it
uv venv
source .venv/bin/activate

# Install dependencies
uv add "mcp[cli]" httpx

硬编码所需的环境变量

这个简单的原型要求你在 vds.py 文件中硬编码 4 个变量:

  1. 在 VIZQL_API_BASE 中填写你的服务端 URL
  2. 在 METADATA_GRAPHQL 中填写你的服务端 URL
  3. 在 DS_LUID 中填写你要查询的数据源的 LUID
  4. 在 AUTH_TOKEN 中填写有效的会话令牌

运行服务

uv --directory <ABSOLUTE PATH TO PROJECT> run vds.py

使用 Claude for Desktop 测试服务

首先,确保已安装 Claude for Desktop。你可以在此处安装最新版本。如果已经安装 Claude for Desktop,请确保已更新到最新版本。

我们需要为要使用的 MCP 服务配置 Claude for Desktop。为此,请在文本编辑器中打开 Claude for Desktop 应用配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json。如果该文件不存在,请先创建。

例如,如果已安装 VS Code: code ~/Library/Application\ Support/Claude/claude_desktop_config.json

然后,在 mcpServers 键中添加服务。只有至少正确配置了一个服务,MCP UI 元素才会显示在 Claude for Desktop 中。

在本例中,我们将按如下方式添加单个 vds 服务:

{
    "mcpServers": {
        "vds": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/test-tableau-mcp/",
                "run",
                "vds.py"
            ]
        }
    }
}

你可能需要在 command 字段中填写 uv 可执行文件的完整路径。你可以在 MacOS/Linux 上运行 which uv,或在 Windows 上运行 where uv 来获取该路径。

这会告诉 Claude for Desktop:

有一个名为“vds”的 MCP 服务。运行 uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/ run vds.py 来启动它。保存文件,然后重启 Claude for Desktop。

在 Claude 中运行查询以触发工具

MCP 工具不会明确传递 VDS API 语法,因此请在会话开始时传入一些上下文示例,向 Claude 展示如何正确格式化 Query 对象。你可以复制 samples.py 中的字典数组。向 Claude 发送如下初始消息: 请确保根据以下语法生成负载:

in_context_samples = [
  {
    "fields": [
      { "fieldCaption": "Segment" },
      { "fieldCaption": "Sales", "function": "SUM" }
    ]
  },
  {
    "fields": [
      { "fieldCaption": "Category" },
      { "fieldCaption": "Profit", "function": "SUM", "sortDirection": "DESC" }
    ]
  },
  {
    "fields": [
      { "fieldCaption": "State/Province" },
      { "fieldCaption": "Sales", "function": "SUM", "sortDirection": "DESC" }
    ],
    "filters": [
      {
        "field": { "fieldCaption": "Segment" },
        "filterType": "SET",
        "values": ["Consumer"],
        "exclude": false
      },
      {
        "field": { "fieldCaption": "Order Date" },
        "filterType": "RANGE",
        "min": "2021-01-01",
        "max": "2021-12-31"
      }
    ],
    "limit": 5
  }
]

do the states with the most sales also have the most profit?

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。