Contributing and license¶
Thank you for helping to improve MCP-Odoo-Tools.
Ground rules¶
- License: contributions are accepted under the MIT license.
- Clean-room: do not copy code from AGPL-licensed Odoo MCP projects. Rely only on Odoo's public XML-RPC/JSON-RPC interfaces and on the public model/field names.
- Scope: this repository is the public generic core. The localization, governance or client-specific engines (CFDI, approval gates, backups, etc.) live elsewhere.
Server (Python)¶
cd server
python -m venv .venv && . .venv/bin/activate # o usa uv
pip install -e ".[dev,cache]"
ruff check src tests
pytest -q
- Changing a cross-version behavior? Edit
src/odoo_mcp/compat/deltas.py(data) and add a row totests/test_compat_resolve.py. The boundaries you cannot verify live are commented as "best-effort". - New tool? Register it in
src/odoo_mcp/tools/with theregistrydecorator and route the model/field names throughcompatbefore the ORM.
CLI (TypeScript)¶
Pull requests¶
- Keep changes focused; include tests for the logic.
- Update
docs/compat-matrix.mdwhen the delta map changes. - Note any new Odoo version/edition you have verified against.
License¶
MIT © Transgenia (Centrum Transgenia S.A.S. de C.V.). See
LICENSE
and NOTICE
for the third-party attributions.
Attributions¶
- odoo-agent (MIT) — by Francisco Ramírez. The TypeScript XML-RPC CLI
(
cli/), the generic Odoo agent definition (agents/odoo.md, adapted), the domain-knowledge context and the SessionStart hook pattern (adapted) are reused.
Clean-room declaration¶
The Python MCP server (server/) is an original, independent
implementation. It does not copy or adapt code from any AGPL-licensed
Odoo MCP project (including rosenvladimirov/odoo-claude-mcp or its forks). It relies
solely on Odoo's publicly documented XML-RPC/JSON-RPC interfaces and
on the public model/field nomenclature, which are not subject to
copyright. Any similarity in behavior reflects those public interfaces, not
shared code.
Odoo trademark
"Odoo" is a registered trademark of Odoo S.A. This project is an independent, community-oriented tool, not affiliated with nor endorsed by Odoo S.A.