mcpField
T
Tiger Data MCP Server

Tiger Data MCP Server

本地服务
github.com/timescale数据库1272 天前更新

关于 Tiger Data MCP Server

Tiger Data MCP Server 是 Tiger CLI 内置的 MCP 服务,面向需要通过 AI 助手管理 Tiger Cloud PostgreSQL 服务和数据库的用户。它涵盖服务生命周期、指标、SQL 查询与架构信息,并可代理文档搜索。

主要功能

  1. 01管理数据库服务生命周期
  2. 02查询服务指标与日志
  3. 03执行 SQL 并读取数据库架构
  4. 04查看 PostgreSQL 扩展
  5. 05搜索 PostgreSQL 与 TimescaleDB 文档

适用场景

  1. 01通过 AI 助手创建或调整数据库服务
  2. 02排查服务状态及指标问题
  3. 03让 Agent 查询数据库或检查架构
  4. 04查找 PostgreSQL 功能与最佳实践

MCP 相关

Tiger CLI 内置 MCP 服务,使用 CLI 身份验证和配置,向 AI 助手提供 Tiger Cloud 服务管理、数据库操作及指标工具。默认还代理文档 MCP 服务,支持文档搜索和指南检索。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tiger-cli": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TIGER_PUBLIC_KEY",
"-e",
"TIGER_SECRET_KEY",
"ghcr.io/timescale/tiger-cli:0.27.0"
],
"env": {
"TIGER_PUBLIC_KEY": "<TIGER_PUBLIC_KEY>",
"TIGER_SECRET_KEY": "<TIGER_SECRET_KEY>"
}
}
}
}
启动命令docker run -i --rm -e TIGER_PUBLIC_KEY -e TIGER_SECRET_KEY ghcr.io/timescale/tiger-cli:0.27.0
需要配置的环境变量
TIGER_PUBLIC_KEY密钥Tiger Cloud API public key for authentication
TIGER_SECRET_KEY密钥Tiger Cloud API secret key for authentication

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/timescale/tiger-cli:0.27.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Tiger CLI

Tiger CLI 是 Tiger Cloud 的命令行界面。它提供用于管理和查询数据库服务的命令,以及一个可与 AI 助手配合使用的集成式 Model Context Protocol(MCP)服务。

安装

提供多种安装方式。请从以下选项中选择你偏好的方式。如果不确定,请使用第一种!

安装脚本(macOS/Linux/WSL)
curl -fsSL https://cli.tigerdata.com | sh
安装脚本(Windows)
irm https://cli.tigerdata.com/install.ps1 | iex
Homebrew(macOS/Linux)
brew install --cask timescale/tap/tiger-cli
Debian/Ubuntu
# Add repository
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.deb.sh | sudo os=any dist=any bash

# Install tiger-cli
sudo apt-get install tiger-cli

手动安装软件源的说明请参见此处。

Red Hat/Fedora
# Add repository
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.rpm.sh | sudo os=rpm_any dist=rpm_any bash

# Install tiger-cli
sudo yum install tiger-cli

手动安装软件源的说明请参见此处。

Go 安装
go install github.com/timescale/tiger-cli/cmd/tiger@latest

更新

将现有安装升级到最新版本:

tiger upgrade

此操作会下载最新发布的二进制文件、验证其校验和,并就地替换当前运行的二进制文件。如果 Tiger CLI 是通过软件包管理器(Homebrew、apt、yum/dnf)安装的,tiger upgrade 则会提示你使用相应的软件包管理器命令。

快速入门

安装 Tiger CLI 后,请使用你的 Tiger Cloud 账户进行身份验证:

# Login to your Tiger account
tiger auth login

# View available commands
tiger --help

# List your database services
tiger service list

# Create a new database service
tiger service create --name my-database

# Get connection string
tiger db uri

# Connect to your database
tiger db psql

# Run a query without psql
tiger db query -c "SELECT now()"

# Install the MCP server
tiger mcp install

# Install agent skills for your coding agent
tiger skills install

用法

