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.1.tar.gz (29.3 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.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: biszx_odoo_mcp-1.4.1.tar.gz
  • Upload date:
  • Size: 29.3 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.1.tar.gz
Algorithm Hash digest
SHA256 b402af5ca43f42025f754b892458c0228c4a82ecb527ead8c1ccb3ad744fc46f
MD5 ab1c09de4cf537e10770d94b75b5475e
BLAKE2b-256 b6811421f9b1856462ab8621829d09f82181c91f2e8357d9a12dd4e05d4f33ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biszx_odoo_mcp-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d80959f35502afd99ada4d6908ebe158363e7816753b97e73f38a78fe4780fbc
MD5 5b1e583a0243d1ff66ce384e4190d925
BLAKE2b-256 8c48dee1b239b8d1bfd32db3544baf2d04b290b6ea5797409fd1a7739c2850aa

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