这是一个支持连接多种关系型数据库系统的通用数据库MCP(模型上下文协议)服务器,提供数据库结构信息,并执行只读SQL查询。
克隆仓库:
git clone https://github.com/xiaoshi7915/universal-db-mcp-server.git
cd universal-db-mcp-server
安装依赖:
pip install -r requirements.txt
启动服务器:
./start.sh --db-host localhost --db-user root --db-password password --db-name mydatabase
构建Docker镜像:
docker build -t universal-db-mcp-server .
运行Docker容器:
docker run -p 8088:8088 -e DB_HOST=host.docker.internal -e DB_USER=root -e DB_PASSWORD=password -e DB_NAME=mydatabase universal-db-mcp-server
可以通过环境变量或命令行参数来配置服务器:
| 参数 | 环境变量 | 描述 | 默认值 |
|---|---|---|---|
| --host | HOST | 服务器主机地址 | 0.0.0.0 |
| --port | PORT | 服务器端口 | 8088 |
| --db-type | DBTYPE | 数据库类型 | MySQL |
| --db-host | DBHOST | 数据库主机地址 | localhost |
| --db-port | DBPORT | 数据库端口 | 3306 |
| --db-user | DBUSER | 数据库用户名 | root |
| --db-password | DBPASSWORD | 数据库密码 | (空) |
| --db-name | DBNAME | 数据库名称 | (空) |
| --verbose | - | 启用详细日志输出 | false |
要将此服务器与Claude集成,请在claude_desktop_config.json文件中添加以下配置:
{
"mcpServers": {
"db": {
"command": "/path/to/start.sh",
"args": [
"--db-host", "localhost",
"--db-user", "root",
"--db-password", "password",
"--db-name", "mydatabase"
],
"env": {
"DB_TYPE": "mysql"
}
}
}
}
为了更完整的部署环境,可以使用Docker Compose:
version: '3'
services:
db-mcp-server:
build: .
ports:
- "8088:8088"
environment:
- DB_TYPE=mysql
- DB_HOST=mysql
- DB_PORT=3306
- DB_USER=root
- DB_PASSWORD=rootpassword
- DB_NAME=testdb
depends_on:
- mysql
mysql:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=testdb
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
欢迎提交问题和拉取请求!