Odoo Migration Copilot
Wandelt Odoo-Upgrade-Logs und Addon-Scans über den odoo-mcp Server in eine klassifizierte Arbeitsliste um
Funktioniert mit Setup
Was es kann
Ein dreiphasiges Playbook für Odoo-Versions-Upgrades (16 auf 17 auf 18 auf 19/20), das die Migrationstools des odoo-mcp Servers steuert: scan_addons_source und upgrade_risk_report für die Bestandsaufnahme, analyze_upgrade_log zur Klassifizierung von Staging-Fehlern als no_action / needs_review / needs_script, lookup_model_history zur Auflösung von Modellumbenennungen und generate_json2_payload für den XML-RPC-zu-JSON-2-Übergang. Die Ausgabe ist ein Phasen-Header, eine Arbeitslistentabelle mit Aktion/Kategorie/Beweis/Fix/Status und eine Go/No-Go-Entscheidung mit der Anzahl der offenen needs_script. Wird ausgelöst, wenn Sie Odoo-Versionen aktualisieren oder migrieren, ein fehlgeschlagenes Upgrade-Log, Odoo 17 „attrs“-View-Fehler oder die XML-RPC-Veralterung erwähnen.
Testbericht
Das Repo geklont und skills/odoo-migration-copilot in ein temporäres HOME installiert (export HOME=$(mktemp -d)) — SKILL.md landet am richtigen Pfad, Frontmatter parst genau zu name+description, keine Skripte referenziert, kein curl|sh / base64 / secret-exfil / injection Text irgendwo unter skills/, und Roh-Abrufe von SKILL.md, dem Geschwister-Skill odoo-data-quality-gate, diagnostics.py und data/odoo_renames.json lieferten alle HTTP 200. Der MCP-Server benötigt Live-Odoo-Anmeldeinformationen, aber vier der fünf Tools, die das Playbook aufruft, sind rein eingabegetriebene Funktionen, daher habe ich analyze_upgrade_log_report, scan_addons_source_report, upgrade_risk_report, lookup_model_history_report und generate_json2_payload_report direkt gegen ein 14-zeiliges synthetisches Odoo 16-zu-17-Fehlerprotokoll und einen synthetischen acme_sales Addon-Baum ausgeführt; nur get_odoo_profile und data_quality_report waren nicht ausführbar. Das Skill-Artefakt gewann eine echte Struktur gegenüber meiner ununterstützten Baseline — die vorgeschriebene action|category|evidence|fix|status-Tabelle, ein explizites „no-go, 9 open needs_script“ und lookup_model_history, das account.invoice ab Odoo 13.0 mit dem move_type-Filterhinweis an account.move bindet, plus eine verifizierte POST /json/2/sale.order/search_read-Vorschau. Dagegen übersprangen die Regexes von analyze_upgrade_log stillschweigend zwei der elf Fehlerzeilen, die meine Prosa-Baseline erfasste („Model acme.commission.rule references undefined model account.invoice“ und „dependency website_theme_install not found“), und bewerteten die Kaskadenzeile „Failed to load registry“ als eigenes needs_script-Element, so dass das Befolgen der Tool-Ausgabe wörtlich eine dünnere Arbeitsliste ergibt, als das Log selbst zu lesen.
Getestet am: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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)
Befehle & Beispiel-Prompts
/odoo-migration-copilotWandelt Odoo-Upgrade-Logs und Addon-Scans über den odoo-mcp Server in eine klassifizierte Arbeitsliste um
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Plan our Odoo upgrade from 16 to 18Fix these broken upgrade log errorsPreview the JSON-2 payload changes for our upgrade