返回 MCP 目录
public公开dns本地运行

database-mcp

一个支持多种数据库类型的MCP服务,通过GORM实现数据库操作,提供配置文件和命令行参数配置,集成MCP协议并提供数据库查询工具。

article

README

🚀 数据库 MCP 服务

数据库 MCP 服务支持多种数据库类型,借助 GORM 提供数据库功能,通过 Meteor 控制协议 (MCP) 实现高效管理。

🚀 快速开始

本服务支持多种数据库类型,可通过配置文件、命令行参数或环境变量进行配置,集成了 MCP 协议并支持 GORM ORM,为你提供便捷的数据库操作体验。

✨ 主要特性

  • 支持多种数据库类型
    • MySQL
    • PostgreSQL
    • SQLite
    • SQL Server
    • ClickHouse
  • 灵活的配置方式
    • 配置文件(YAML)
    • 命令行参数
    • 环境变量
  • MCP 协议集成:无缝对接 MCP 协议,实现高效控制。
  • GORM ORM 支持:借助 GORM ORM 简化数据库操作。

📦 安装指南

  1. 克隆仓库。
  2. 安装依赖项:
    go mod tidy
    

📚 详细文档

配置说明

配置文件(config.yaml)

创建一个 config.yaml 文件,结构如下:

database:
  type: "mysql"  # mysql, postgres, sqlite, sqlserver, clickhouse
  host: "localhost"
  port: 3306
  username: "root"
  password: "password"
  database: "mydb"
  ssl_mode: "disable"  # for postgres
  file: "database.db"  # for sqlite

命令行参数

可以通过命令行覆盖配置文件的设置:

./database-mcp --config=config.yaml \
  --db-type=mysql \
  --db-host=localhost \
  --db-port=3306 \
  --db-user=root \
  --db-pass=password \
  --db-name=mydb \
  --db-ssl-mode=disable \
  --db-file=database.db

可用的命令行参数包括: | 参数 | 详情 | |------|------| | --config | 配置文件路径(默认: "config.yaml") | | --db-type | 数据库类型(mysql, postgres, sqlite, sqlserver, clickhouse) | | --db-host | 数据库主机地址 | | --db-port | 数据库端口 | | --db-user | 数据库用户名 | | --db-pass | 数据库密码 | | --db-name | 数据库名称 | | --db-ssl-mode | SSL 模式(适用于 PostgreSQL) | | --db-file | 数据库文件路径(适用于 SQLite) |

使用说明

  1. 启动服务:
    ./database-mcp --db-type=mysql --db-host=127.0.0.1 --db-port=3306 --db-user=dbuser --db-pass=passwd --db-name=dbname --db-ssl-mode=disable --mode=http
    
  2. 服务功能:
    • 加载配置文件和/或命令行参数。
    • 初始化数据库连接。
    • 启动 MCP 服务器。
    • 注册可用工具和资源。

MCP 配置

要使用 MCP 服务,请在你的 MCP 客户端中配置 MCP 端点:

http://127.0.0.1:8080/sse

这将使你的 MCP 客户端连接到本地运行的服务,端口为 8080。

MCP 工具

该服务提供以下 MCP 工具:

  1. get_tables:获取数据库中的所有表
    • 返回值:包含表名和备注的列表。
  2. get_table_detail:获取特定表的详细信息
    • 参数:
      • table_name:要获取详细信息的表名称。
    • 返回值:包括表名称、备注、列信息(字段名、类型、备注、是否为空、默认值)等信息。
  3. execute_sql:执行 SQL 查询
    • 参数:
      • query:要执行的 SQL 查询语句。
    • 返回值:
      • 对于 SELECT 查询:结果数据数组。
      • 对于其他查询(如 INSERT, UPDATE, DELETE):受影响的行数。

📄 许可证

MIT License

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端