Skip to main content
Glama

Treasure Data MCP Server

by knishioka

Treasure Data MCP 服务器

为 Claude Code 和 Claude Desktop 提供 Treasure Data API 集成的模型上下文协议 (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_获取数据库
    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_projects
    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_project_files
    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_读取_项目文件
    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

代码格式化和 Linting

# 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
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

用于与 Treasure Data API 交互的 MCP 服务器,允许用户通过自然语言查询检索数据库信息并检查服务器状态。

  1. 可用的 MCP 工具
    1. 数据库管理
    2. 工作流项目管理
  2. 设置说明
    1. 验证
    2. 使用 Claude Code 进行设置
    3. 使用 Claude Desktop 进行设置
  3. 安装和要求
    1. 直接运行服务器
      1. 发展
        1. 运行测试
        2. 代码格式化和 Linting

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        An MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata for querying, modifying, and managing objects and records.
        Last updated -
        7
        180
        45
        TypeScript
        MIT License
      • A
        security
        A
        license
        A
        quality
        An MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata for querying, modifying, and managing objects and records.
        Last updated -
        7
        18
        4
        TypeScript
        MIT License
        • Apple
        • Linux
      • A
        security
        F
        license
        A
        quality
        An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
        Last updated -
        39
        28
        • Apple
      • -
        security
        F
        license
        -
        quality
        An MCP server that connects to Backlog API, providing functionality to search, retrieve, and update issues through natural language commands.
        Last updated -
        53
        1
        JavaScript
        • Apple

      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