Skip to content

v0.5.0 — Kill hallucination, explain failures

Choose a tag to compare

@tuanle96 tuanle96 released this 10 Jun 09:43
· 35 commits to main since this release

Added

  • lookup_model_history tool — resolves outdated model names against a curated rename catalog (account.invoiceaccount.move, mail.channeldiscuss.channel, payment acquirers, analytic tags, chart templates, and more) so agents stop hallucinating pre-rename names. Static catalog shipped at odoo_mcp/data/odoo_renames.json; never contacts Odoo.
  • Access-error root-cause classificationdiagnose_access accepts an observed_error argument and diagnose_odoo_call reports error_classification, mapping Odoo error text to acl, record_rule, multi_company, authentication, db_routing, or missing_or_filtered with a recommended next action.
  • Field-relevance rankingget_model_fields accepts relevance="top" and max_fields to return only the most business-relevant fields (required/searchable boosted) on wide models like res.partner.
  • Official MCP registry publishingserver.json plus a mcp-registry-publish release job; the server publishes to registry.modelcontextprotocol.io as io.github.tuanle96/mcp-odoo via GitHub OIDC after each PyPI release.

Changed

  • Updated the XML-RPC/JSON-RPC removal timeline to Odoo 22 (fall 2028) following Odoo's postponement from Odoo 20. diagnose_odoo_call with transport="xmlrpc" now warns (instead of blocking) for Odoo 19–21 targets and errors only for Odoo 22+; upgrade_risk_report marks json2_required from Odoo 22. The ODOO20_RPC_REMOVAL constant is deprecated in favor of ODOO_RPC_REMOVAL.
  • README repositioned around version fluency (16 → 22) instead of the obsolete "survives Odoo 20" framing.

Compatibility

  • Tool count surfaced by health_check is now 26 (was 25 in v0.4.0).
  • upgrade_risk_report with target_version="20.0"/"21.0" now returns blocked: false with a json2_migration warning instead of a blocking xmlrpc_jsonrpc_removal error.
  • No breaking changes; all v0.4.0 configs and tokens keep working unchanged.