mcpField
D
db-view-mcp

db-view-mcp

本地服务
github.com/conte777数据库012 周前更新

关于 db-view-mcp

db-view-mcp 是供 AI 助手访问 PostgreSQL 和 ClickHouse 数据库的 MCP 服务。它结合查询、架构和分析工具,支持 stdio 与 HTTP 传输,并为只读操作提供 SQL 防护。

主要功能

  1. 01连接多个 PostgreSQL 和 ClickHouse 数据库
  2. 02执行读写 SQL 操作
  3. 03查看架构并导出 DDL
  4. 04分析查询并跟踪慢查询
  5. 05使用 stdio 或 HTTP 传输

适用场景

  1. 01通过 IDE 集成的助手查询数据库
  2. 02通过 HTTP 提供远程数据库访问
  3. 03查询前检查表和列
  4. 04查看查询计划与慢查询

MCP 相关

该 MCP 服务向 MCP 客户端提供数据库查询、架构检查和查询分析工具。它支持 stdio 与 HTTP 传输,HTTP 可选 Bearer 身份验证。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"db-view": {
"command": "npx",
"args": [
"-y",
"@conte777/db-view-mcp"
]
}
}
}
启动命令npx -y @conte777/db-view-mcp

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

安装包
npm@conte777/db-view-mcp

工具

还没有获取到工具列表

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

详细介绍

db-view-mcp

npm CI

一款 MCP 服务,可让 AI 助手直接访问 PostgreSQL 和 ClickHouse 数据库。它支持 stdio 和 HTTP 两种传输方式,可用于本地 IDE 集成和远程网络访问。

功能

  • 多数据库 — 可同时连接任意数量的 PostgreSQL 和 ClickHouse 实例
  • 双传输方式 — stdio 用于 IDE 集成(Cursor、Claude Code),HTTP 用于远程/多客户端访问
  • 读写工具 — SELECT(含行数限制)、INSERT/UPDATE/DELETE、DDL、事务
  • 架构检查 — 列出表、描述列、导出完整 DDL
  • 查询分析 — EXPLAIN / EXPLAIN ANALYZE、慢查询跟踪
  • SQL 安全 — 只读工具会验证 SQL 并阻止意外写入
  • 灵活的工具模式 — 使用一个带有 database 参数的工具,或为每个数据库单独提供工具
  • 延迟连接 — 默认在首次使用时连接数据库
  • Bearer 身份验证 — 可选的 HTTP 传输令牌身份验证
  • 会话管理 — 有状态模式(每个会话一个 MCP 服务)或无状态 HTTP 模式

安装

npm install @conte777/db-view-mcp

或者克隆并从源代码构建:

git clone <repo-url>
cd db-view-mcp
npm install
npm run build

快速开始

1. 配置

复制示例配置并进行编辑:

cp config.example.json config.json

最简 stdio 配置:

{
  "databases": [
    {
      "id": "main_pg",
      "type": "postgresql",
      "host": "localhost",
      "port": 5432,
      "database": "myapp",
      "user": "admin",
      "password": "secret123"
    }
  ]
}

所有字段、默认值和完整配置参考(SSL/TLS、按数据库覆盖、环境变量替换、HTTP 传输)请参阅 docs/configuration.md。

2. 运行
# Stdio (default)
npm start -- --config config.json

# HTTP (set transport.type to "http" in config, or override on the CLI)
npm start -- --config config.json --transport http

# Development (no build needed)
npm run dev -- --config config.json
3. 添加 MCP 客户端

Claude Desktop(claude_desktop_config.json)或 Claude Code(.mcp.json),stdio:

{
  "mcpServers": {
    "database": {
      "command": "npx",
      "args": ["-y", "@conte777/db-view-mcp", "--config", "/path/to/config.json"]
    }
  }
}

任何 MCP 客户端,HTTP:

node dist/index.js --config config.json --transport http
# Server listens on http://127.0.0.1:3000/mcp

会话、身份验证和 curl 示例请参阅 docs/http-transport.md。

文档

文档内容
docs/configuration.md所有配置字段、默认值、SSL/TLS、rowFormat、环境变量替换、热重载
docs/tools.md9 个工具:参数、输出、示例、错误代码、按数据库模式
docs/http-transport.mdstdio 与 HTTP、会话、Bearer 身份验证、/health、curl
docs/security.md只读 SQL 验证器、拒绝列表、响应上限、网络暴露
docs/architecture.md源码树、分层、连接器模型、生命周期(热重载、关闭)
CONTRIBUTING.md构建、测试、代码检查、钩子、CI

ClickHouse 限制

  • 不支持事务(transaction begin 会抛出异常)。
  • 查询 params 会被忽略 — 请在 SQL 中使用 ClickHouse 原生的 {name:Type} 语法。

开发

构建/测试/代码检查命令、覆盖率阈值、git 钩子和 CI 的说明请参阅 CONTRIBUTING.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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