Skip to main content

MCP Server for Odoo Integration

Project description

Odoo MCP Server

An MCP server implementation for Odoo ERP systems, providing a set of tools for managing Odoo records, models, and custom methods. Inspired by tuanle96/mcp-odoo.

Tools

Core CRUD Operations

  • create_record: Create a single new record

    • Inputs: model_name (string), values (object)
    • Returns: Dictionary with created record ID
  • create_records: Create multiple records at once

    • Inputs: model_name (string), values_list (array of objects)
    • Returns: Dictionary with created record IDs
  • read_records: Read specific records by their IDs

    • Inputs: model_name (string), ids (array), fields (optional array)
    • Returns: Dictionary with record data
  • write_record: Update a single record

    • Inputs: model_name (string), record_id (number), values (object)
    • Returns: Dictionary with operation result
  • write_records: Update multiple records

    • Inputs: model_name (string), record_ids (array), values (object)
    • Returns: Dictionary with operation result
  • unlink_record: Delete a single record

    • Inputs: model_name (string), record_id (number)
    • Returns: Dictionary with operation result
  • unlink_records: Delete multiple records

    • Inputs: model_name (string), record_ids (array)
    • Returns: Dictionary with operation result

Search and Query Operations

  • search_records: Search for records with advanced filtering

    • Inputs: model_name (string), domain (array), fields (optional array), limit (optional number), offset (optional number), order (optional string)
    • Returns: Dictionary with matching records
  • search_ids: Get only IDs of matching records

    • Inputs: model_name (string), domain (array), offset (optional number), limit (optional number), order (optional string)
    • Returns: Dictionary with list of IDs
  • search_count: Count records matching a domain

    • Inputs: model_name (string), domain (array)
    • Returns: Dictionary with count

Model Operations

  • search_models: Search for available models in the Odoo system

    • Inputs: query (string) - Search term for model names and display names
    • Returns: Dictionary with matching models
  • get_model_info: Get information about a specific model

    • Inputs: model_name (string)
    • Returns: Dictionary with model information
  • get_model_fields: Get field definitions for a model

    • Inputs: model_name (string), query_field (string)
    • Returns: Dictionary with field definitions

Utility Operations

  • search_and_update: Search and update records in one operation

    • Inputs: model_name (string), domain (array), values (object)
    • Returns: Dictionary with affected record count and IDs
  • get_current_user: Retrieve information about the currently authenticated Odoo user

    • Inputs: fields (optional array of strings)
    • Returns: Dictionary with current user data
  • call_method: Call custom methods on models

    • Inputs: model_name (string), method_name (string), args (optional array), kwargs (optional object)
    • Returns: Dictionary with method result

Resources

Model Information

  • odoo://models/search/{query}: Search for models by name or description
  • odoo://models/{model_name}/info: Information about a specific model
  • odoo://models/{model_name}/fields: Field definitions for a specific model

Documentation

  • odoo://help/domains: Complete guide to Odoo domain syntax with examples
  • odoo://help/operations: Documentation of all available MCP tools and workflows

Configuration

Odoo Connection Setup

To connect to your Odoo instance, set the following environment variables:

  • ODOO_URL: Your Odoo server URL
  • ODOO_DB: Database name
  • ODOO_USERNAME: Login username
  • ODOO_PASSWORD: Password or API key
  • ODOO_TIMEOUT: Connection timeout in seconds (default: 30)
  • ODOO_VERIFY_SSL: Whether to verify SSL certificates (default: true)
  • LOG_LEVEL: Logging level (default: INFO)

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": ["biszx-odoo-mcp"],
      "env": {
        "ODOO_URL": "https://your-odoo-instance.com",
        "ODOO_DB": "your-database-name",
        "ODOO_USERNAME": "your-username",
        "ODOO_PASSWORD": "your-password-or-api-key"
      }
    }
  }
}

Installation

Python Package

pip install biszx-odoo-mcp

Running the Server

# Using the installed package
biszx-odoo-mcp

# Using uv for development
uv run biszx-odoo-mcp

# Using the MCP development tools
uv run mcp dev src/biszx_odoo_mcp/main.py

License

This MCP server is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biszx_odoo_mcp-1.4.2.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

biszx_odoo_mcp-1.4.2-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file biszx_odoo_mcp-1.4.2.tar.gz.

File metadata

  • Download URL: biszx_odoo_mcp-1.4.2.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for biszx_odoo_mcp-1.4.2.tar.gz
Algorithm Hash digest
SHA256 667c5e8c4f214af624b0f440cb47de50914781f80e35d85c5db3bcb44419a974
MD5 0698d09dced77f310e5f2aecfdc3b5de
BLAKE2b-256 ace1e97d832a15d10aa1b6a386acc62bd508b1becaaaf3aa9adaed57feecaabb

See more details on using hashes here.

File details

Details for the file biszx_odoo_mcp-1.4.2-py3-none-any.whl.

File metadata

  • Download URL: biszx_odoo_mcp-1.4.2-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for biszx_odoo_mcp-1.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 74028cd4780a229a06d8a0569571831fdf64a9045654fef29c5ca110df8d0281
MD5 dd0b0df32e098eda1f153b057c2ef173
BLAKE2b-256 a06cd61448898ee2abc1bc5ab85bc087b007d888615dfe47ae2243634f2864e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page