云数据库 PostgreSQL MCP添加福利群:解决AI开发者的「MCP实战痛点」腾讯云 PostgreSQL(TencentDB for PostgreSQL)官方 MCP Server,把云 API 背后的实例、账号、数据库、参数、备份、监控、网络、只读实例与 SSL 等能力统一封装为 MCP 工具,可被 Cursor、Claude Desktop、WorkBuddy 等任何兼容 MCP 的客户端直接调用。
支持
stdio/streamable-http/sse三种 transport 部署到本地主机、远程主机或腾讯云 SCF,并通过 per-request 凭证模式 避免在服务端长期保存用户的SecretId/SecretKey。
产品链接:云数据库 TencentDB for PostgreSQL
在选择部署方式前,请先确认以下信息是否已就绪。
streamable-http 服务)stdio)如需云上托管,请按方式一在自己的腾讯云账号下完成 SCF 部署,并使用您自己的函数 URL 接入客户端。
部署完成后调用 MCP 工具时,需要一个具备 PostgreSQL API 访问权限的腾讯云账号。推荐为 MCP 客户端单独创建一个 CAM 子账号,按使用场景授予最小权限。
SecretId 和 SecretKey,用于后续调用 OpenAPI| 资源 | 是否必须 | 说明 |
|---|---|---|
SecretId / SecretKey |
是 | 调用 OpenAPI 的身份凭证 |
地域代码(如 ap-guangzhou) |
是 | 作为所有工具的 region 参数 |
| 实例 ID | 否 | 仅在按实例操作时需要 |
默认开放 48 个工具,覆盖实例、账号、数据库、参数、备份、监控、网络、SSL、只读实例等 9 大模块。下面按模块分组列出。
| 工具名称 | 描述 |
|---|---|
DescribeDBInstances |
查询实例列表 |
DescribeDBInstanceAttribute |
查询实例详情 |
CreateInstances |
创建实例(费用确认) |
ModifyDBInstanceName |
修改实例名称 |
ModifyDBInstanceSpec |
变更实例规格(扩缩容,费用确认) |
RestartDBInstance |
重启实例 |
IsolateDBInstances |
隔离实例(业务确认) |
DisIsolateDBInstances |
解除隔离实例 |
UpgradeDBInstanceKernelVersion |
升级实例内核版本号 |
DescribeTasks |
查询异步任务状态 |
DescribeClasses |
查询可用规格列表 |
DescribeDBVersions |
查询可用数据库版本 |
DescribeRegions |
查询售卖地域 |
DescribeZones |
查询售卖可用区 |
DescribeProductConfig |
查询售卖规格配置 |
| 工具名称 | 描述 |
|---|---|
DescribeAccounts |
查询实例的数据库账号列表 |
DescribeAccountPrivileges |
查询数据库账号的权限信息 |
CreateAccount |
创建数据库账号 |
DeleteAccount |
删除数据库账号 |
ModifyAccountPrivileges |
修改账号权限(授权/收回/修改账号类型) |
ResetAccountPassword |
重置账号密码 |
| 工具名称 | 描述 |
|---|---|
DescribeDatabases |
查询实例的数据库列表 |
DescribeDatabaseObjects |
查询数据库对象列表 |
CreateDatabase |
创建数据库 |
ModifyDatabaseOwner |
修改数据库属主 |
| 工具名称 | 描述 |
|---|---|
DescribeDBInstanceParameters |
查询实例参数 |
DescribeParameterTemplates |
查询参数模板列表 |
DescribeParameterTemplateAttributes |
查询参数模板详情 |
DescribeParamsEvent |
查询参数修改事件 |
ModifyDBInstanceParameters |
修改实例参数 |
| 工具名称 | 描述 |
|---|---|
DescribeBackupOverview |
查询备份概览 |
DescribeBaseBackups |
查询基础备份列表 |
DescribeLogBackups |
查询日志备份列表 |
DescribeAvailableRecoveryTime |
查询可恢复时间范围 |
DescribeCloneDBInstanceSpec |
查询克隆实例可购买的规格 |
DescribeBackupDownloadURL |
获取备份下载链接 |
CreateBaseBackup |
创建基础备份 |
CloneDBInstance |
克隆实例(费用确认) |
| 工具名称 | 描述 |
|---|---|
DescribeSlowQueryList |
查询慢查询列表 |
DescribeSlowQueryAnalysis |
慢查询分析 |
DescribeDBErrlogs |
查询错误日志 |
| 工具名称 | 描述 |
|---|---|
OpenDBExtranetAccess |
开启实例公网访问 |
CloseDBExtranetAccess |
关闭实例公网访问 |
DescribeDBInstanceSecurityGroups |
查询实例安全组 |
ModifyDBInstanceSecurityGroups |
修改实例安全组 |
| 工具名称 | 描述 |
|---|---|
DescribeDBInstanceSSLConfig |
查询实例 SSL 配置 |
| 工具名称 | 描述 |
|---|---|
DescribeReadOnlyGroups |
查询只读组列表 |
CreateReadOnlyDBInstance |
创建只读实例(费用确认) |
写类工具仍受权限范围、
READ_ONLY配置以及二次确认机制约束。建议先以只读能力接入,再按需开放写操作。
下面按 推荐度从高到低 列出 3 种方式。每种方式都按“前置条件 → 部署步骤 → 客户端配置”的顺序展开。
适合希望运行在腾讯云并通过 HTTPS / 函数 URL 提供给团队共用的场景。仓库已提供 SCF 打包脚本、启动脚本和环境变量模板,但需要您在自己的腾讯云账号下完成托管发布。
src/postgres 目录并构建 SCF 发布包git clone --depth=1 --filter=blob:none --sparse https://github.com/TencentCloudCommunity/mcp-server.git
cd mcp-server
git sparse-checkout set src/postgres
cd src/postgres
./scripts/build_scf_zip.sh

