Skip to main content
Glama

Treasure Data MCP Server

by knishioka

トレジャーデータMCPサーバー

Claude Code および Claude Desktop に Treasure Data API 統合を提供する Model Context Protocol (MCP) サーバー。

免責事項:これは個人的な開発プロジェクトであり、Treasure Data Inc.とは一切関係がなく、提携、承認、または関連関係もありません。本ソフトウェアは「現状有姿」で提供され、いかなる保証も付与されません。使用にあたっては自己責任でお願いします。作者は、本ソフトウェアの使用に起因するいかなる結果についても責任を負いません。

利用可能なMCPツール

この MCP サーバーは、Treasure Data と対話するための次のツールを提供します。

データベース管理

  1. td_list_databases

    td_list_databases(verbose=False, limit=30, offset=0, all_results=False)
    • Treasure Dataアカウントでページネーションをサポートするデータベースを入手

    • パラメータ:

      • verbose : Trueの場合は完全な詳細を返します。Falseの場合は名前のみを返します(デフォルト)

      • limit : 取得するデータベースの最大数(デフォルトは30)

      • offset : 取得を開始するインデックス(デフォルトは 0)

      • all_results : Trueの場合、制限とオフセットを無視してすべてのデータベースを取得します。

    • :

      # Get only database names (default, first 30 databases) td_list_databases # Get full database details td_list_databases verbose=True # Pagination options td_list_databases limit=10 offset=20 # Get all databases regardless of the number td_list_databases all_results=True
  2. td_get_database

    td_get_database(database_name)
    • 特定のデータベースに関する詳細情報を取得する

    • パラメータ:

      • database_name : 情報を取得するデータベースの名前

    • # Get information about a specific database td_get_database database_name=my_database_name
  3. td_list_tables

    td_list_tables(database_name, verbose=False, limit=30, offset=0, all_results=False)
    • ページネーションサポート付きの特定のTreasure Dataデータベース内のテーブルを取得します

    • パラメータ:

      • database_name : テーブルを取得するデータベースの名前

      • verbose : Trueの場合は完全な詳細を返します。Falseの場合は名前のみを返します(デフォルト)

      • limit : 取得するテーブルの最大数(デフォルトは30)

      • offset : 取得を開始するインデックス(デフォルトは 0)

      • all_results : Trueの場合、制限とオフセットを無視してすべてのテーブルを取得します

    • :

      # Get only table names in a database (default, first 30 tables) td_list_tables database_name=my_database_name # Get detailed information about tables in a database td_list_tables database_name=my_database_name verbose=True # Pagination options td_list_tables database_name=my_database_name limit=10 offset=20 # Get all tables in a database td_list_tables database_name=my_database_name all_results=True

ワークフロープロジェクト管理

  1. td_list_プロジェクト

    td_list_projects(verbose=False, limit=30, offset=0, all_results=False, include_system=False)
    • Treasure Data アカウントでページ区切りをサポートするワークフロー プロジェクトを取得

    • パラメータ:

      • verbose : Trueの場合は完全な詳細を返します。Falseの場合は名前とIDのみを返します(デフォルト)

      • limit : 取得するプロジェクトの最大数(デフォルトは30)

      • offset : 取得を開始するインデックス(デフォルトは 0)

      • all_results : Trueの場合、制限とオフセットを無視してすべてのプロジェクトを取得します。

      • include_system : Trueの場合、システム生成プロジェクト(「sys」メタデータ付き)を含めます。デフォルトはFalseです。

    • :

      # Get basic project info (default, first 30 projects) td_list_projects # Get detailed project information td_list_projects verbose=True # Pagination options td_list_projects limit=10 offset=20 # Get all projects regardless of the number td_list_projects all_results=True # Include system-generated projects td_list_projects include_system=True
  2. td_get_project

    td_get_project(project_id)
    • 特定のワークフロー プロジェクトに関する詳細情報を取得する

    • 注: これは基本的なプロジェクトメタデータのみを提供します。詳細なコンテンツとファイルについては、td_download_project_archive に続いて td_list_project_files と td_read_project_file を使用してください。

    • パラメータ:

      • project_id : 情報を取得するワークフロープロジェクトのID

    • # Get information about a specific project td_get_project project_id=123456
  3. td_download_project_archive

    td_download_project_archive(project_id)
    • プロジェクトのアーカイブ (tar.gz) をダウンロードし、ダウンロードに関する情報を返します。

    • SQLクエリやワークフロー定義を含む詳細なプロジェクト内容を調べるのに推奨されます

    • パラメータ:

      • project_id : ダウンロードするワークフロー プロジェクトの ID

    • # Download a project's archive td_download_project_archive project_id=123456
  4. td_list_プロジェクトファイル

    td_list_project_files(archive_path)
    • プロジェクト アーカイブに含まれるすべてのファイルを一覧表示する

    • パラメータ:

      • archive_path : ダウンロードしたプロジェクトアーカイブ(.tar.gzファイル)へのパス

    • # List files in a downloaded project archive td_list_project_files archive_path=/tmp/td_project_123/project_123456.tar.gz
  5. td_read_project_file

    td_read_project_file(archive_path, file_path)
    • プロジェクト アーカイブから特定のファイルの内容を読み取る

    • パラメータ:

      • archive_path : ダウンロードしたプロジェクトアーカイブ(.tar.gzファイル)へのパス

      • file_path : アーカイブ内の読み取るファイルのパス

    • # Read a specific file from a project archive td_read_project_file archive_path=/tmp/td_project_123/project_123456.tar.gz file_path=workflow.dig