Tiger CLI 提供以下命令:

  • tiger auth - 身份验证管理
    • login - 登录 Tiger 账户(使用 --headless 可在任意计算机上的浏览器中通过短代码授权)
    • logout - 退出 Tiger 账户
    • status - 显示当前身份验证状态和项目 ID(别名:whoami)
  • tiger project - 项目管理
    • list - 列出你有权访问的所有项目,并标记当前活动项目(别名:ls)
    • use - 切换当前活动项目(需要 OAuth 登录;清除默认的 service_id,因为它属于之前的项目)(别名:switch)
  • tiger service - 服务生命周期管理(别名:services、svc)
    • list - 列出所有服务(别名:ls)
    • create - 创建新服务
    • get - 显示详细的服务信息(别名:describe、show)
    • fork - 分叉现有服务
    • start - 启动已停止的服务(别名:resume)
    • stop - 停止正在运行的服务(别名:pause)
    • rename - 重命名服务
    • resize - 调整服务的 CPU 和内存分配
    • delete - 删除服务(别名:rm)
    • update-password - 更新服务主密码
    • logs - 查看服务日志(别名:log)
    • metrics available - 列出服务可用的指标名称
    • metrics details - 显示指标的说明、类型、默认聚合方式和标签
    • metrics series - 获取指标时间序列,可指定标签筛选条件、聚合函数、分组方式和数据桶大小
  • tiger db - 数据库操作
    • psql - 使用 psql 连接数据库(在交互式终端中,如果服务有只读副本,会提供连接选项;使用 --no-replica-prompt 可跳过)(别名:connect)
    • query - 对数据库执行 SQL 查询并显示结果,无需使用 psql(别名:sql)
    • uri - 获取服务的连接 URI(别名:connection-string)
    • ping - 测试数据库连接(别名:test、test-connection)
    • schema - 显示数据库架构信息(表、视图、索引、函数、TimescaleDB 超表等)
    • extensions list - 列出数据库中已安装的 PostgreSQL 扩展,以及它们的版本和架构(别名:ext ls)
    • save-password - 将数据库密码保存到已配置的密码存储(密钥环、pgpass 或不保存)
    • create role - 创建新的数据库角色,可选强制只读、继承授权(--from)和语句超时设置(别名:create user)
  • tiger config - 配置管理(别名:cfg)
    • list - 列出当前配置(别名:ls、show)
    • set - 设置配置值
    • unset - 移除配置值(别名:rm、delete)
    • reset - 将配置重置为默认值(别名:clear)
  • tiger mcp - MCP 服务设置和管理
    • install - 为 AI 助手安装并配置 MCP 服务(别名:add)
    • start - 启动 MCP 服务
    • list - 列出可用的 MCP 工具、提示词和资源(别名:ls)
    • get - 获取特定 MCP 能力的详细信息(别名:describe、show)
  • tiger skills - 面向 AI 编码 Agent 的 Agent 技能
    • install - 为 AI 编码 Agent 安装 PostgreSQL 和 TimescaleDB 技能(别名:add)
  • tiger feedback - 向 Tiger Data 团队提交反馈或错误报告(将消息作为参数传入或通过标准输入提供)
  • tiger version - 显示版本信息
  • tiger upgrade - 将 Tiger CLI 升级到最新版本(别名:update)

使用 tiger <command> --help 查看各命令的详细信息,或浏览生成的 CLI 参考文档。

服务命名

凡是命令将服务作为参数时,都可以使用服务 ID(或只读副本集 ID)或名称:

tiger db psql my-api-db
tiger service stop my-api-db

名称必须完全匹配。如果名称匹配多个服务,命令会拒绝执行;运行 tiger service list 查找所需的 ID。默认服务(tiger config set service_id、--service-id 或 TIGER_SERVICE_ID)必须指定为 ID,且破坏性命令仍会要求你输入 ID 以确认。MCP 工具只接受 ID。

MCP 服务

Tiger CLI 内置了 Model Context Protocol(MCP)服务,可让 Claude Code 等 AI 助手与 Tiger Cloud 基础设施交互。MCP 服务以编程方式提供对数据库服务和操作的访问。

安装

为你的 AI 助手配置 MCP 服务:

# Interactive installation (prompts for client selection)
tiger mcp install

# Or specify your client directly
tiger mcp install claude-code      # Claude Code
tiger mcp install codex            # Codex
tiger mcp install copilot          # GitHub Copilot CLI
tiger mcp install cursor           # Cursor IDE
tiger mcp install devin            # Devin
tiger mcp install gemini           # Gemini CLI
tiger mcp install vscode           # VS Code

安装后,重启 AI 助手以启用 Tiger MCP 服务。

手动安装

如果你的 MCP 客户端不受 tiger mcp install 支持,请按照客户端的 说明安装 MCP 服务。使用 tiger mcp start 作为启动 MCP 服务的命令。例如,许多客户端会使用如下 JSON 文件:

{
  "mcpServers": {
    "tiger": {
      "command": "tiger",
      "args": [
        "mcp",
        "start"
      ]
    }
  }
}
Streamable HTTP 协议

