mcpField
T
test-tableau-mcp

test-tableau-mcp

ローカル
github.com/joeconstantinoデータ・分析378 週間前に更新

test-tableau-mcp について

test-tableau-mcpは、Tableau VDSのエンドポイントをMCPサーバー経由で公開するプロトタイプです。Claude Desktopとの接続を想定し、エンドポイント情報、データソースLUID、セッショントークンの設定が必要です。

主な機能

  1. 01Tableau VDSエンドポイントの公開
  2. 02Claude Desktopとの接続
  3. 03データソースとセッショントークンの設定

活用シーン

  1. 01Claude DesktopからTableau VDSデータソースをクエリ
  2. 02MCP経由のVDSエンドポイントアクセスの試作

MCP 対応

Tableau VDSエンドポイントをClaude Desktopに提供するMCPサーバーとして動作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

test-tableau-mcp

このプロジェクトは、Tableau VDS エンドポイントを MCP サーバー経由で公開し、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 を設定する必要があります。設定するには、テキストエディターで ~/Library/Application Support/Claude/claude_desktop_config.json にある Claude for Desktop アプリの設定ファイルを開きます。ファイルが存在しない場合は作成してください。

たとえば、VS Code がインストールされている場合は、次のようにします。 code ~/Library/Application\ Support/Claude/claude_desktop_config.json

次に、mcpServers キーにサーバーを追加します。少なくとも 1 つのサーバーが正しく設定されている場合にのみ、MCP の UI 要素が Claude for Desktop に表示されます。

ここでは、次のように vds サーバーを 1 つ追加します。

{
    "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 でクエリを実行する

VDS API の構文は MCP ツールに明示的に渡されないため、まず、Query オブジェクトを適切にフォーマットする方法を Claude に示すコンテキストサンプルをいくつか渡してセッションを開始してください。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?

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。