使用说明
db-mcp
您的团队正在将公司数据复制粘贴到Claude中。给他们一个安全的方法。
db-mcp是一个开源的mcp服务器,它将Claude Desktop连接到您的数据库,并具有一个自我改进的语义层,每个查询都会变得更加智能。
不需要基础设施。在当地运行。数据永远不会离开你的网络。
安装
curl -fsSL https://download.apelogic.ai/db-mcp/install.sh | sh
为什么选择db-mcp?
- 问克劳德,得到答案 --别再等报告了。使用自然语言查询数据,无需SQL、复制粘贴模式或上下文设置
- 自改进语义层 --自动生成模式的描述,然后从每个查询中学习以提高准确性
- 在您的桌面上运行 --没有云基础设施,没有数据离开您的网络。使用您现有的数据库凭据和访问控制
- Git风格的协作 --数据团队审查和批准语义层改进。你保持控制,用户得到准确的答案
- 开源和可审计 --麻省理工学院授权,完全透明,无供应商锁定
db-mcp是为谁服务的?
| 角色 | 利益 |
|---|---|
| 业务团队 | 向Claude询问有关您的数据的问题,并立即获得准确的答案——不需要SQL |
| 数据团队 | 将您的仓库转变为一个支持代理的平台,该平台具有一个自我构建的语义层 |
| IT与安全 | 通过完整的交互历史、只读执行和成本保护来管理人工智能数据访问 |
运作原理
从安装到洞察,分为四个步骤:
- 安装 --将db-mcp下载到您的笔记本电脑。无需基础设施,几分钟内即可在本地运行
- 连接 --使用现有凭据添加数据源。您的安全态势保持不变
- 查询 --在您的连接数据中向Claude提问。每个查询在执行前都经过验证
- 改进 --语义层从用法中学习。使用git风格的工作流审查和批准改进
快速开始
# Configure your database and Claude Desktop
db-mcp init
# Check configuration
db-mcp status
支持的代理
克劳德桌面版
默认设置适用于Claude Desktop。按照上面的快速入门说明进行操作。
开爪
db-mcp与 开爪 通过mcporter:
# Install mcporter (MCP bridge for OpenClaw)
npm i -g mcporter
# Configure db-mcp for OpenClaw
db-mcp init
或手动添加到 ~/.openclaw/workspace/config/mcporter.json:
{
"mcpServers": {
"db-mcp": {
"command": "db-mcp",
"args": ["start"]
}
}
}
支持的数据库
- PostgreSQL
- ClickHouse
- 特里诺
- MySQL
- SQL Server
安全与治理
- 在本地运行 --数据保留在您的计算机上,从不通过外部服务器路由
- 默认情况下为只读 --查询验证和成本保护可防止意外修改数据
- 使用现有RBAC --使用您的数据库凭据连接并尊重您的访问控制
- 完整的审计追踪 --合规性和调试的完整交互历史记录
- 开源 --完全可审计,麻省理工学院许可
命令
设置和配置
| 命令 | 描述 |
|---|---|
db-mcp init [NAME] |
交互式设置向导-配置数据库和Claude Desktop |
db-mcp status |
显示当前配置状态 |
db-mcp config |
在编辑器中打开配置文件 |
连接管理
| 命令 | 描述 |
|---|---|
db-mcp list |
列出所有已配置的连接 |
db-mcp use NAME |
切换到其他连接 |
db-mcp edit [NAME] |
编辑连接凭据(.env文件) |
db-mcp rename OLD NEW |
重命名连接 |
db-mcp remove NAME |
删除连接 |
db-mcp all COMMAND |
对所有连接运行命令 |
服务器和诊断
| 命令 | 描述 |
|---|---|
db-mcp start |
启动MCP服务器(Claude Desktop的stdio模式) |
db-mcp console |
启动本地跟踪控制台(查看MCP服务器活动) |
db-mcp traces |
管理跟踪捕获以进行诊断和学习 |
Git同步(团队协作)
| 命令 | 描述 |
|---|---|
db-mcp git-init [NAME] |
为现有连接启用git同步 |
db-mcp sync [NAME] |
使用git remote同步连接更改 |
db-mcp pull [NAME] |
从git remote获取连接更新 |
迁移
| 命令 | 描述 |
|---|---|
db-mcp migrate |
从传统存储格式迁移到新的连接结构 |
配置
连接数据存储在 ~/.db-mcp/:
~/.db-mcp/
├── config.yaml # Global config, active connection
└── connections/{name}/
├── .env # Database credentials (gitignored)
├── state.yaml # Onboarding state
├── schema/
│ └── descriptions.yaml # Table/column descriptions
├── domain/
│ └── model.md # Domain model documentation
├── training/
│ ├── examples.yaml # Query examples (NL → SQL mappings)
│ └── instructions.yaml # Custom SQL generation rules
└── .git/ # Optional git sync for team sharing
配置工件
| 文件 | 目的 |
|---|---|
config.yaml |
全局设置:活动连接、首选项 |
.env |
数据库URL和凭据(从未提交到git) |
state.yaml |
入职进度(发现→ 审查→ 域构建→ 完成) |
schema/descriptions.yaml |
表和列的可读描述 |
domain/model.md |
LLM的业务领域文档 |
training/examples.yaml |
用于指导SQL生成的已知良好查询示例 |
training/instructions.yaml |
SQL生成的自定义规则和约束 |
环境变量
| 变量 | 描述 |
|---|---|
DATABASE_URL |
连接字符串(必填) |
CONNECTION_NAME |
覆盖活动连接 |
CONNECTION_PATH |
覆盖连接目录路径 |
LOG_LEVEL |
记录详细程度(默认值:INFO) |
发展
# Clone
git clone https://github.com/apelogic-ai/db-mcp.git
cd db-mcp
# Install dependencies
uv sync
# Run locally
cd packages/core
uv run db-mcp --help
# Lint
cd packages/core && uv run ruff check . --fix
cd packages/ui && bun run lint
# Build binary
cd packages/core
uv run python scripts/build.py
测试
三层共93次测试:
# Python unit tests (49 tests)
cd packages/core
uv run pytest tests/ -v
# UI unit tests (20 tests)
cd packages/ui
bun run test
# UI E2E tests (24 tests)
cd packages/ui
bunx playwright test
所有测试在每次推送和PR时都通过GitHub Actions在CI中运行。请参阅 docs/testing.md 查看完整的测试指南。
工具覆盖检查
验证代码库中实现的MCP工具100%在运行时由MCP服务器公开:
# Run the tool coverage audit (default SQL mode)
python scripts/tool_coverage_audit.py
# Test different configuration modes
python scripts/tool_coverage_audit.py --config api
python scripts/tool_coverage_audit.py --config shell
python scripts/tool_coverage_audit.py --config metabase
# Verbose output with all tool names
python scripts/tool_coverage_audit.py --verbose
# JSON output for CI integration
python scripts/tool_coverage_audit.py --json
审核成功时返回退出代码0(100%覆盖率),失败时返回1。
项目结构
db-mcp/
├── packages/
│ ├── core/ # Main application (db-mcp)
│ ├── models/ # Shared Pydantic models (db-mcp-models)
│ └── ui/ # Next.js control plane UI
├── docs/ # Design documents
├── scripts/ # Installation scripts
└── .github/workflows/ # CI/CD
路线图
看 docs/ 关于规划特征的设计文件:
- 度量层 -语义度量定义(DAU、收入等)
- 桌面应用程序 -带有可视化查询构建器的电子GUI
- 知识提取 -自动从查询跟踪中学习
- 数据网关 -统一访问多个数据源
资源
许可证
麻省理工学院
