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
  • 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.0.0.tar.gz (20.1 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.0.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: biszx_odoo_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.11

File hashes

Hashes for biszx_odoo_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a33be917bbd3d5abb864a2dec00208a425ef8516f60b0d91380722782f59a5bb
MD5 fe67933197d737db053a6e714bcea7ef
BLAKE2b-256 9095d5c4179785ce25f7cb741aa476edfe6c9a72956b98f0c5a58b69db7723aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biszx_odoo_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6b5f1bce7484d31e0f47bf1cb91fef94ae8981d8d717a7094a44cb4acab6392
MD5 07d7c20585ec0dcf266f85a96e60e9f7
BLAKE2b-256 510d97cb9460aac662bcc8c2e0fbb7ee5559c831d4ccbd5b5ad154c23f94856f

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