トレジャーデータMCPサーバー
Claude Code および Claude Desktop に Treasure Data API 統合を提供する Model Context Protocol (MCP) サーバー。
免責事項:これは個人的な開発プロジェクトであり、Treasure Data Inc.とは一切関係がなく、提携、承認、または関連関係もありません。本ソフトウェアは「現状有姿」で提供され、いかなる保証も付与されません。使用にあたっては自己責任でお願いします。作者は、本ソフトウェアの使用に起因するいかなる結果についても責任を負いません。
利用可能なMCPツール
この MCP サーバーは、Treasure Data と対話するための次のツールを提供します。
データベース管理
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
td_get_database
td_get_database(database_name)特定のデータベースに関する詳細情報を取得する
パラメータ:
database_name: 情報を取得するデータベースの名前
例:
# Get information about a specific database td_get_database database_name=my_database_name
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
ワークフロープロジェクト管理
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
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
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
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
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 での設定
リポジトリをクローンする
git clone https://github.com/knishioka/td-mcp-server.gitClaude 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 で使用するよう構成します。
インストールと要件
このプロジェクトには、Python 3.11 以降と次のパッケージが必要です。
リクエスト
ピダンティック
マクピー
pip を使用して依存関係をインストールします。
またはUVの場合:
サーバーを直接実行する
MCP サーバーを直接実行できます。
発達
テストの実行
コードのフォーマットとリンティング
Related MCP Servers
- -securityFlicense-qualityAn MCP server implementation that enables users to interact with the PokeAPI to fetch Pokemon information through natural language queries.Last updated -
- -securityFlicense-qualityAn MCP server for interacting with the HackathonWatch API, allowing users to access hackathon data and related information through natural language commands.Last updated -
- -securityFlicense-qualityAn MCP Server that enables interaction with Ticketmaster's Discovery API for accessing event, venue, and artist information through natural language commands.Last updated -
- -securityFlicense-qualityAn 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 -