MultiDB MCP服务器
支持多个远程数据库的MCP(模型上下文协议)服务器。无状态设计-在每次调用时指定数据库。
特性
- 🔄 同时连接到多个数据库(MySQL/PostgreSQL)
- 🎯 无状态设计-无需连接状态管理
- 🔍 查询、模式检查、数据库管理
- 🛡️ 通过配置文件管理连接信息
- ✅ 用户确认数据修改操作
安装
推荐:使用uvx
uvx multidb-mcpMCP配置示例:
{
"multidb-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"multidb_mcp"
],
"env": {
"DATABASE_CONFIG_PATH": "xxx/database.json",
"DEFAULT_MAX_ROWS_AFFECTED": "1"
}
}
}其他的方法
使用紫外线:
uv venv && source .venv/bin/activate
uv pip install -e .
multidb-mcp使用pip:
pip install -e .
multidb-mcp配置
创建 config.json 文件:
{
"databases": {
"dev1": {
"type": "mysql",
"host": "localhost",
"port": 3306,
"user": "root",
"password": "password",
"database": "dev_db"
},
"test": {
"type": "postgresql",
"host": "localhost",
"port": 5432,
"user": "postgres",
"password": "password",
"database": "test_db"
}
}
}复制自 config.example.json:
cp config.example.json config.json # Edit with actual connection details配置文件优先级
- 命令行参数:
--config /path/to/config.json - 环境变量:
DATABASE_CONFIG_PATH=/path/to/config.json - 默认路径:
./config.json
用法
启动服务器
# Using default config
multidb-mcp
# Using custom config
multidb-mcp --config /path/to/config.json
# Using environment variable
export DATABASE_CONFIG_PATH=/path/to/config.json && multidb-mcp
# Development mode
fastmcp dev multidb_mcp/server.py运行演示
python demo.pyMCP工具
1.列表_数据库
列出所有已配置的数据库。
2.execute_query
在指定的数据库上执行SQL查询。对于数据修改操作(插入/更新/删除),需要用户确认。
| 参数 | 类型 | 说明 |
|---|---|---|
connection_name | string | 配置文件中的数据库连接名称 |
query | string | SQL查询语句 |
3.列表表
列出指定数据库中的所有表。
| 参数 | 类型 | 说明 |
|---|---|---|
connection_name | string | 配置文件中的数据库连接名称 |
4.描述表
获取表结构详细信息(字段、类型、约束)。
| 参数 | 类型 | 说明 |
|---|---|---|
connection_name | string | 配置文件中的数据库连接名称 |
table_name | string | 表名 |
无状态设计
每个工具调用都明确指定要操作的数据库。优点:
- ✅ 无服务器端状态管理
- ✅ 无干扰的并发多客户端接入
- ✅ 清晰、独立的通话
- ✅ 非常适合分布式/无服务器环境
- ✅ 消除状态不一致问题
许可证
有关详细信息,请参阅LICENSE文件。