セットアップ手順

認証

このMCPサーバーは認証のためにTreasure Data APIキーを必要とします。このキーはTD_API_KEY環境変数で指定する必要があります。また、 TD_ENDPOINT環境変数を使用してTreasure Dataエンドポイントを指定することもできます(デフォルトはapi.treasuredata.com )。

Claude Code での設定

  1. リポジトリをクローンする

    git clone https://github.com/knishioka/td-mcp-server.git
  2. Claude Code CLIを使用してMCPサーバーを追加する

    # Navigate to your project directory cd your-project-directory # Add the MCP server (use absolute path to server.py) claude mcp add td -e TD_API_KEY=${TD_API_KEY} -e TD_ENDPOINT=api.treasuredata.com -- mcp run /absolute/path/to/td-mcp-server/td_mcp_server/server.py

Claude Desktop での設定

構成ファイル ( claude_desktop_config.json ) を編集して、この MCP サーバーを Claude Desktop で使用するよう構成します。

{ "mcpServers": { "td": { "command": "uv", "args": [ "--directory", "/absolute/path/to/td-mcp-server", "run", "td_mcp_server/server.py" ], "env": { "TD_API_KEY": "YOUR_API_KEY", "TD_ENDPOINT": "api.treasuredata.com" } } } }

インストールと要件

このプロジェクトには、Python 3.11 以降と次のパッケージが必要です。

  • リクエスト

  • ピダンティック

  • マクピー

pip を使用して依存関係をインストールします。

pip install -r requirements.txt

またはUVの場合:

uv pip install -e .

サーバーを直接実行する

MCP サーバーを直接実行できます。

# Set your API key export TD_API_KEY="your-api-key" # For US region (default) export TD_ENDPOINT="api.treasuredata.com" # For Japan region # export TD_ENDPOINT="api.treasuredata.co.jp" # Run with MCP CLI mcp run td_mcp_server/server.py

発達

テストの実行

# Run all tests pytest # Run tests with coverage report pytest --cov=td_mcp_server # Run tests for a specific module pytest tests/unit/test_api.py

コードのフォーマットとリンティング

# Run linting with Ruff uv run ruff check td_mcp_server tests # Format code with Ruff uv run ruff format td_mcp_server tests # Run pre-commit hooks on all files uv run pre-commit run --all-files

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    An MCP server implementation that enables users to interact with the PokeAPI to fetch Pokemon information through natural language queries.
    Last updated -
    • Linux
    • Apple
  • -
    security
    F
    license
    -
    quality
    An MCP server for interacting with the HackathonWatch API, allowing users to access hackathon data and related information through natural language commands.
    Last updated -
    • Linux
    • Apple
  • -
    security
    F
    license
    -
    quality
    An MCP Server that enables interaction with Ticketmaster's Discovery API for accessing event, venue, and artist information through natural language commands.
    Last updated -
  • -
    security
    F
    license
    -
    quality
    An MCP server that enables natural language interaction with Google's Discovery Engine API, allowing users to search, recommend, and manage data through conversational interfaces.
    Last updated -

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/knishioka/td-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server