火山引擎 PostgreSQL CLI 提供基于 Model Context Protocol(MCP)的 PostgreSQL 资源访问能力。AI Agent 可以通过 MCP 查询AI 原生 BaaS 平台 Supabase 版 PostgreSQL 引擎的Workspace、Branch、 Compute、Database、Role 和 Operation,而不需要自行实现火山引擎 API 的认证、 签名和资源关联逻辑。 MCP Server 通过标准输入输出(stdio)与 MCP Client 通信:
当前 CLI 提供的是 stdio MCP Server,不直接启动 HTTP 或 SSE MCP 服务。
- 资源发现:分页查询当前账号可访问的 PostgreSQL Workspace。
- 工作区查询:读取 Workspace 详情和 Operation 记录。
- 分支查询:分页查询 Branch,或读取指定 Branch 详情。
- 数据库资源:查询 Branch 下的 Compute、Database 和 Role。
- 范围收敛:启动时设置默认 Workspace,减少 Agent 重复传参。
- 认证复用:复用 CLI 已保存的 Console Login、AK/SK Profile 或进程环境变量,不在 MCP 配置中重复保存凭证。
开始前请确认:
- 当前账号具备访问火山引擎 AIDAP PostgreSQL API 的权限。
- byted-postgresql-cli 已加入 PATH,AI 客户端能够直接启动该命令。
- AI 客户端支持本地 stdio 类型的 MCP Server。
推荐使用浏览器 Console Login:
也可以配置 AK/SK Profile:
自动化环境可以通过环境变量提供凭证:
MCP Server 在启动握手阶段不会预先访问云端;凭证缺失或权限不足通常会在首次业务工具调用时返回。凭证解析优先使用进程环境变量,其次使用选中的 ~/.volcengine/config.json Profile;地域优先级为命令行 --region、环境变量、Profile,未设置时默认为 cn-beijing。
最小启动命令如下:
该命令会持续等待 MCP 客户端通过 stdin 发送请求。在普通终端直接执行后没有交互输出属于正常现象;推荐将它配置到 AI 客户端,由客户端负责启动和管理进程。
如需指定 Profile、地域和默认 Workspace:
范围说明
--workspace-id 当前是“默认 Workspace”,不是强隔离策略。它不会隐藏 workspaces_list,也不会阻止工具显式传入其他 workspace_id。访问边界仍由火山引擎账号权限控制。
MCP 协议方法由所使用的 MCP SDK 实现,AI 客户端通常会自动完成调用。常见生命周期包括:
协议方法与下文业务工具是两个层次:前者负责 MCP 会话和工具调用机制,后者负责具体的 PostgreSQL 资源查询。
当前版本提供以下 8 个只读业务工具:
- workspaces_list 和 branches_list 支持 search、limit 和 offset。
- limit 默认返回 10 条,最大 100 条;工具显式传入 limit=0 时返回上限 100 条。
- 分页响应包含 total、limit、offset、has_more 和可选的 next_offset。
- 单次工具响应上限为 256 KiB;结果过大时应缩小分页大小或增加筛选条件。
Cursor、Trae、Claude Desktop 和 Windsurf 等采用 mcpServers 结构的客户端,可以使用以下最小配置:
如果希望减少 Agent 每次调用时传入 Workspace,可追加 --workspace-id:
优先让客户端通过 PATH 解析 byted-postgresql-cli。只有客户端无法继承 Shell PATH 时,才将 command 改为实际可执行文件的绝对路径。
打开 Trae 的 MCP 设置,新增本地 stdio Server,将上面的通用配置写入 mcp.json,保存后刷新 MCP Server。
保存后刷新 MCP 服务,在新会话中询问“列出当前 Workspace 的 Branch”,验证 Agent 是否可以发现并调用 PostgreSQL 工具。
在 Trae 的 MCP 设置中新增本地 stdio 服务。
在 Cursor 的 MCP 配置中新增 volcengine-postgresql,使用上面的 mcpServers 配置。保存后重载窗口或刷新 MCP Server。
VS Code 使用 servers,并要求显式声明 type: "stdio"。可在项目的的 mcp.json 中配置:
可以使用 Claude Code 命令注册用户级 stdio Server:
自研 Agent Runtime 需要将 byted-postgresql-cli mcp serve 作为子进程启动,并保持 stdin、stdout 与进程生命周期可用。不要在 CLI 与 Agent 之间增加会修改 stdout 的 Shell 包装器,也不要给 MCP 命令追加 --json 或将普通日志写入 stdout,否则可能破坏 JSON-RPC 帧。
查询工作区
查询分支资源
查询操作记录
当前工具不支持执行 SQL。若用户要求查询表数据、修改 Schema 或创建资源,Agent 应明确说明 MCP 能力边界,不得把只读资源查询误解为数据库数据面操作。
- 执行 byted-postgresql-cli --version,确认 CLI 可被 PATH 解析。
- 执行 byted-postgresql-cli status,确认认证状态和地域正确。
- 在 AI 客户端中添加 stdio 配置并刷新 MCP Server。
- 检查客户端是否显示 volcengine-postgresql 已连接,并发现 8 个工具。
- 在新会话中询问“列出我可以访问的 PostgreSQL Workspace”。
- 确认 Agent 调用了 workspaces_list,并返回包含分页元数据的结构化结果。