使用说明
多数据库SQL MCP服务器
一种模型上下文协议(MCP)服务器,为包括SQLite、MySQL、PostgreSQL和SQL server在内的多种数据库类型提供SQL数据库连接。
特性
- 多数据库支持:SQLite、MySQL、PostgreSQL和SQL Server
- 连接管理:创建、管理和断开多个数据库连接
- 查询执行:使用参数化支持执行SQL查询
- 模式检查:获取表和列信息
- 类型安全:使用TypeScript构建,以获得更好的开发体验
安装
npm install
发展
# Build the project
npm run build
🔌 MCP服务器集成
要将此工具集集成到基于MCP的系统中,请按如下方式修改配置:
{
"mcpServers": {
"weather": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/project/build/index.js"
]
}
}
}
要将此工具集集成到基于MCP的系统中,请使用自定义npm脚本更新配置以运行Playwright服务器:
{
"mcpServers": {
"playwright": {
"command": "npm",
"args": [
"run",
"start:mcp"
]
}
}
}
✅ 确保你的
package.json包括astart:mcp指向正确TypeScript入口文件的脚本ts-node.
示例 package.json 代码片段:
"scripts": {
"start:mcp": "ts-node src/index.ts"
}
这允许您跳过手册 npm run build 开发过程中的步骤,使直接从TypeScript源代码迭代和测试MCP工具更快。
用法
服务器支持以下工具:
1.连接数据库
连接到具有指定配置的数据库。
参数:
connectionId(字符串,必填):连接的唯一标识符type(字符串,必填):数据库类型-“sqlite”、“mysql”、“postgresql”或“mssql”database(字符串,必填):数据库名称host(字符串,可选):数据库主机(SQLite不需要)port(数字,可选):数据库端口(SQLite不需要)username(字符串,可选):数据库用户名(SQLite不需要)password(字符串,可选):数据库密码(SQLite不需要)filename(字符串,可选):SQLite数据库文件路径(SQLite需要)ssl(布尔值,可选):启用SSL连接trustServerCertificate(布尔值,可选):信任服务器证书(仅限MSSQL)
2.execute_query
在连接的数据库上执行SQL查询。
参数:
connectionId(字符串,必填):连接标识符query(字符串,必填):要执行的SQL查询parameters(数组,可选):参数化查询的查询参数
3.get_table_schema
获取表的架构信息。
参数:
connectionId(字符串,必填):连接标识符tableName(字符串,可选):特定表名(如果未提供,则返回所有表)
4.列表连接
列出所有活动的数据库连接。
参数: 无
5.断开连接_数据库
断开与数据库的连接。
参数:
connectionId(字符串,必填):要断开连接的连接标识符
数据库特定注释
SQLite
- 需要
filename指向数据库文件的参数 - 无需主机、端口、用户名或密码
- 如果文件不存在,将创建该文件
MySQL
- 默认端口:3306
- 支持SSL连接
- 使用mysql2驱动程序进行基于Promise的操作
PostgreSQL
- 默认端口:5432
- 支持SSL连接
rejectUnauthorized: false为了发展 - 使用pg驱动程序
SQL Server(MSSQL)
- 默认端口:1433
- 支持SSL加密
- 使用
trustServerCertificate: true用于自签名证书 - 使用mssql驱动程序
连接示例
SQLite
{
"connectionId": "my-sqlite",
"type": "sqlite",
"database": "myapp",
"filename": "./data/myapp.db"
}
MySQL
{
"connectionId": "my-mysql",
"type": "mysql",
"host": "localhost",
"port": 3306,
"database": "myapp",
"username": "root",
"password": "password",
"ssl": false
}
PostgreSQL
{
"connectionId": "my-postgres",
"type": "postgresql",
"host": "localhost",
"port": 5432,
"database": "myapp",
"username": "postgres",
"password": "password",
"ssl": false
}
SQL Server
{
"connectionId": "my-mssql",
"type": "mssql",
"host": "localhost",
"port": 1433,
"database": "myapp",
"username": "sa",
"password": "YourStrong@Passw0rd",
"ssl": true,
"trustServerCertificate": true
}
错误处理
该服务器包括全面的错误处理功能,用于:
- 数据库连接失败
- 查询执行错误
- 连接ID无效
- 不支持的数据库类型
- 架构检查错误
所有错误都会返回描述性消息,以帮助调试。
项目结构
src/
├── index.ts # Main server entry point
├── DatabaseManager.ts # Database connection and query management
├── handlers.ts # Tool call handlers
├── tools.ts # Tool definitions
└── types.ts # TypeScript type definitions
需求
- Node.js 18+
- TypeScript 5+
- 特定数据库类型的数据库驱动程序
许可证
麻省理工学院
🤝 贡献
我们欢迎捐款!请查看我们的 贡献.md 作为指导方针。