关于 Mcp Sql Server
Mcp Sql Server 是面向 AI 助手的 MSSQL 数据库 MCP 服务,可检查结构、执行查询并监控性能。它提供参数化查询、批量操作和连接池管理;目前仅支持 MSSQL。
主要功能
- 01检查数据库结构与元数据
- 02执行参数化 SQL 查询
- 03批量查询与事务管理
- 04查看查询统计和性能报告
- 05监控连接池状态
适用场景
- 01浏览数据库表及字段定义
- 02查询活跃用户或订单数据
- 03检查慢查询和连接池状态
MCP 相关
该 MCP 服务向 MCP 客户端提供数据库结构检查、SQL 执行、批处理和性能监控工具。README 提到可接入 Claude Desktop、Cursor 等 MCP 兼容工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP SQL Server
一个模型上下文协议服务,可全面访问 SQL 数据库,目前支持 MSSQL。此服务使 AI 助手能够检查数据库架构、执行查询并执行数据库操作,同时提供企业级安全保障和性能监控。
当前状态:已全面支持 MSSQL。 MySQL 和 PostgreSQL 支持将在后续版本中推出。
✨ 主要功能
- 数据库支持:全面支持 MSSQL(即将支持 MySQL 和 PostgreSQL)
- 架构检查:全面分析数据库结构并提取元数据
- 查询执行:通过参数化查询安全执行 SQL,并格式化结果
- 性能监控:实时指标、查询统计和性能报告
- 安全至上:防止 SQL 注入、加密连接并实施访问控制
- 批量操作:高效执行批量查询并管理事务
- 连接池:通过可配置的连接池设置优化连接管理
- MCP 集成:原生支持 Claude Desktop、Cursor 和其他兼容 MCP 的工具
📦 安装与设置
前提条件
- Node.js 18.0.0+ - 在此下载
- 数据库服务器:Microsoft SQL Server(MSSQL)
- AI 助手:Claude Desktop、Cursor 或任何兼容 MCP 的工具
注意:目前仅支持 MSSQL。后续版本将添加对 MySQL 和 PostgreSQL 的支持。
快速安装
# Install globally via NPM
npm install -g @donggyunryu/mcp-sql
基本配置
参阅
env.example
创建 .env 文件并填写数据库设置:
# Create .env file with your database settings
# DB_TYPE=mssql # Current only MSSQL supported
DB_HOST=localhost
DB_PORT=1433
DB_DATABASE=your_database
DB_USER=your_username
DB_PASSWORD=your_password
DB_ENCRYPT=false
DB_TRUST_SERVER_CERTIFICATE=true
测试连接
# Test your database connection
npm run test:db # in local environment
#or
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": ["/full/path/to/mcp-mysql/build/index.js"], "env": { // "DB_TYPE": "mssql", # Current only MSSQL supported "DB_SERVER": "localhost", "DB_PORT": "1433", "DB_DATABASE": "your_database", "DB_USER": "your_username", "DB_PASSWORD": "your_password", "DB_ENCRYPT": "false", "DB_TRUST_SERVER_CERTIFICATE": "true", "NODE_ENV": "development", "LOG_LEVEL": "info" } } } }
配置 AI 助手
适用于 Claude Desktop:
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"mcp-sql": {
"command": "npx",
"args": ["-y", "@donggyunryu/mcp-sql"],
"env": {
// "DB_TYPE": "mssql", # Current only MSSQL supported
"DB_HOST": "localhost",
"DB_PORT": "1433",
"DB_DATABASE": "your_database",
"DB_USER": "your_username",
"DB_PASSWORD": "your_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", # Current only MSSQL supported
"DB_HOST": "localhost",
"DB_PORT": "1433",
"DB_DATABASE": "your_database",
"DB_USER": "your_username",
"DB_PASSWORD": "your_password",
"DB_ENCRYPT": "false",
"DB_TRUST_SERVER_CERTIFICATE": "true"
}
}
}
}
开始使用
重启 AI 助手并尝试:
"Show me all tables in my database"
"What's the structure of the users table?"
"Find all active users from the last 30 days"
💬 使用示例
架构探索
"Show me all tables in the database"
"What's the structure of the users table?"
"List all columns in the orders table with their data types"
数据查询
"Find all active users registered in the last 30 days"
"Show me the top 10 customers by total order value"
"Get all pending orders from this month"
性能监控
"Show me current connection pool status"
"What are the slowest queries in the last hour?"
"Generate a performance report for today"
🛠️ 可用工具
MCP SQL 服务提供以下数据库交互工具:
架构与发现工具
| 工具 | 描述 | 参数 |
|---|---|---|
list_tables | 列出数据库中的所有表 | pattern(可选):筛选模式 |
describe_table | 获取表的详细结构 | table_name:要描述的表名 |
get_schema | 获取完整的数据库架构 | include_system_tables:是否包含系统表 |
get_schema_statistics | 获取架构统计信息 | 无 |
查询执行工具
| 工具 | 描述 | 参数 |
|---|---|---|
execute_query | 安全地执行 SQL 查询 | query:SQL 语句parameters:绑定参数 |
start_batch_processing | 批量处理多条查询 | queries:SQL 语句数组 |
性能与监控工具
| 工具 | 描述 | 参数 |
|---|---|---|
get_connection_pool_status | 获取数据库连接池状态 | 无 |
get_query_stats | 获取查询执行统计信息 | period:时间段(可选) |
start_performance_monitoring | 启动性能监控 | interval:监控间隔(毫秒) |
generate_performance_report | 生成性能分析报告 | timeRange:报告时间段 |
clear_caches | 初始化缓存数据 | 无 |
🛡️ 安全
- 连接加密:支持 TLS/SSL 连接
- 参数绑定:防止 SQL 注入
- 访问控制:基于数据库用户权限进行控制
- 日志记录:完整记录查询执行日志
- 输入验证:全面清理输入内容
安全最佳实践
- 使用具有最低必要权限的专用数据库用户
- 尽可能为数据库连接启用 SSL/TLS 加密
- 使用连接池并设置适当的限制
- 切勿将凭据提交到版本控制系统
- 使用环境变量存储所有敏感配置
🗺️ 路线图
即将推出的功能
-
🔮 多数据库支持
- 实现 MySQL 适配器
- 实现 PostgreSQL 适配器
- 统一的数据库接口
-
⚡ 性能与缓存
- 查询结果缓存系统
- 高级性能优化
- 连接池增强
-
🧪 测试与质量
- 全面的测试覆盖率(100%)
- 自动化 CI/CD 流水线
- 性能基准测试
-
🚀 高级功能
- 支持 GraphQL 集成
- 增强监控仪表板
- 可扩展的插件架构
-
📊 分析与洞察
- 高级查询分析
- 数据库性能洞察
- 使用统计与报告
支持与社区
- 📋 问题: 报告错误或申请功能
- 💬 讨论: 社区讨论与问答
- 📖 文档: 全面的指南和 API 文档
📝 许可证
本项目采用 MIT 许可证授权。详情请参阅 LICENSE 文件。
为 AI 驱动的开发社区倾心打造
MCP SQL Server v1.0.0 - 连接 AI 与数据库
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。