上述说明使用 stdio 传输方式安装 MCP 服务。如果你 需要改用 Streamable HTTP 传输方式,可以使用 tiger mcp start http --port 8080 启动服务,并在客户端中使用 http://localhost:8080 作为 URL 进行安装。

可用的 MCP 工具

MCP 服务向 AI 助手提供以下工具:

服务管理:

  • service_list - 列出项目中的所有数据库服务
  • service_get - 获取特定服务的详细信息
  • service_create - 创建可配置资源的新数据库服务
  • service_fork - 分叉现有数据库服务,创建独立副本
  • service_start - 启动已停止的数据库服务
  • service_stop - 停止正在运行的数据库服务
  • service_rename - 重命名数据库服务
  • service_resize - 更改 CPU 和内存分配,以调整数据库服务大小
  • service_delete - 永久删除数据库服务(如果服务标记为 PROD,会先要求你确认)
  • service_update_password - 为服务设置一个新生成的随机主密码(如果服务标记为 PROD,会先要求你确认)
  • service_logs - 查看数据库服务的日志

服务指标:

  • service_metrics_available - 列出服务可用的指标名称(硬件用量、PostgreSQL 设置和活动、PgBouncer 连接池、TimescaleDB 内部指标)
  • service_metrics_details - 显示指标的描述、类型、默认聚合方式和标签
  • service_metrics_series - 获取指定时间范围内的指标时间序列,并支持标签筛选、聚合函数、分组和分桶大小

数据库操作:

  • db_query - 对数据库服务执行 SQL 查询;可直接传入查询,也可指定 SQL 文件路径,并支持参数化查询、自定义超时和连接池
  • db_schema - 将服务的数据库架构(表、视图、物化视图、枚举、函数、存储过程、索引、触发器,以及 TimescaleDB 超表/连续聚合元数据)以可读文本的形式展示,供 Agent 使用
  • db_extensions_list - 列出服务数据库中安装的 PostgreSQL 扩展,以及每个扩展的版本、架构和描述

反馈:

  • feedback - 向 Tiger Data 团队提交反馈或错误报告

MCP 服务会自动使用你的 CLI 身份验证和配置,因此除了运行 tiger auth login 外,无需进行其他设置。

代理工具

除了上文列出的服务管理工具外,Tiger MCP 服务还代理了远程文档 MCP 服务中的工具。此功能为 AI 助手提供 PostgreSQL、TimescaleDB 和 Tiger Cloud 文档的语义搜索能力,以及各种 Tiger Cloud 功能的提示词/指南。

代理的文档服务(pg-aiguide)目前提供以下工具:

  • view_skill - 获取 Postgres 和 TimescaleDB 功能及最佳实践的综合指南
  • search_docs - 使用自然语言查询搜索 PostgreSQL 和 TimescaleDB 文档

此代理连接默认启用,无需额外配置。

要禁用文档代理:

tiger config set docs_mcp false

Agent 技能

Tiger CLI 可以将精选的 PostgreSQL 和 TimescaleDB 技能直接安装到 你的编码 Agent 中:

# Interactive installation (prompts for install locations)
tiger skills install

# Or name the locations directly
tiger skills install universal claude-code

技能会安装到当前用户的目录。universal 位置 ~/.agents/skills 可供大多数编码 Agent 读取(Cursor、Codex、Gemini CLI、 VS Code、GitHub Copilot CLI、Devin)。Claude Code、Kiro CLI 和 Google Antigravity 会读取各自的技能目录,因此它们使用独立的位置 (claude-code、kiro-cli、antigravity)。指定读取 ~/.agents/skills 的客户端(例如 cursor)会选择 universal。使用 --skills-dir 可将技能安装到你选择的目录中。

重新运行命令可将技能更新到最新版本;不再提供的技能会被移除。如果不提供参数,选择器会预先选中你之前安装过技能的位置。除非传入 --force,否则不会替换并非由 Tiger CLI 安装的现有技能。

配置

CLI 默认将配置存储在 ~/.config/tiger/config.yaml,并支持通过环境变量和命令行标志进行分层配置。

# List current configuration
tiger config list

# Set configuration values
tiger config set output json

# Remove configuration value
tiger config unset output

# Reset to defaults
tiger config reset
配置选项

