Back to MCP directory
publicPublicdnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client