Context Layer for Odoo
Quickstart.
Clone the open standard, run the CLI against ten candidate examples, and wire the example MCP server into your agent. Everything here works today with no key and no account; the verified 44-entry runtime comes with access.
The open standard is on GitHub under Apache-2.0. You can adopt the format, inspect real context, and demonstrate the MCP interface in a couple of minutes, with no key and no account.
What you get today vs with runtime access
Everything on this page runs against ten public candidate example entries for Odoo 19. That is enough to adopt the format and build an integration. The verified 44-entry registry and a hosted endpoint, which answer over your real Odoo 19 data, come with verified runtime access.
1. Clone the standard
git clone https://github.com/Nantiai/ocl-standard.gitcd ocl-standardThe repository holds the format spec/, the reference/ Python validator and example
implementations, the conformance/ suite, and the docs/ guides.
2. Inspect context from the CLI
Ask the example server the same questions an agent would, and read exactly what it returns:
python reference/python/ocl_examples.py get-context "What is revenue?"python reference/python/ocl_examples.py resolve-noun "vendor bill"python reference/python/ocl_examples.py explain-field account.move invoice_user_idEvery command runs against the ten candidate examples. This is the fastest way to see what a context pack actually looks like.
3. Wire the MCP server into your agent
Point any MCP client at the example server. It exposes the real OCL operations over the same ten examples:
{ "mcpServers": { "ocl-public-examples": { "command": "python", "args": [ "/absolute/path/to/ocl-standard/reference/python/ocl_examples.py", "serve-mcp" ] } }}The public example server exposes get_context, resolve_noun, and explain_field. The full
contract also defines get_join_path and validate_write_intent, which are served by the
verified runtime.
4. Validate your own entries
Install the reference validator and check entries against the format:
python -m pip install -e sdk/pythonfrom ocl_spec import validate_entry, ValidationError
# document = your entry; schema = the loaded entry JSON Schemaerrors = validate_entry(document, schema)Where to go next
- Consuming the layer: the operations, surfaces, and how they fit a real stack.
- Entry anatomy: the shape of a single verified fact.
- The open format: the spec, schemas, conformance, and the public-standard versus commercial-registry boundary.
- Full guide in the repo: USING_OCL.md.