🗄️ 数据库连接
GitHub Copilot的MCP工具-智能数据库管理
](https://www.python.org/downloads/)  
📋 描述
数据库连接 这是一个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初始配置
- 配置数据库连接 :
编辑文件 config/settings.json:
{
"connections": {
"mi_mysql": {
"type": "mysql",
"host": "localhost",
"port": 3306,
"user": "root",
"password": "tu_password",
"database": null
}
},
"default_connection": "mi_mysql"
}- 测试连接:
# Windows:
.\test.bat
# Linux/Mac o manualmente:
python test_connection.py- MCP配置已经准备好
.vscode/settings.json-你不需要做任何事情。
- 充值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-执行自定义SQLexecute_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
- 性能监控
📞 支撑
你需要帮助吗?
👏 感谢
- FastMCP -MCP框架
- -IA助理
- Python开发人员社区
______________________________________________________________________
发展与❤️ 使数据库管理更加直观和富有成效。
⭐ 如果这个项目对你有用,考虑在Github上给它一颗星!
