数据库连接工具

Database-Connect是一个MCP工具,允许GitHub Copilot通过自然语言直接与MySQL和PostgreSQL数据库交互,支持CRUD操作、高级查询、存储过程管理和安全配置。

  • by ManuelVR461
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ManuelVR461/mysql-mcp-universal

使用说明

🗄️ 数据库连接

GitHub Copilot的MCP工具-智能数据库管理

📋 描述

数据库连接 这是一个MCP(Model Context Protocol)工具,允许GitHub Copilot通过自然语言直接与MySQL和PostgreSQL数据库交互。

想象一下,你可以告诉副驾驶: “显示今天注册的用户” 哦 “更新ID为42的产品库存” 并在您的数据库中自动运行。那是数据库连接。

✨ 主要特征

🎯 完整的CRUD操作

  • 创建:插入单个或批记录
  • 阅读:使用过滤器的简单高级查询
  • 更新:按ID或条件更新记录
  • 删除:通过确认安全删除数据

🚀 高级操作

  • 加入:多个表之间的查询
  • 聚合:计数、总和、平均值、最大值、最小值,按分组
  • 交易:具有回滚的多个原子操作
  • 数据定义语言:创建、修改和删除表

📦 存储过程管理

  • 列出并执行存储过程
  • 创建和删除过程
  • 执行用户定义的函数
  • 支持输入/输出参数

🔐 综合安全

  • 使用prepared语句防止SQL注入
  • 破坏性操作确认
  • 凭证加密
  • 关键业务审计

⚙️ 灵活配置

  • 支持多个连接
  • 连接配置文件(开发、生产、测试)
  • VS代码中的配置接口
  • 实时连接切换

🚀 快速启动

先决条件

  • Python 3.10以上
  • Visual Studio Code
  • GitHub Copilot(活动订阅)
  • MySQL 8.0+或PostgreSQL 12+(至少一个)

安装

# 1. Clonar el repositorio
git clone https://github.com/tu-usuario/database-connect.git
cd database-connect

# 2. Crear y activar entorno virtual
python -m venv venv

# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate

# 3. Instalar dependencias
pip install -r requirements.txt

初始配置

  1. 配置数据库连接 :

编辑文件 config/settings.json:

{
  "connections": {
    "mi_mysql": {
      "type": "mysql",
      "host": "localhost",
      "port": 3306,
      "user": "root",
      "password": "tu_password",
      "database": null
    }
  },
  "default_connection": "mi_mysql"
}
  1. 测试连接:
# Windows:
.\test.bat

# Linux/Mac o manualmente:
python test_connection.py
  1. MCP配置已经准备好 .vscode/settings.json -你不需要做任何事情。

  2. 充值VS代码 用于检测MCP服务器。

快速使用(Windows)

# Probar conexión
.\test.bat

# Iniciar servidor MCP
.\run_server.bat

# Activar entorno virtual para desarrollo
.\activate.bat

💬 使用示例

配置后,您可以使用带有自然命令的copilot chat:

基本查询

👤 "Muéstrame todos los usuarios de la tabla users"
🤖 [Ejecuta: SELECT * FROM users]

👤 "¿Cuántos productos hay en stock?"
🤖 [Ejecuta: SELECT COUNT(*) FROM products WHERE stock > 0]

👤 "Dame el usuario con email john@example.com"
🤖 [Ejecuta: SELECT * FROM users WHERE email = 'john@example.com']

修改操作

👤 "Inserta un nuevo usuario llamado María con email maria@example.com"
🤖 [Ejecuta: INSERT INTO users (name, email) VALUES ('María', 'maria@example.com')]

👤 "Actualiza el precio del producto ID 5 a 99.99"
🤖 [Ejecuta: UPDATE products SET price = 99.99 WHERE id = 5]

👤 "Elimina los usuarios inactivos"
🤖 ⚠️ Esta operación eliminará X registros. ¿Confirmas? (S/N)

高级查询

👤 "Muéstrame el total de ventas por categoría"
🤖 [Ejecuta: SELECT category, SUM(amount) FROM sales GROUP BY category]

👤 "Dame los pedidos de hoy con información del cliente"
🤖 [Ejecuta: SELECT o.*, c.name FROM orders o 
     INNER JOIN customers c ON o.customer_id = c.id 
     WHERE DATE(o.created_at) = CURDATE()]

存储过程

👤 "Lista todos los procedimientos almacenados"
🤖 [Muestra lista de stored procedures]

👤 "Ejecuta el procedimiento calculate_discount con parámetro 100"
🤖 [Ejecuta: CALL calculate_discount(100)]

🛠️ 可用的工具

数据库连接提供以下MCP工具:

连接管理

  • test_database_connection -测试数据库连接
  • list_databases -列出可用数据库
  • get_connection_status -活动连接状态

CRUD操作

  • insert_record -插入记录
  • bulk_insert -插入多个记录
  • select_records -使用过滤器选择记录
  • get_record_by_id -按ID获取记录
  • count_records - 计算记录
  • update_record -更新记录
  • update_records -更新多个记录
  • delete_record -删除记录
  • delete_records -删除多个记录

高级查询

  • execute_custom_query -执行自定义SQL
  • execute_join_query -与Joins的查询
  • execute_aggregate_query -与聚合的查询
  • execute_transaction -执行事务

管理结构

  • list_tables -列表表格
  • get_table_schema -获取表架构
  • get_table_info -详细信息表
  • create_table -创建表格
  • alter_table -编辑表格
  • drop_table -删除表格

存储过程

  • list_stored_procedures -列出程序
  • get_procedure_definition -查看程序代码
  • execute_stored_procedure -执行程序
  • create_stored_procedure -创建过程
  • drop_stored_procedure -删除过程

📚 完整的文件

🔒 安全

数据库连接非常重视安全:

  • ✅ SQL注入:通过准备声明进行预防
  • ✅ 全权证书:从不在日志或错误中公开
  • ✅ 确认:破坏性操作需要确认
  • ✅ 验证:所有输入都经过验证
  • ✅ 审计:关键操作日志

🤝 争议

欢迎捐款!请阅读 贡献.md 有关我们的行为准则和拉动请求过程的详细信息。

📝 许可证

这个项目是根据麻省理工学院的许可证授权的-请参阅文件 许可证 关于细节。

🌟 未来特点

下一个版本将包括:

  • 支持SQLite和MongoDB
  • 数据导出(CSV,JSON,Excel)
  • 查询生成器可视化
  • 迁移经理
  • 备份/恢复automáTICO
  • 性能监控

📞 支撑

你需要帮助吗?

👏 感谢


发展与❤️ 使数据库管理更加直观和富有成效。

⭐ 如果这个项目对你有用,考虑在Github上给它一颗星!