关于 Tiger Data MCP Server
Tiger Data MCP Server 是 Tiger CLI 内置的 MCP 服务,面向需要通过 AI 助手管理 Tiger Cloud PostgreSQL 服务和数据库的用户。它涵盖服务生命周期、指标、SQL 查询与架构信息,并可代理文档搜索。
主要功能
- 01管理数据库服务生命周期
- 02查询服务指标与日志
- 03执行 SQL 并读取数据库架构
- 04查看 PostgreSQL 扩展
- 05搜索 PostgreSQL 与 TimescaleDB 文档
适用场景
- 01通过 AI 助手创建或调整数据库服务
- 02排查服务状态及指标问题
- 03让 Agent 查询数据库或检查架构
- 04查找 PostgreSQL 功能与最佳实践
MCP 相关
Tiger CLI 内置 MCP 服务,使用 CLI 身份验证和配置,向 AI 助手提供 Tiger Cloud 服务管理、数据库操作及指标工具。默认还代理文档 MCP 服务,支持文档搜索和指南检索。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e TIGER_PUBLIC_KEY -e TIGER_SECRET_KEY ghcr.io/timescale/tiger-cli:0.27.0TIGER_PUBLIC_KEY密钥Tiger Cloud API public key for authenticationTIGER_SECRET_KEY密钥Tiger Cloud API secret key for authentication本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/timescale/tiger-cli:0.27.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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_queryMCP 工具每个结果集最多返回的行数,以限制进入 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_queryMCP 工具,以及嵌入tiger service输出和对应 MCP 工具中的连接字符串。all会保护所有服务,且不会注册 MCP 写入工具,因此它们不会出现在tools/list中,也无法调用。prod仅保护带有PROD标签的服务,DEV服务仍可写入。tiger service create/fork和service_create/service_forkMCP 工具会根据请求的环境进行限制,因此允许创建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或tableTIGER_PASSWORD_STORAGE- 密码存储方式:keyring、pgpass或noneTIGER_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- 显示帮助信息
贡献
欢迎贡献!以下是开始参与的步骤:
- Fork 此仓库
- 创建功能分支
- 进行更改
- 为新功能添加测试
- 确保所有测试均通过(
go test ./...) - 提交拉取请求
详细的开发信息请参阅 docs/development.md。
许可证
本项目采用 Apache License 2.0 许可协议,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。