数据库 MCP 服务支持多种数据库类型,借助 GORM 提供数据库功能,通过 Meteor 控制协议 (MCP) 实现高效管理。
本服务支持多种数据库类型,可通过配置文件、命令行参数或环境变量进行配置,集成了 MCP 协议并支持 GORM ORM,为你提供便捷的数据库操作体验。
go mod tidy
创建一个 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) |
./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
要使用 MCP 服务,请在你的 MCP 客户端中配置 MCP 端点:
http://127.0.0.1:8080/sse
这将使你的 MCP 客户端连接到本地运行的服务,端口为 8080。
该服务提供以下 MCP 工具:
get_tables
:获取数据库中的所有表
get_table_detail
:获取特定表的详细信息
table_name
:要获取详细信息的表名称。execute_sql
:执行 SQL 查询
query
:要执行的 SQL 查询语句。MIT License