README
🚀 数据库 MCP 服务
数据库 MCP 服务支持多种数据库类型,借助 GORM 提供数据库功能,通过 Meteor 控制协议 (MCP) 实现高效管理。
🚀 快速开始
本服务支持多种数据库类型,可通过配置文件、命令行参数或环境变量进行配置,集成了 MCP 协议并支持 GORM ORM,为你提供便捷的数据库操作体验。
✨ 主要特性
- 支持多种数据库类型:
- MySQL
- PostgreSQL
- SQLite
- SQL Server
- ClickHouse
- 灵活的配置方式:
- 配置文件(YAML)
- 命令行参数
- 环境变量
- MCP 协议集成:无缝对接 MCP 协议,实现高效控制。
- GORM ORM 支持:借助 GORM ORM 简化数据库操作。
📦 安装指南
- 克隆仓库。
- 安装依赖项:
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) |
使用说明
- 启动服务:
./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 服务,请在你的 MCP 客户端中配置 MCP 端点:
http://127.0.0.1:8080/sse
这将使你的 MCP 客户端连接到本地运行的服务,端口为 8080。
MCP 工具
该服务提供以下 MCP 工具:
get_tables:获取数据库中的所有表- 返回值:包含表名和备注的列表。
get_table_detail:获取特定表的详细信息- 参数:
table_name:要获取详细信息的表名称。
- 返回值:包括表名称、备注、列信息(字段名、类型、备注、是否为空、默认值)等信息。
- 参数:
execute_sql:执行 SQL 查询- 参数:
query:要执行的 SQL 查询语句。
- 返回值:
- 对于 SELECT 查询:结果数据数组。
- 对于其他查询(如 INSERT, UPDATE, DELETE):受影响的行数。
- 参数:
📄 许可证
MIT License
Scan to contact