
Database MCP Server

2025.03.18
0
Python数据库管理数据库连接数据库操作数据库
Database MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,提供连接和操作多种数据库系统的工具。它支持多种数据库类型,包括 SQLite、PostgreSQL、MySQL/MariaDB 和 SQL Server,并提供统一的接口进行数据库操作。此外,它还支持数据库特定的扩展功能、模式管理、查询执行和事务管理。
View on GitHub
Overview
基本能力
产品定位
Database MCP Server 是一个用于连接和操作多种数据库系统的工具,提供统一的接口和数据库特定的扩展功能。
核心功能
- 多数据库支持:支持 SQLite、PostgreSQL、MySQL/MariaDB 和 SQL Server 数据库
- 统一接口:提供跨所有支持数据库类型的通用工具
- 数据库特定扩展:支持数据库特定的功能扩展
- 模式管理:创建、修改和删除表和索引
- 查询执行:执行原始 SQL 查询或使用结构化查询工具
- 事务支持:开始、提交和回滚事务
适用场景
- 需要连接和操作多种数据库系统的场景
- 需要统一接口进行数据库操作的场景
- 需要数据库特定功能扩展的场景
- 需要模式管理、查询执行和事务管理的场景
工具列表
连接管理
add_connection
: 添加新的数据库连接test_connection
: 测试数据库连接list_connections
: 列出所有数据库连接remove_connection
: 删除数据库连接
查询执行
execute_query
: 执行 SQL 查询get_records
: 从表中获取记录insert_record
: 向表中插入记录update_record
: 更新表中的记录delete_record
: 从表中删除记录
模式管理
list_tables
: 列出数据库中的所有表get_table_schema
: 获取表的模式create_table
: 创建新表drop_table
: 删除表create_index
: 在表上创建索引drop_index
: 删除索引alter_table
: 修改表结构
事务管理
begin_transaction
: 开始事务commit_transaction
: 提交事务rollback_transaction
: 回滚事务
使用教程
使用依赖
- Python 3.8 或更高版本
- 所需的 Python 包(通过 pip 自动安装):
- SQLAlchemy
- 根据使用的数据库类型,可能需要以下驱动:
- SQLite(Python 自带)
- PostgreSQL:
psycopg2-binary
- MySQL/MariaDB:
mysql-connector-python
- SQL Server:
pyodbc
安装教程
# 克隆仓库
git clone <repository-url>
# 安装包
pip install -e .
调试方式
作为 MCP Server 运行
# 使用默认设置运行
python -m db_mcp_server
# 指定配置文件
python -m db_mcp_server --config /path/to/config.json
# 设置日志级别
python -m db_mcp_server --log-level DEBUG
作为独立 Web 服务器运行
# 作为 Web 服务器运行
python -m db_mcp_server.web_server
# 指定主机和端口
python -m db_mcp_server.web_server --host 0.0.0.0 --port 8000
# 指定配置文件和日志级别
python -m db_mcp_server.web_server --config /path/to/config.json --log-level DEBUG
运行测试
# 运行所有测试
python -m unittest discover
# 运行特定测试文件
python -m unittest tests.test_sqlite