Django Migrations MCP Service 使用说明
项目简介
Django Migrations MCP Service 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在简化分布式 Django 环境中的数据库迁移管理。它将 Django 的迁移命令封装为 MCP 协议的工具,允许您通过 MCP 客户端远程执行和管理 Django 项目的数据库迁移,特别适用于 CI/CD 流程和微服务架构。
主要功能点
- 查看迁移状态: 检索已应用和未应用的数据库迁移列表。
- 生成迁移文件: 根据模型变更自动创建新的迁移文件。
- 应用数据库迁移: 将迁移文件应用到数据库,更新数据库结构。
- 增强的验证和安全检查:
- 顺序验证: 确保迁移文件按顺序编号,避免遗漏。
- 冲突检测: 检测迁移文件之间的冲突。
- 依赖验证: 验证迁移文件依赖的外部应用或迁移是否存在。
- 安全分析: 识别可能导致数据丢失或风险的迁移操作 (如删除模型或字段)。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/mrrobotke/django-migrations-mcp.git cd django-migrations-mcp - 安装 Python 依赖:
pip install -r requirements.txt
服务器配置
MCP 客户端需要以下配置信息才能连接到 Django Migrations MCP Service。请将以下 JSON 配置添加到您的 MCP 客户端配置中:
{ "serverName": "djangoMigrationsMCP", "command": "python", "args": ["-m", "migrations_mcp.service"], "env": { "DJANGO_SETTINGS_MODULE": "your_project.settings", // **[必填]** Django 项目的 settings.py 模块路径,例如 "myproject.settings" "MCP_SERVICE_PORT": "8000" // **[可选]** MCP 服务端口号,默认为 8000 } }
配置参数说明:
- 'serverName': 服务器名称,客户端用于识别和调用。
- 'command': 启动 MCP 服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给 'command' 的参数列表,'-m migrations_mcp.service' 指示 Python 运行 'migrations_mcp.service' 模块作为服务。
- 'env': 环境变量配置,用于配置 Django 项目和 MCP 服务:
- 'DJANGO_SETTINGS_MODULE': 必须配置,指向您的 Django 项目的 'settings.py' 文件,例如 'your_project.settings'。这将确保 MCP 服务能够正确加载 Django 项目配置。
- 'MCP_SERVICE_PORT': 可选配置,指定 MCP 服务监听的端口号。如果未设置,默认为 '8000'。
注意: 您需要根据实际 Django 项目的 'settings.py' 文件路径修改 'DJANGO_SETTINGS_MODULE' 环境变量。
基本使用方法
-
启动 MCP 服务器: 根据上述配置,在安装好依赖的环境中运行 MCP 服务器。可以直接使用 Python 运行:
python -m migrations_mcp.service或者使用 Docker 部署,请参考仓库 'README.md' 中的 Docker 使用说明。
-
使用 MCP 客户端调用工具: 使用 MCP 客户端(例如 'mcp-client-py')连接到运行的 Django Migrations MCP Service。您可以使用以下工具 (Tools) 来管理 Django 迁移:
- 'show_migrations': 查看迁移状态。
- 'make_migrations': 生成迁移文件,可以指定应用名称作为参数。
- 'migrate': 应用迁移,可以指定应用名称和迁移名称作为参数。
具体调用方法请参考仓库 'README.md' 中的 "MCP Endpoints" 和 "CI/CD Integration" 部分的示例代码。您可以使用 Python MCP 客户端库或者通过 HTTP 请求 (如 'curl') 调用这些工具。
信息
分类
开发者工具