Database MCP Server

Database MCP Server

site icon
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

许可证

该项目遵循 MIT 开源许可条款。