默认会在 dist/ 目录生成可上传到 SCF 的 zip 包。
进入 SCF 云函数控制台,按以下方式创建:
zip 包已经内置 scf_bootstrap,通常直接使用包内启动文件即可。
如果控制台要求手动填写启动命令,请填与 deploy/scf/scf.console.startup.sh 一致的内容:
#!/bin/bash
set -euo pipefail
export PG_MCP_RUNTIME="${PG_MCP_RUNTIME:-scf}"
export PORT="${PORT:-9000}"
export MCP_TRANSPORT="${MCP_TRANSPORT:-streamable-http}"
export MCP_SERVER_BIND_HOST="${MCP_SERVER_BIND_HOST:-0.0.0.0}"
export MCP_SERVER_PORT="${MCP_SERVER_PORT:-${PORT}}"
export MCP_SERVER_HTTP_ENDPOINT="${MCP_SERVER_HTTP_ENDPOINT:-/mcp}"
export MCP_STREAMABLE_HTTP_STATELESS="${MCP_STREAMABLE_HTTP_STATELESS:-true}"
export MCP_AUTH_MODE="${MCP_AUTH_MODE:-request-credential}"
export MCP_REQUEST_VALIDATE_IDENTITY="${MCP_REQUEST_VALIDATE_IDENTITY:-true}"
export MCP_REQUEST_CREDENTIAL_SCOPES="${MCP_REQUEST_CREDENTIAL_SCOPES:-pg.read}"
export MCP_REQUEST_ALLOWED_REGIONS="${MCP_REQUEST_ALLOWED_REGIONS:-}"
export READ_ONLY="${READ_ONLY:-true}"
export TOKEN_EXCHANGE_ENABLED="${TOKEN_EXCHANGE_ENABLED:-false}"
exec /var/user/postgres-server

最小推荐配置:
MCP_TRANSPORT=streamable-http MCP_AUTH_MODE=request-credential MCP_REQUEST_VALIDATE_IDENTITY=true MCP_REQUEST_CREDENTIAL_SCOPES=pg.read READ_ONLY=true MCP_SERVER_BIND_HOST=0.0.0.0 MCP_SERVER_PORT=9000 MCP_SERVER_HTTP_ENDPOINT=/mcp MCP_STREAMABLE_HTTP_STATELESS=true
推荐补充:
MCP_SERVER_PUBLIC_URL=https://您的函数URL/mcp
{
"mcpServers": {
"mcp-server-postgres": {
"type": "streamable-http",
"url": "https://您的函数URL/mcp",
"headers": {
"X-TencentCloud-Secret-Id": "<您的 SecretId>",
"X-TencentCloud-Secret-Key": "<您的 SecretKey>"
}
}
}
}

