Odoo Migration Copilot

Turns Odoo upgrade logs and addon scans into a classified worklist via the odoo-mcp server

od tuanle96 · tuanle96/mcp-odoo

Funguje s nastavením ★ 8.0/10

Odoo Migration Copilot — Turns Odoo upgrade logs and addon scans into a classified worklist via the odoo-mcp server

Co umí

A three-phase playbook for Odoo version upgrades (16 to 17 to 18 to 19/20) that drives the odoo-mcp server's migration tools: scan_addons_source and upgrade_risk_report for inventory, analyze_upgrade_log to classify staging failures as no_action / needs_review / needs_script, lookup_model_history to resolve model renames, and generate_json2_payload for the XML-RPC-to-JSON-2 transition. Output is a phase header, an action/category/evidence/fix/status worklist table, and a go/no-go call with the open needs_script count. Triggers when you mention upgrading or migrating Odoo versions, a failing upgrade log, Odoo 17 "attrs" view errors, or XML-RPC deprecation.

Testovací report

Cloned the repo and installed skills/odoo-migration-copilot into a throwaway HOME (export HOME=$(mktemp -d)) — SKILL.md lands at the right path, frontmatter parses to exactly name+description, no scripts referenced, no curl|sh / base64 / secret-exfil / injection text anywhere under skills/, and raw fetches of the SKILL.md, the sibling odoo-data-quality-gate skill, diagnostics.py and data/odoo_renames.json all returned HTTP 200. The MCP server needs live Odoo credentials, but four of the five tools the playbook calls are pure input-driven functions, so I executed analyze_upgrade_log_report, scan_addons_source_report, upgrade_risk_report, lookup_model_history_report and generate_json2_payload_report directly against a 14-line synthetic Odoo 16-to-17 failure log and a synthetic acme_sales addon tree; only get_odoo_profile and data_quality_report were unrunnable. The skill artifact gained real structure over my unaided baseline — the prescribed action|category|evidence|fix|status table, an explicit "no-go, 9 open needs_script", and lookup_model_history pinning account.invoice to account.move as of Odoo 13.0 with the move_type filter note, plus a verified POST /json/2/sale.order/search_read preview. Against that, analyze_upgrade_log's regexes silently skipped two of the eleven error lines my prose baseline caught ("Model acme.commission.rule references undefined model account.invoice" and "dependency website_theme_install not found"), and scored the cascade line "Failed to load registry" as its own needs_script item, so following the tool output literally yields a thinner worklist than reading the log yourself.

Testováno: 2026-07-21 · Claude Code 2.x (agent harness)

Instalace

git clone --depth 1 https://github.com/tuanle96/mcp-odoo.git /tmp/odoo-migration-copilot-src
mkdir -p ~/.claude/skills
cp -R /tmp/odoo-migration-copilot-src/skills/odoo-migration-copilot ~/.claude/skills/odoo-migration-copilot
# REQUIRED, not optional: the skill is only a playbook — every step calls a tool from the
# odoo-mcp MCP server. Without that server connected the skill has nothing to run.
#   uvx odoo-mcp --setup      # prints the MCP client config snippet
# Needs Odoo connection env vars (ODOO_URL / ODOO_DB / ODOO_USER / ODOO_PASSWORD or API key).
# Phase 1 addon audit additionally needs ODOO_ADDONS_PATHS pointing at your custom addon tree.
# Sibling skill referenced by Phase 1 step 4 (install it too if you want the data gate):
#   cp -R /tmp/odoo-migration-copilot-src/skills/odoo-data-quality-gate ~/.claude/skills/odoo-data-quality-gate
# Upstream also offers: npx skills add erpipe-org/mcp-odoo  (installs all 4 skills in the pack)

Příkazy a ukázkové prompty

  • /odoo-migration-copilotTurns Odoo upgrade logs and addon scans into a classified worklist via the odoo-mcp server

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

  • Plan our Odoo upgrade from 16 to 18
  • Fix these broken upgrade log errors
  • Preview the JSON-2 payload changes for our upgrade