mcpField
D
databridge-kit

databridge-kit

本地服务
github.com/CloudCorpRecords数据库02 周前更新

关于 databridge-kit

databridge-kit 是用于执行 SQL 和检查单个 PostgreSQL 数据库的命令行工具及 MCP 服务,适合探索数据库的 Agent 和终端用户;它通过 `psql` 执行语句,并提供固定的目录检查工具。

主要功能

  1. 01每次调用执行一条 SQL 语句
  2. 02列出表和视图
  3. 03检查架构、触发器和索引
  4. 04列出序列和存储过程
  5. 05以 JSON 返回查询行

适用场景

  1. 01探索陌生的 PostgreSQL 数据库
  2. 02编写查询前检查数据库对象
  3. 03执行单条语句并读取结果

MCP 相关

MCP 服务为配置的数据库提供 SQL 执行工具和七种 PostgreSQL 目录检查工具。语句通过 `psql` 命令行客户端执行。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-databridge-kit": {
"command": "npx",
"args": [
"-y",
"@reneturcios/databridge-kit"
]
}
}
}
启动命令npx -y @reneturcios/databridge-kit

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

安装包
npm@reneturcios/databridge-kit0.1.0
ocighcr.io/cloudcorprecords/databridge-kit:0.1.0

工具

8

收录的工具列表 · 更新于 2 周前

参数类型必填说明
sqlstring是要在配置的数据库源上执行的 SQL 语句。

详细介绍

databridge-kit

databridge-kit 是一个轻量级桥接工具,可连接 Agent(或终端)与一个已配置的 PostgreSQL 数据库。它可以执行一条 SQL 语句,并回答探索陌生数据库时经常会遇到的七个问题:有哪些表、视图、模式、触发器、索引、序列和存储过程。

这组工具与文档中预构建的、由配置定义的 Postgres 工具箱相对应:工具是固定的,连接字符串指向哪个数据库,就使用哪个数据库。项目不包含数据库驱动程序——语句通过 psql 命令行客户端执行,因此需要实时获取结果的机器必须在 PATH 中配置 psql。如果缺少 psql 或连接字符串,服务仍会启动并列出其工具;只有调用工具时才会报告问题。

安装

npx @reneturcios/databridge-kit list-tables postgres://user@localhost:5432/mydb

或者运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/databridge-kit

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

# Run one SQL statement; rows print as JSON
databridge-kit execute-sql postgres://alice@localhost/shop "SELECT id, name FROM products ORDER BY id"

# Inspection commands; each prints its rows as JSON
databridge-kit list-tables postgres://alice@localhost/shop
databridge-kit list-views postgres://alice@localhost/shop
databridge-kit list-schemas postgres://alice@localhost/shop
databridge-kit list-triggers postgres://alice@localhost/shop
databridge-kit list-indexes postgres://alice@localhost/shop
databridge-kit list-sequences postgres://alice@localhost/shop
databridge-kit list-stored-procedures postgres://alice@localhost/shop

# Start the MCP server (connection string optional, see below)
databridge-kit mcp postgres://alice@localhost/shop

databridge-kit --version

退出码:成功时为 0;语句、连接字符串或 psql 本身出错时为 1(错误信息会说明具体原因);用法错误时为 2。

连接字符串是标准的 PostgreSQL URL:postgres:// 或 postgresql://,包含主机、可选端口(默认值为 5432)、取自路径的数据库名称,以及用户信息中可选的用户名和密码。对于 mcp 命令,可以不在命令行中提供连接字符串,改为通过 DATABRIDGE_DATABASE_URL 环境变量传入(也可使用普通的 DATABASE_URL)。

语句和检查的工作方式

execute_sql 每次调用只接受一条语句。字符串字面量和注释中的分号不算语句分隔符,但如果存在第二条真正的语句,则会在任何内容到达数据库之前拒绝执行。不限制语句类型——这是一个通用桥接工具,因此能够访问它的调用方既可以写入,也可以读取;请只将其指向允许此类操作的数据库。

每个检查工具都会运行一条固定的目录查询:

工具查询的目录
list_tablesinformation_schema.tables(基表)
list_viewsinformation_schema.views
list_schemasinformation_schema.schemata
list_triggersinformation_schema.triggers
list_indexespg_indexes
list_sequencesinformation_schema.sequences
list_stored_procedureinformation_schema.routines

语句通过 psql -v ON_ERROR_STOP=1 --csv -c <sql> 执行,并将 CSV 输出解析为行对象。返回的值是 psql 格式化后的字符串。

MCP 服务

同一个可执行文件提供两种使用方式。mcp 子命令会启动一个 stdio MCP 服务:

npx -y @reneturcios/databridge-kit mcp postgres://alice@localhost/shop

MCP 客户端配置:

{
  "mcpServers": {
    "databridge-kit": {
      "command": "npx",
      "args": ["-y", "@reneturcios/databridge-kit", "mcp"],
      "env": { "DATABRIDGE_DATABASE_URL": "postgres://alice@localhost/shop" }
    }
  }
}
工具
工具输入返回内容
execute_sqlsql(字符串,必填)——一条 SQL 语句结果行组成的 JSON 数组,对象以列名为键。
list_tables—描述已配置数据源中基表的行。
list_views—描述已配置数据源中视图的行。
list_schemas—描述已配置数据源中模式的行。
list_triggers—描述已配置数据源中触发器的行。
list_indexes—描述已配置数据源中索引的行。
list_sequences—描述已配置数据源中序列的行。
list_stored_procedure—描述已配置数据源中存储过程(例程)的行。

连接缺失、psql 缺失、execute_sql 包含多条语句以及数据库错误,都会作为工具错误返回——绝不会伪造行数据。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network, no live database
npm run dev     # run the CLI from source via tsx

核心逻辑位于可注入的执行器接口之后,测试套件通过该接口进行测试:连接字符串解析、单语句检查、透传执行、错误传播,以及每个检查工具背后的准确目录 SQL,均由模拟执行器覆盖。

许可证

MIT — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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