返回市场
麦普-数据库

麦普-数据库

作者:ryudg2 星标更新:2025-05-26

项目介绍

MCP SQL Server

版本 许可证 Node TypeScript

一个提供对SQL数据库全面访问的模型上下文协议服务器,首先支持MSSQL。此服务器使AI助手能够检查数据库模式、执行查询并进行数据库操作,同时具备企业级的安全性和性能监控。

当前状态:完全支持MSSQL。 未来版本将支持MySQL和PostgreSQL

✨ 主要特性

<img src="./video/video1.gif" width="350" height="250" alt="视频1" /> <img src="./video/video2.gif" width="350" height="250" alt="视频2" /> <img src="./video/video3.gif" width="350" height="250" alt="视频3" />
  • 数据库支持:完全支持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的支持将在未来版本中添加。

快速安装

# 通过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

🚀 快速开始

本地环境

  1. 克隆仓库:

    git clone https://github.com/ryudg/mcp-sql.git
    cd mcp-sql
    
  2. 安装依赖

    npm install
    
  3. 构建项目

    npm run build
    
  4. 添加到你的 mcp.jsonsetting.jsonclaude_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"
          }
        }
      }
    }
    

配置AI助手

对于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初始化缓存数据

🛡️ 安全性

  • 连接加密:支持TLS/SSL连接
  • 参数绑定:防止SQL注入
  • 访问控制:基于数据库用户权限的控制
  • 日志记录:完整的查询执行日志
  • 输入验证:全面的输入净化

安全最佳实践

  • 使用具有最小必要权限的专用数据库用户
  • 尽可能启用数据库连接的SSL/TLS加密
  • 使用带有适当限制的连接池
  • 不要将凭据提交到版本控制系统
  • 使用环境变量存储所有敏感配置

🗺️ 发展路线图

即将推出的功能

  • 🔮 多数据库支持

    • 实现MySQL适配器
    • 实现PostgreSQL适配器
    • 统一的数据库接口
  • ⚡ 性能与缓存

    • 查询结果缓存系统
    • 高级性能优化
    • 连接池增强
  • 🧪 测试与质量

    • 全面的测试覆盖率(100%)
    • 自动化的CI/CD流水线
    • 性能基准测试
  • 🚀 高级功能

    • 支持GraphQL集成
    • 增强的监控仪表板
    • 扩展性的插件架构
  • 📊 分析与洞察

    • 高级查询分析
    • 数据库性能洞察
    • 使用统计和报告

查看变更日志

支持与社区

📝 许可证

该项目采用MIT许可证。详情见LICENSE文件


为AI驱动的开发社区制作

MCP SQL Server v1.0.0 - 桥接AI和数据库