使用说明
项目简介
MCP Database Utilities 是一个实现了 Model Context Protocol (MCP) 的数据库实用工具服务器。它为 LLM 客户端提供统一的接口来访问和操作多种数据库(目前支持 PostgreSQL 和 SQLite)。通过抽象层设计,简化了数据库操作,并提供了多种实用的数据库工具。
主要功能点
- 统一数据库访问接口: 为 PostgreSQL 和 SQLite 数据库提供一致的操作方式。
- 多数据库支持: 支持 PostgreSQL 和 SQLite 数据库,可以通过配置轻松切换。
- 安全只读查询: 仅支持 SELECT 查询,保障数据库安全。
- 表结构和Schema信息: 可以获取数据库表的结构和 Schema 信息。
- 数据库表列表工具: 提供 MCP 工具列出数据库中的表。
- 智能连接管理: 自动管理数据库连接的生命周期和资源清理。
- 性能监控: 提供数据库连接和查询的性能统计信息。
- 调试模式: 提供详细日志输出,方便问题排查。
安装步骤
方法一:使用 uvx (推荐) 无需安装,直接使用 'uvx' 运行:
uvx mcp-dbutils --config /path/to/config.yaml
方法二:使用 pip
pip install mcp-dbutils
方法三:使用 Docker
docker run -i --rm \ -v /path/to/config.yaml:/app/config.yaml \ -v /path/to/sqlite.db:/app/sqlite.db \ # 可选: SQLite数据库文件 -e MCP_DEBUG=1 \ # 可选: 开启debug模式 mcp/dbutils --config /app/config.yaml
方法四:使用 Smithery (Claude Desktop 自动安装)
npx -y @smithery/cli install @donghao1393/mcp-dbutils --client claude
服务器配置
MCP 服务器需要 YAML 配置文件,通过 '--config' 参数指定路径。以下是配置 Claude Desktop 等 MCP 客户端连接 MCP Database Utilities 服务器的 'mcpServers' 配置示例 (JSON 格式):
使用 uvx 运行的配置:
"mcpServers": { "mcp-dbutils": { "command": "uvx", "args": [ "mcp-dbutils", "--config", "/path/to/config.yaml" ], "env": { "MCP_DEBUG": "1" // 可选: 开启debug模式 } } }
使用 pip 运行的配置:
"mcpServers": { "mcp-dbutils": { "command": "python", "args": [ "-m", "mcp_dbutils", "--config", "/path/to/config.yaml" ], "env": { "MCP_DEBUG": "1" // 可选: 开启debug模式 } } }
使用 Docker 运行的配置:
"mcpServers": { "mcp-dbutils": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/config.yaml:/app/config.yaml", "-v", "/path/to/sqlite.db:/app/sqlite.db", // 可选: SQLite数据库文件挂载 "mcp/dbutils", "--config", "/app/config.yaml" ], "env": { "MCP_DEBUG": "1" // 可选: 开启debug模式 } } }
配置文件 (config.yaml) 示例:
connections: # PostgreSQL 连接配置示例 my_postgres: type: postgres dbname: test_db user: postgres password: secret host: host.docker.internal # Docker 环境连接宿主机 PostgreSQL port: 5432 # SQLite 连接配置示例 my_sqlite: type: sqlite path: /path/to/sqlite.db # SQLite 数据库文件路径
基本使用方法
- 配置数据库连接: 编辑 'config.yaml' 文件,根据需要配置 PostgreSQL 或 SQLite 数据库连接。
- 启动 MCP 服务器: 根据安装方法选择 'uvx', 'pip' 或 'docker' 命令启动服务器,并指定配置文件路径。
- 配置 MCP 客户端: 在 MCP 客户端(例如 Claude Desktop)的配置中,添加 'mcpServers' 节点,配置服务器的启动命令和参数,指向已启动的 MCP Database Utilities 服务器。
- 使用 MCP 工具: 在 MCP 客户端中,可以使用 'dbutils-list-tables' (列出表), 'dbutils-run-query' (运行 SQL 查询) 等工具与数据库进行交互。
MCP 工具列表
- dbutils-list-tables: 列出指定数据库连接中的所有表。
- dbutils-run-query: 在指定数据库连接上执行 SQL 查询 (仅限 SELECT)。
- dbutils-describe-table: 获取表的详细结构信息。
- dbutils-get-ddl: 获取创建表的 DDL 语句。
- dbutils-list-indexes: 列出表上的所有索引。
- dbutils-get-stats: 获取表的统计信息,如行数、大小等。
- dbutils-list-constraints: 列出表上的约束 (主键、外键等)。
- dbutils-explain-query: 获取 SQL 查询的执行计划。
- dbutils-get-performance: 获取数据库性能统计信息。
- dbutils-analyze-query: 分析 SQL 查询性能并提供优化建议。
信息
分类
数据库与文件