
MCP 数据库工具

2025.03.17
56
Python数据库工具数据分析数据安全数据库
MCP Database Utilities 是一个多功能的 MCP 服务,它使 AI 能够通过统一的连接配置安全地访问各种类型的数据库(如 SQLite、MySQL、PostgreSQL 等)进行数据分析。该服务作为 AI 系统和数据库之间的安全桥梁,允许 AI 在不直接访问数据库或冒数据修改风险的情况下读取和分析数据。它采用安全优先的架构设计,适合注重数据保护的企业、初创公司和个人用户。
View on GitHub
Overview
基本能力
产品定位
MCP Database Utilities 是一个数据库工具服务,旨在为 AI 系统提供安全、统一的数据库访问能力,支持多种数据库类型,并确保数据安全和隐私。
核心功能
- 多数据库支持:支持 SQLite、MySQL、PostgreSQL 等多种数据库。
- 安全访问:所有操作仅限于 SELECT 查询,确保数据不被修改。
- 隐私保护:本地处理数据,无数据发送至外部服务器。
- 企业级安全:支持 SSL/TLS 加密连接,配置分离,用户控制访问权限。
- 高级功能:表格浏览、架构分析、查询执行等。
适用场景
- 数据分析:AI 系统安全地读取和分析数据库中的数据。
- 数据查询:执行安全的 SQL 查询,获取所需数据。
- 数据库管理:查看表结构、约束和性能指标。
工具列表
- dbutils-list-tables:列出数据库中的所有表。
- dbutils-run-query:执行 SQL 查询(仅 SELECT)。
- dbutils-get-stats:获取有关表的统计信息。
- dbutils-list-constraints:列出表约束。
- dbutils-explain-query:获取查询执行计划。
- dbutils-get-performance:获取数据库性能指标。
- dbutils-analyze-query:分析查询以进行优化。
常见问题解答
- 安装问题:确保 Python 3.10+ 和 uv 或 Docker 已正确安装。
- 配置问题:检查 YAML 配置文件语法和数据库连接详细信息。
- 连接问题:确保数据库可从本地计算机访问。
使用教程
使用依赖
- Python 3.10 或更高版本。
- uv 包管理器(推荐)或 Docker。
- 支持的数据库:SQLite 3.x、PostgreSQL 12+、MySQL 8+。
安装教程
方式A:使用 uvx(推荐)
- 安装 uv 和 uvx:
bash curl -LsSf https://astral.sh/uv/install.sh | sh
- 验证安装:
bash uv --version
- 创建配置文件
config.yaml
:yaml connections: postgres: type: postgres host: localhost port: 5432 dbname: my_database user: my_user password: my_password
- 配置 AI 客户端的 MCP 配置文件:
json "dbutils": { "command": "uvx", "args": [ "mcp-dbutils", "--config", "/完整/路径/到您的/config.yaml" ] }
方式B:使用 Docker 手动安装
- 安装 Docker:
bash # 从 docker.com 下载并安装 Docker Desktop
- 创建配置文件
config.yaml
。 - 配置 AI 客户端的 MCP 配置文件:
json "dbutils": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/完整/路径/到您的/config.yaml:/app/config.yaml", "-v", "/完整/路径/到您的/sqlite.db:/app/sqlite.db", "mcp/dbutils", "--config", "/app/config.yaml" ] }
方式C:使用 Smithery(Claude 一键配置)
npx -y @smithery/cli install @donghao1393/mcp-dbutils --client claude
调试方式
- 验证安装:
bash uv --version
- 检查配置文件语法和路径。
- 测试连接:
bash uvx mcp-dbutils --config /path/to/config.yaml
- 在 AI 客户端中测试查询:
- "列出我数据库中的表"
- "查看 customers 表的结构"