所有配置选项均可通过 tiger config set <key> <value> 设置:

  • analytics - 启用/禁用分析功能(默认值:true)

  • color - 启用/禁用彩色输出(默认值:true)

  • docs_mcp - 启用/禁用文档 MCP 代理(默认值:true)

  • mcp_max_rows - 在截断结果前,db_query MCP 工具每个结果集最多返回的行数,以限制进入 AI Agent 上下文的数据量。仅适用于 MCP 工具,不适用于 CLI 命令。默认值:100

  • output - 输出格式:json、yaml 或 table(默认值:table)

  • password_storage - 密码存储方式:keyring、pgpass 或 none(默认值:keyring)

  • read_only - 此 CLI 可以更改哪些服务:all、prod 或 off(默认值:off,即不保护任何服务)。交互式 tiger auth login 会提供这三种模式的菜单,并记录你的选择,因此只会询问一次。true 和 on 可作为 all 的别名,false 可作为 off 的别名,因此现有配置文件和 TIGER_READ_ONLY=true 的行为保持不变。

    更改受保护的服务会被拒绝,创建服务也会被拒绝:tiger service create/fork/start/stop/rename/resize/update-password/delete 和 tiger db create role 都会返回错误。该服务的连接字符串会以 Tiger Cloud 的不可变只读模式打开会话,因此服务器会拒绝写入和 DDL 操作——这适用于 tiger db psql、tiger db query、tiger db uri、db_query MCP 工具,以及嵌入 tiger service 输出和对应 MCP 工具中的连接字符串。

    • all 会保护所有服务,且不会注册 MCP 写入工具,因此它们不会出现在 tools/list 中,也无法调用。
    • prod 仅保护带有 PROD 标签的服务,DEV 服务仍可写入。tiger service create/fork 和 service_create/service_fork MCP 工具会根据请求的环境进行限制,因此允许创建 DEV 服务,但不允许创建 PROD 服务——否则你可能会创建一个在此模式下无法删除的服务。允许将 PROD 服务分叉为 DEV 分叉服务,因为这只会读取生产环境,不会对其进行更改。MCP 写入工具仍会注册——它们仍可用于 DEV 服务,但会在每次调用时单独拒绝不允许的操作。这些命令会从解析到的服务读取标签,因此无需额外的 API 调用;如果查找失败,则会拒绝操作。MCP 写入工具使用 ID,因此会获取服务以读取其标签。只读副本根据其自身标签判定,因此只有当该副本集本身带有 PROD 标签时,PROD 主服务的副本才会受到保护。
  • service_id - 默认服务 ID。活动项目发生更改时会自动清除:通过 tiger project 更改时会清除;通过 tiger auth login 更改时,除非登录后仍是上次登录时的同一项目,否则也会清除。服务属于创建它时所在的项目

  • version_check - 为 true 时,CLI 会在每次调用时(仅限交互式终端)检查是否有新版本,并在有可用版本时显示提示。设置为 false 可禁用。默认值:true。

环境变量

环境变量会覆盖配置文件中的值。所有变量均使用 TIGER_ 前缀:

  • TIGER_ANALYTICS - 启用/禁用分析
  • TIGER_COLOR - 启用/禁用彩色输出
  • TIGER_CONFIG_DIR - 配置目录路径(默认:~/.config/tiger)
  • TIGER_DOCS_MCP - 启用/禁用文档 MCP 代理
  • TIGER_OUTPUT - 输出格式:json、yaml 或 table
  • TIGER_PASSWORD_STORAGE - 密码存储方式:keyring、pgpass 或 none
  • TIGER_READ_ONLY - 此 CLI 可更改的服务范围:all、prod 或 off(与 read_only 使用相同的别名)
  • TIGER_PUBLIC_KEY - 用于身份验证的公钥(优先于已存储的凭据)
  • TIGER_SECRET_KEY - 用于身份验证的密钥(优先于已存储的凭据)
  • TIGER_SERVICE_ID - 默认服务 ID(不接受名称;请参阅为服务命名)
  • TIGER_VERSION_CHECK - 设置为 true 时,CLI 会在每次调用时(在交互式终端中)检查是否有更新版本,并在有更新时显示提示;设置为 false 可禁用
全局标志

这些标志可用于所有命令,并且优先级高于环境变量和配置文件中的值:

  • --analytics - 启用/禁用分析
  • --color - 启用/禁用彩色输出
  • --config-dir <path> - 配置目录路径(默认:~/.config/tiger)
  • --password-storage <method> - 密码存储方式:keyring、pgpass 或 none
  • --service-id <id> - 服务 ID(不接受名称;请改为将名称作为参数传入)
  • --version-check - 启用/禁用启动时检查更新
  • -h, --help - 显示帮助信息

贡献

欢迎贡献!以下是开始参与的步骤:

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 为新功能添加测试
  5. 确保所有测试均通过(go test ./...)
  6. 提交拉取请求

详细的开发信息请参阅 docs/development.md。

许可证

本项目采用 Apache License 2.0 许可协议,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。