プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Tableau Graphql MCP

作者:tdriesバージョン 0.2.0i★ –iパソコンで動く
レジストリ名io.github.tdries/tableau-graphql-mcp

インストール

概要

作者による説明(英語の原文)

Ask any Tableau lineage question, in any MCP client, through the Tableau Metadata API.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他
  • 入力が必要なもの:TABLEAU_SERVER, TABLEAU_PAT_NAME, TABLEAU_PAT_SECRET

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: TABLEAU_SERVER, TABLEAU_SITE_CONTENT_URL, TABLEAU_PAT_NAME, TABLEAU_PAT_SECRET, TABLEAU_LOG_LEVEL

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "tableau-graphql": {
      "command": "uvx",
      "args": [
        "tableau-graphql-mcp"
      ],
      "env": {
        "TABLEAU_SERVER": "your-value",
        "TABLEAU_SITE_CONTENT_URL": "your-value",
        "TABLEAU_PAT_NAME": "your-value",
        "TABLEAU_PAT_SECRET": "your-value",
        "TABLEAU_LOG_LEVEL": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add tableau-graphql --env TABLEAU_SERVER=your-value --env TABLEAU_SITE_CONTENT_URL=your-value --env TABLEAU_PAT_NAME=your-value --env TABLEAU_PAT_SECRET=your-value --env TABLEAU_LOG_LEVEL=your-value -- uvx tableau-graphql-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "tableau-graphql": {
      "command": "uvx",
      "args": [
        "tableau-graphql-mcp"
      ],
      "env": {
        "TABLEAU_SERVER": "your-value",
        "TABLEAU_SITE_CONTENT_URL": "your-value",
        "TABLEAU_PAT_NAME": "your-value",
        "TABLEAU_PAT_SECRET": "your-value",
        "TABLEAU_LOG_LEVEL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "tableau-graphql": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "tableau-graphql-mcp"
      ],
      "env": {
        "TABLEAU_SERVER": "your-value",
        "TABLEAU_SITE_CONTENT_URL": "your-value",
        "TABLEAU_PAT_NAME": "your-value",
        "TABLEAU_PAT_SECRET": "your-value",
        "TABLEAU_LOG_LEVEL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • TABLEAU_SERVER 必須 env
    https://tableau.company.com (Server) or https:// .online.tableau.com (Cloud)
  • TABLEAU_SITE_CONTENT_URL env
    Site content-url slug; empty = Default site (Server only)
  • TABLEAU_PAT_NAME 必須 env
    Personal Access Token name
  • TABLEAU_PAT_SECRET 秘密 必須 env
    Personal Access Token secret (the whole string)
  • TABLEAU_LOG_LEVEL env
    DEBUG, INFO (default), WARNING or ERROR; DEBUG logs each HTTP call (method + URL) to stderr

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント tdries で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32678件のうち0%よりスターが多い
  • このカテゴリのほかの32678件のうち62%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32678件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Tableau Graphql MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:TABLEAU_SERVER, TABLEAU_PAT_NAME, TABLEAU_PAT_SECRET

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは23 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Starreel

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211一昨日更新
インストール

Starreel

作者:starreel

Turn a script into a finished, downloadable short-drama episode — via MCP or REST.

パソコンで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

tableau-graphql-mcp

Ask any Tableau lineage question, in any MCP client, through the Tableau Metadata API.


tableau-graphql-mcp turns your Tableau site's Metadata API into a set of MCP tools, so an AI assistant (Claude, Cursor, Cline, and others) can answer lineage questions in plain language:

  • _"If I drop the column SALES, which workbooks break?"_
  • _"What tables does the Sales Overview workbook depend on?"_
  • _"Which calculated fields reference Profit, and on which dashboards?"_
  • _"Who should I notify before changing the DIM_CUSTOMER table?"_

It ships seven curated tools: a universal GraphQL passthrough, live schema introspection, an embedded library of correct query templates, a robust where_used resolver, a multi-hop impact_analysis, a substring content search, and a connection probe. Together they let the model answer *any* lineage question, not just a fixed menu.

Why it's different
  • Any question, done right. graphql_query runs any read-only GraphQL; introspect_schema and a built-in cheat-sheet plus 28 worked examples keep the model's queries correct.
  • True impact analysis (multi-hop). impact_analysis follows the *whole* dependency chain (a calc built on a calc built on a column is included) and returns the full blast radius plus the de-duplicated owners to notify, not just direct references.
  • Works everywhere. Tableau Server *and* Cloud. The REST API version and the GraphQL endpoint (/api/metadata/graphql, with a /relationship-service-war/graphql fallback) are auto-detected.
  • Robust lineage without Catalog. where_used resolves workbooks via core lineage (referencedByFields -> sheets -> workbook), so it works even when the Data Management add-on's downstreamWorkbooks is empty.
  • No silent truncation. graphql_query flags partial_results when a query hits the node limit, and search_content reports scanned/total coverage, so a truncated answer is never mistaken for a complete one.
  • Tiny and safe. Read-only, stdio-only (no inbound port), secrets from env only, and no dependencies beyond the MCP SDK (stdlib urllib for HTTP).

Quickstart

You need uv (curl -LsSf https://astral.sh/uv/install.sh | sh) and a Tableau Personal Access Token.

Claude Code, one line:

claude mcp add tableau-graphql \

-e TABLEAU_SERVER=https://10ax.online.tableau.com \ -e TABLEAU_SITE_CONTENT_URL=YourSite \ -e TABLEAU_PAT_NAME=my-token \ -e TABLEAU_PAT_SECRET=the-full-secret \ -- uvx tableau-graphql-mcp

That's all. uvx fetches the package from PyPI and runs it in an isolated environment; nothing to clone or install (and no git required). Then ask Claude a lineage question.

Configuration

All configuration is via environment variables (set them in your client's env block, never on the command line).

Env varRequiredDefaultDescription
TABLEAU_SERVERyesn/ahttps://tableau.company.com (Server) or https:// .online.tableau.com (Cloud).
TABLEAU_SITE_CONTENT_URLno""Site slug (the part after /#/site/). Empty = Default site (Server only); Cloud always has one.
TABLEAU_PAT_NAMEyes¹n/aPersonal Access Token name.
TABLEAU_PAT_SECRETyes¹n/aPAT secret: the whole string, do not split on :.
TABLEAU_TIMEOUTno60Per-request timeout (seconds).
TABLEAU_API_VERSIONnoautoREST API version; else read from /api/serverinfo.
TABLEAU_METADATA_PATHnoautoOverride the GraphQL path; else auto-detected.
TABLEAU_ALLOW_HTTPnooffSet to 1 to allow a plain http:// server on a trusted internal network. Otherwise only HTTPS (or loopback) is accepted, so credentials never travel unencrypted.
TABLEAU_LOG_LEVELnoINFODEBUG logs each HTTP call (method + URL; never headers, bodies or secrets) to stderr.
TABLEAU_AUTH_TOKENnon/aAdvanced: a pre-obtained X-Tableau-Auth token (SSO tenants where PATs are disabled).
TABLEAU_COOKIEnon/aAdvanced: a browser session cookie (SSO fallback).

¹ Provide a PAT (TABLEAU_PAT_NAME + TABLEAU_PAT_SECRET) or an advanced TABLEAU_AUTH_TOKEN / TABLEAU_COOKIE.

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{

"mcpServers": { "tableau-graphql": { "command": "uvx", "args": ["tableau-graphql-mcp"], "env": { "TABLEAU_SERVER": "https://10ax.online.tableau.com", "TABLEAU_SITE_CONTENT_URL": "YourSite", "TABLEAU_PAT_NAME": "my-token", "TABLEAU_PAT_SECRET": "the-full-secret" } } } }

Fully quit and reopen Claude Desktop, then check the tools menu.

Cursor · Cline · Windsurf

Every client uses the same mcpServers schema shown above. Add the same block to:

  • Cursor: ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
  • Cline: the MCP Servers panel, then *Configure*, into cline_mcp_settings.json.
  • Windsurf: ~/.codeium/windsurf/mcp_config.json.

On Windows, if uvx isn't found by the GUI app, use its absolute path (e.g. %USERPROFILE%\.local\bin\uvx.exe).

Tools

ToolWhat it doesKey args
graphql_queryRun any read-only Metadata API GraphQL query. The general tool for any lineage question.query, variables
introspect_schemaLive schema introspection: list entry points, or a type's exact fields.type_name
lineage_examplesA schema cheat-sheet plus 28 curated question-to-GraphQL templates (8 categories).category
where_usedWhich workbooks/datasources use given column / field / table names (robust one-hop core-lineage resolution).names
impact_analysisFull transitive multi-hop blast radius of a column/field/table: every dependent field, plus affected sheets, dashboards, workbooks, and owners to notify.name
search_contentFind content whose name contains a term (case-insensitive substring), across workbooks, datasources, tables (and optionally fields/columns), with coverage numbers.term, types
server_infoConnected server, site, versions, endpoint, auth, and whether Catalog lineage is available.none

All tools are read-only. The Metadata API has no mutations.

Example prompts

Once connected, try:

  • _"Use server_info to confirm what you're connected to."_
  • _"Search for anything with 'revenue' in the name."_
  • _"Which workbooks use the columns SALES, PROFIT and DISCOUNT? Group by owner."_
  • _"Show me the field-to-source-column map for the 'Sales Overview' workbook."_
  • _"List every calculated field in that workbook with its formula."_
  • _"Which published datasources feed workbooks in the Analytics project, and which are uncertified?"_
  • _"Run impact_analysis on the 'Profit Ratio' field: every dependent sheet, dashboard, workbook, and owner to notify."_
  • _"What is the blast radius of dropping the DIM_CUSTOMER table: workbooks, sheets, and owners to notify?"_

Architecture

The server speaks MCP over stdio to the client and HTTPS to Tableau: it signs in with your PAT to get an X-Tableau-Auth token (auto-refreshed on expiry), auto-detects the REST API version and the GraphQL endpoint, then forwards queries to the Metadata API. Nothing is stored; every answer is live.

Security

  • Read-only, enforced. Only GraphQL queries: no writes, no shell. graphql_query rejects mutation/subscription operations, and the Metadata API is query-only regardless.
  • Declared read-only. Every tool carries the MCP readOnlyHint annotation, so clients can verify it without reading the code.
  • Local and stdio-only. No inbound network port is opened.
  • Secrets from env only. Never passed as tool arguments, never logged, never returned in output.
  • Credentials go only to your Tableau host. HTTPS is required, certificates are verified, and redirects are refused.
  • Least privilege. The PAT inherits your Tableau permissions; the API only returns content you can see.
  • Verifiable releases. Every GitHub release carries Sigstore signatures and a CycloneDX SBOM, and PyPI uploads use Trusted Publishing.
  • Pin a version in production: uvx tableau-graphql-mcp==0.2.0.

See SECURITY.md for the threat model, data handling, disclosure policy and how to verify a release.

Troubleshooting

SymptomFix
Server doesn't appearFully quit and relaunch the client; check the config path and JSON validity.
spawn uvx ENOENTInstall uv, or use the absolute path to uvx.
Sign-in fails (401)Check the PAT name/secret and TABLEAU_SITE_CONTENT_URL. On SSO tenants PATs may be disabled; use TABLEAU_AUTH_TOKEN/TABLEAU_COOKIE.
"Could not reach the Metadata API"On Tableau Server, an admin must enable it: tsm maintenance metadata-services enable. On Cloud it is always on.
Empty downstreamWorkbooksExpected without the Data Management add-on; use the where_used tool, which resolves via core lineage.

Inspect the server directly with the MCP Inspector:

npx @modelcontextprotocol/inspector uvx tableau-graphql-mcp

Development

git clone https://github.com/tdries/tableau-g

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く