Django管理界面自动化工具

一个无需修改服务器代码即可自动化操作任何标准Django管理界面的工具,适用于AI辅助数据录入和批量处理场景。

  • by dbuxton
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dbuxton/django-admin-web-mcp

使用说明

django管理员mcp

包装的MCP服务器 任何股票Django管理员 --不需要服务器端更改。

它解析管理HTML以发现模式,并使用基于会话的HTTP读取和创建记录。停止手动接线配置。克劳德逐个模型地再现了你的现实世界过程。


为什么存在

你希望你的团队对你的应用程序进行人工智能化——让克劳德(或其他代理)填充记录、批量导入数据,并处理占用你一天时间的繁琐的管理工作。

做到这一点的“正确”方法是让您的技术团队构建正确的API端点和集成。但这需要工程时间,这意味着要优先考虑其他事情。这是一种真正的权衡,当目标只是“我想让人工智能为我填写这些记录”时,往往很难证明是合理的

这是解决方法: 每个Django应用程序都已经附带了管理UI这个MCP服务器将Claude指向现有的接口,并像人类一样驱动它——发现模型、读取字段模式、解析外键和提交表单。服务器端无更改。零个新端点。你的技术团队没有什么可以构建的。

你现在可以获得人工智能辅助的工作流程,而不会让团队付出冲刺的代价。


兼容性

经过测试 Django 5.2。它应该适用于任何使用标准管理HTML结构的Django版本,但只有5.2经过验证。欢迎其他版本的报告和PR。


快速启动(uvx,本地)

不需要PyPI发布--点 uvx 直接在本地目录。

# One-time browser auth (Okta/SSO flow → saves session cookie)
DJANGO_ADMIN_URL=https://example.com/admin \
  uvx --from /path/to/django-updater --with playwright django-admin-mcp auth

# Install Playwright's Chromium browser the first time
uvx playwright install chromium

之后,MCP服务器以一行启动:

DJANGO_ADMIN_URL=https://example.com/admin \
  uvx --from /path/to/django-updater django-admin-mcp

提示: 使用 . 当您的shell已经在项目目录中时,不使用完整路径。


克劳德桌面/Claude代码配置

增添 claude_desktop_config.json:

{
  "mcpServers": {
    "django-admin": {
      "command": "uvx",
      "args": [
        "--from", "/path/to/django-updater",
        "django-admin-mcp"
      ],
      "env": {
        "DJANGO_ADMIN_URL": "https://example.com/admin"
      }
    }
  }
}

或添加到您的项目 .mcp.json 克劳德代码:

{
  "mcpServers": {
    "django-admin": {
      "command": "uvx",
      "args": [
        "--from", "/path/to/django-updater",
        "django-admin-mcp"
      ],
      "env": {
        "DJANGO_ADMIN_URL": "https://example.com/admin"
      }
    }
  }
}

认证

Django管理会话是通过 一次性浏览器流 (支持Okta和任何其他SSO提供程序):

DJANGO_ADMIN_URL=https://example.com/admin \
  uvx --from /path/to/django-updater --with playwright django-admin-mcp auth
  1. 一个带标题的Chromium窗口打开并导航到您的管理员URL
  2. 在浏览器中完成登录/SSO流程
  3. 一旦重定向到管理员索引,脚本就会将所有Cookie保存到 ~/.django-admin-mcp/session.json (模式0600)
  4. MCP服务器在每次启动时都会加载这些Cookie

重新运行 auth 会话到期时的命令。


可用工具

工具 说明
list_models 列出所有管理员注册的型号及其应用程序、名称和URL
describe_model(app, model) 反思添加表单:字段类型、必填标志、选项、自动完成URL
autocomplete(app, model, field_name, term) 解析FK/M2M名称→ 通过Django管理员Select2端点进行PK
list_records(app, model, search?, page?) 分页变更列表查询
get_record(app, model, id) 读取单个记录的当前字段值
create_record(app, model, data) 发布新记录;回报 {success, id} 或 {success, errors}

环境变量

变量 必填 描述
DJANGO_ADMIN_URL 是 Django管理员根目录的完整URL(例如。 https://example.com/admin)

变量可以导出到shell中或放置在 .env 工作目录中的文件。


发展

cd /path/to/django-updater
uv sync --extra auth
uv run playwright install chromium
uv run django-admin-mcp auth
uv run django-admin-mcp