Metadata-Version: 2.5
Name: odoo-mcp-tools
Version: 1.3.0
Summary: Clean-room MCP server for Odoo (Community, Enterprise, online) across versions 10-19.
Project-URL: Homepage, https://github.com/Transgenia/MCP-Odoo-Tools-CE-EE-and-online
Project-URL: Repository, https://github.com/Transgenia/MCP-Odoo-Tools-CE-EE-and-online
Author-email: Transgenia <dev@transgenia.org>
License: MIT
Keywords: erp,json-rpc,mcp,model-context-protocol,odoo,xml-rpc
Requires-Python: >=3.9
Provides-Extra: cache
Requires-Dist: cachetools>=5.3; extra == 'cache'
Provides-Extra: dev
Requires-Dist: mcp<2,>=1.2; (python_version >= '3.10') and extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: metrics
Requires-Dist: prometheus-client>=0.20; extra == 'metrics'
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.24; extra == 'otel'
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.24; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.24; extra == 'otel'
Description-Content-Type: text/markdown

# odoo-mcp-tools (server)

Clean-room MIT MCP server for Odoo — Community, Enterprise and online (SaaS),
across major versions **10 to 19**. This is the Python package that backs the
`MCP-Odoo-Tools-CE-EE-and-online` Claude plugin.

It exposes generic Odoo tools (search / read / search_read / create / write /
unlink / execute / export / translate / report / version / connections) over a
transport layer that speaks JSON-RPC with automatic XML-RPC fallback, and a
**cross-version compatibility layer** that resolves model/field names so a
single tool call works across every supported version.

Not derived from any AGPL project; relies only on Odoo's public RPC interfaces.
It has **no third-party runtime dependencies**: the MCP stdio protocol and both
transports use only the Python standard library. Requires Python 3.9+.

## Install & run

```bash
python3 run_stdio.py               # from a checkout of server/, nothing to install
pip install . && odoo-mcp          # or install the package, then the entry point
```

The Claude plugin runs `python3 ${CLAUDE_PLUGIN_ROOT}/server/run_stdio.py`
directly, so nothing is installed when the plugin starts. A Dockerfile is in
the repository's `docker/` folder.

Configure via environment: `ODOO_URL`, `ODOO_DB`, `ODOO_LOGIN`,
`ODOO_API_KEY` (or `ODOO_PASSWORD`). Optional: `ODOO_TRANSPORT_PREF`
(`auto`|`jsonrpc`|`xmlrpc`), `ODOO_TIMEOUT`, `ODOO_CACHE_TTL`, `ODOO_METRICS`,
`ODOO_OTEL_ENDPOINT`.

See the repository root README for the full plugin, the CLI fallback, and the
compatibility matrix.

## License

MIT © Transgenia (Centrum Transgenia S.A.S. de C.V.)