客户端
url必须指向完整 MCP 端点(含/mcp后缀),不要使用函数根 URL。
curl -i https://您的函数URL/healthz
正常返回 200 OK 后,再用 https://您的函数URL/mcp 接入客户端。
如需完整控制台操作说明,请查看 SCF_DEPLOY.md。
streamable-http 服务适合部署到自有云主机、内网服务器,通过域名给团队共用。
前置条件:本机或云主机已安装 Go 1.25+,并具备外网出口(要访问腾讯云 OpenAPI)。
src/postgres 目录git clone --depth=1 --filter=blob:none --sparse https://github.com/TencentCloudCommunity/mcp-server.git
cd mcp-server
git sparse-checkout set src/postgres
cd src/postgres

后续所有命令都需要在
src/postgres/目录下执行。
cp .env.example .env

最小推荐配置:
MCP_TRANSPORT=streamable-http MCP_AUTH_MODE=request-credential MCP_REQUEST_VALIDATE_IDENTITY=true MCP_REQUEST_CREDENTIAL_SCOPES=pg.read MCP_SERVER_BIND_HOST=0.0.0.0 MCP_SERVER_PORT=9000 MCP_SERVER_HTTP_ENDPOINT=/mcp MCP_STREAMABLE_HTTP_STATELESS=true READ_ONLY=true
./scripts/run_server.sh
{
"mcpServers": {
"mcp-server-postgres": {
"type": "streamable-http",
"url": "http://127.0.0.1:9000/mcp",
"headers": {
"X-TencentCloud-Secret-Id": "<您的 SecretId>",
"X-TencentCloud-Secret-Key": "<您的 SecretKey>"
}
}
}
}

建议放在 HTTPS / 反向代理之后;公网暴露前务必加 IP 白名单 / 零信任访问控制。
stdio(推荐本地客户端)适合 Cursor、Claude Desktop、WorkBuddy 等本地 MCP 客户端的命令直连模式。
前置条件:本机已安装 Go 1.25+,并具备外网出口(要访问腾讯云 OpenAPI)。
src/postgres 目录git clone --depth=1 --filter=blob:none --sparse https://github.com/TencentCloudCommunity/mcp-server.git
cd mcp-server
git sparse-checkout set src/postgres
cd src/postgres

cp .env.example .env

MCP_TRANSPORT=stdio MCP_AUTH_MODE=request-credential MCP_REQUEST_VALIDATE_IDENTITY=true MCP_REQUEST_CREDENTIAL_SCOPES=pg.read MCP_REQUEST_SECRET_ID=您的SecretId MCP_REQUEST_SECRET_KEY=您的SecretKey READ_ONLY=true
请注意,需要在本地 .env 文件中配置好腾讯云凭证,才能正常使用。
./scripts/run_stdio.sh
{
"mcpServers": {
"mcp-server-postgres": {
"command": "/绝对路径/mcp-server/src/postgres/scripts/run_stdio.sh",
"env": {
"MCP_REQUEST_SECRET_ID": "<您的 SecretId>",
"MCP_REQUEST_SECRET_KEY": "<您的 SecretKey>"
}
}
}
}

推荐把
command写成绝对路径。很多 MCP 客户端拉起stdio进程时,工作目录并不是仓库根目录;如果写成./scripts/run_stdio.sh,很容易出现spawn ./scripts/run_stdio.sh ENOENT。如果客户端支持
cwd,也可以把cwd显式设为src/postgres后再使用相对路径。
stdio模式仅适合本地可信环境,不适合作为远程共享服务暴露。
无论选择哪种部署方式,调用时都使用 per-request 凭证模式,即每次请求通过 Header 携带腾讯云凭证,服务端不长期保存您的密钥。
streamable-http / sse 模式:通过 X-TencentCloud-Secret-Id、X-TencentCloud-Secret-Key Header 传递stdio 模式:通过 MCP_REQUEST_SECRET_ID / MCP_REQUEST_SECRET_KEY 等环境变量注入SecretId / SecretKey 写进 URL 或 query 参数,只通过 Header 或环境变量传递READ_ONLY=true 起步,确认流程后再按需开放写操作部署过程中如果需要进一步查阅资料,可以打开以下链接:
本项目基于 Apache-2.0 协议开源。