Get the FREE Ultimate OpenClaw Setup Guide →

odoo-rust

Odoo MCP Server - Model Context Protocol server for Odoo ERP integration. Supports Odoo 14-19+ with JSON-RPC and REST API.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio rachmataditiya-odoo-rust-mcp docker run -i --env ODOO_INSTANCES_JSON=/path/to/instances.json --env ODOO_INSTANCES={"production":{"url":"https://mycompany.example.com","apiKey":"YOUR_API_KEY"},"staging":{"url":"https://staging.mycompany.example.com","apiKey":"YOUR_API_KEY"}} ghcr.io/rachmataditiya/odoo-rust-mcp:latest \
  --env ODOO_INSTANCES="Inline JSON with instance configurations (alternative to ODOO_INSTANCES_JSON)" \
  --env ODOO_INSTANCES_JSON="Path to the JSON file containing per-instance configurations (recommended: ~/.config/odoo-rust-mcp/instances.json)"

How to use

The odoo-rust MCP server implements a Rust-based Odoo Model Context Protocol server. It supports multiple Odoo versions (19+) via the JSON-2 external API and API keys, or older JSON-RPC endpoints for Odoo versions below 19 using username/password authentication. It exposes multiple transport mechanisms, including stdio (Cursor-like), streamable HTTP, SSE, and WebSocket, and provides a web UI on port 3008 for configuration and management. You can define multiple Odoo instances in a single MCP runtime, each with its own URL, authentication details, and optional version, and enable a metadata cache to minimize calls to Odoo. Tools such as listing models, checking access rights, and bulk create are available, with optional cleanup tools gated behind an environment variable.

How to install

Prerequisites:

  • Docker installed and running (recommended for this MCP deployment)
  • Optional: access to an Odoo instance (19+ with JSON-2 API key or older with JSON-RPC credentials)

Installation steps (Docker):

  1. Ensure Docker is installed and running on your host.
  2. Pull the MCP image and run it with appropriate environment variables:
docker run -i \
  --env ODOO_INSTANCES_JSON=/path/to/instances.json \
  --env ODOO_INSTANCES='{"production":{"url":"https://mycompany.example.com","apiKey":"YOUR_API_KEY"}}' \
  ghcr.io/rachmataditiya/odoo-rust-mcp:latest
  1. If you prefer a local multi-instance configuration file, create ~/.config/odoo-rust-mcp/instances.json with your instance definitions, and mount it into the container:
docker run -i \
  -v ~/.config/odoo-rust-mcp:/config \
  --env ODOO_INSTANCES_JSON=/config/instances.json \
  ghcr.io/rachmataditiya/odoo-rust-mcp:latest
  1. Access the web UI at http://localhost:3008 to configure prompts, tools, server metadata, and instances JSON.

If you prefer building from source (non-Docker): you would typically use Rust tooling (cargo) to build the rust-mcp binary and run it directly, but this README's deployment example centers on Docker usage for simplicity.

Additional notes

Environment variables and configuration:

  • ODOO_INSTANCES_JSON or ODOO_INSTANCES: define per-instance configuration (URL, db, apiKey, username/password, version). The system supports both inline JSON and a path to a JSON file; choose one and keep the other unset.
  • The web UI on port 3008 allows in-browser configuration of tools, prompts, and server metadata. Do not edit the embedded defaults in config-defaults unless you rebuild the binary/image.
  • If an instance omits apiKey, the server will fall back to global ODOO_API_KEY; if username/password are omitted, it will fall back to ODOO_USERNAME/ODOO_PASSWORD.
  • Multi-instance mode (ODOO_INSTANCES_JSON) is recommended for production setups; the single-instance mode is suitable for local testing.
  • Cleanup tools are available behind ODOO_ENABLE_CLEANUP_TOOLS=true for safety.

Related MCP Servers

Sponsor this space

Reach thousands of developers