一个提供对SQL数据库全面访问的模型上下文协议服务器,首先支持MSSQL。此服务器使AI助手能够检查数据库模式、执行查询并进行数据库操作,同时具备企业级的安全性和性能监控。
当前状态:完全支持MSSQL。 未来版本将支持MySQL和PostgreSQL
注意:目前仅支持MSSQL。MySQL和PostgreSQL的支持将在未来版本中添加。
# 通过NPM全局安装
npm install -g @donggyunryu/mcp-sql
参考
env.example
创建一个包含数据库设置的.env文件:
# 创建包含数据库设置的.env文件
# DB_TYPE=mssql # 当前仅支持MSSQL
DB_HOST=localhost
DB_PORT=1433
DB_DATABASE=你的数据库
DB_USER=你的用户名
DB_PASSWORD=你的密码
DB_ENCRYPT=false
DB_TRUST_SERVER_CERTIFICATE=true
# 测试数据库连接
npm run test:db # 在本地环境
# 或者
npx @donggyunryu/mcp-sql test:db
克隆仓库:
git clone https://github.com/ryudg/mcp-sql.git
cd mcp-sql
安装依赖
npm install
构建项目
npm run build
添加到你的 mcp.json 或 setting.json,claude_desktop_config.json
{
"mcpServers": {
"mcp-sql": {
"command": "node",
"args": ["/完整路径/to/mcp-mysql/build/index.js"],
"env": {
// "DB_TYPE": "mssql", # 当前仅支持MSSQL
"DB_SERVER": "localhost",
"DB_PORT": "1433",
"DB_DATABASE": "你的数据库",
"DB_USER": "你的用户名",
"DB_PASSWORD": "你的密码",
"DB_ENCRYPT": "false",
"DB_TRUST_SERVER_CERTIFICATE": "true",
"NODE_ENV": "development",
"LOG_LEVEL": "info"
}
}
}
}
对于Claude Desktop:
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"mcp-sql": {
"command": "npx",
"args": ["-y", "@donggyunryu/mcp-sql"],
"env": {
// "DB_TYPE": "mssql", # 当前仅支持MSSQL
"DB_HOST": "localhost",
"DB_PORT": "1433",
"DB_DATABASE": "你的数据库",
"DB_USER": "你的用户名",
"DB_PASSWORD": "你的密码",
"DB_ENCRYPT": "false",
"DB_TRUST_SERVER_CERTIFICATE": "true"
}
}
}
}
对于Cursor(VSCode,Windsurf等IDE):
添加到你的MCP设置:
{
"mcpServers": {
"mcp-sql": {
"command": "npx",
"args": ["-y", "@donggyunryu/mcp-sql"],
"env": {
// "DB_TYPE": "mssql", # 当前仅支持MSSQL
"DB_HOST": "localhost",
"DB_PORT": "1433",
"DB_DATABASE": "你的数据库",
"DB_USER": "你的用户名",
"DB_PASSWORD": "你的密码",
"DB_ENCRYPT": "false",
"DB_TRUST_SERVER_CERTIFICATE": "true"
}
}
}
}
重启你的AI助手并尝试:
"展示我数据库中的所有表"
"用户表的结构是什么?"
"找出过去30天内活跃的所有用户"
"展示数据库中的所有表"
"用户表的结构是什么?"
"列出订单表中的所有列及其数据类型"
"找出过去30天内注册的所有活跃用户"
"按总订单价值展示前10名客户"
"获取本月的所有待处理订单"
"展示当前连接池状态"
"过去一小时内最慢的查询是什么?"
"生成今天的性能报告"
MCP SQL服务器提供了以下工具用于数据库交互:
| 工具 | 描述 | 参数 |
|---|---|---|
list_tables | 列出数据库中的所有表 | pattern (可选):过滤模式 |
describe_table | 获取详细的表结构 | table_name:要描述的表名 |
get_schema | 获取完整的数据库模式 | include_system_tables:是否包括系统表 |
get_schema_statistics | 获取模式统计信息 | 无 |
| 工具 | 描述 | 参数 |
|---|---|---|
execute_query | 安全地执行SQL查询 | query:SQL语句<br>parameters:绑定参数 |
start_batch_processing | 批量处理多个查询 | queries:SQL语句数组 |
| 工具 | 描述 | 参数 |
|---|---|---|
get_connection_pool_status | 获取数据库连接池状态 | 无 |
get_query_stats | 获取查询执行统计信息 | period:时间周期(可选) |
start_performance_monitoring | 启动性能监控 | interval:监控间隔(毫秒) |
generate_performance_report | 生成性能分析报告 | timeRange:报告周期 |
clear_caches | 初始化缓存数据 | 无 |
🔮 多数据库支持
⚡ 性能与缓存
🧪 测试与质量
🚀 高级功能
📊 分析与洞察
该项目采用MIT许可证。详情见LICENSE文件
为AI驱动的开发社区制作
MCP SQL Server v1.0.0 - 桥接AI和数据库