Labsco
ridrisa logo

Odoo-MCP

from ridrisa

Integrate with Odoo ERP systems to manage business data and operations. Requires external configuration for connection parameters.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredNeeds API keys

Odoo-MCP

A modern bridge system for interacting with Odoo ERP systems through MCP (Model Context Protocol).

Features

  • Comprehensive Odoo Integration: Full access to Odoo models, records, and methods
  • XML-RPC Communication: Secure connection to Odoo instances via XML-RPC
  • Flexible Configuration: Support for config files and environment variables
  • Resource Pattern System: URI-based access to Odoo data structures
  • Error Handling: Clear error messages for common Odoo API issues
  • Stateless Operations: Clean request/response cycle for reliable integration

Tools

  • execute_method

    • Execute a custom method on an Odoo model
    • Inputs:
      • model (string): The model name (e.g., 'res.partner')
      • method (string): Method name to execute
      • args (optional array): Positional arguments
      • kwargs (optional object): Keyword arguments
    • Returns: Dictionary with the method result and success indicator
  • search_employee

    • Search for employees by name
    • Inputs:
      • name (string): The name (or part of the name) to search for
      • limit (optional number): The maximum number of results to return (default 20)
    • Returns: Object containing success indicator, list of matching employee names and IDs, and any error message
  • search_holidays

    • Searches for holidays within a specified date range
    • Inputs:
      • start_date (string): Start date in YYYY-MM-DD format
      • end_date (string): End date in YYYY-MM-DD format
      • employee_id (optional number): Optional employee ID to filter holidays
    • Returns: Object containing success indicator, list of holidays found, and any error message

Resources

  • odoo://models

    • Lists all available models in the Odoo system
    • Returns: JSON array of model information
  • odoo://model/{model_name}

    • Get information about a specific model including fields
    • Example: odoo://model/res.partner
    • Returns: JSON object with model metadata and field definitions
  • odoo://record/{model_name}/{record_id}

    • Get a specific record by ID
    • Example: odoo://record/res.partner/1
    • Returns: JSON object with record data
  • odoo://search/{model_name}/{domain}

    • Search for records that match a domain
    • Example: odoo://search/res.partner/[["is_company","=",true]]
    • Returns: JSON array of matching records (limited to 10 by default)

Build

Docker build:

docker build -t mcp/odoo:latest -f Dockerfile .

Parameter Formatting Guidelines

When using the MCP tools for Odoo, pay attention to these parameter formatting guidelines:

  1. Domain Parameter:

    • The following domain formats are supported:
      • List format: [["field", "operator", value], ...]
      • Object format: {"conditions": [{"field": "...", "operator": "...", "value": "..."}]}
      • JSON string of either format
    • Examples:
      • List format: [["is_company", "=", true]]
      • Object format: {"conditions": [{"field": "date_order", "operator": ">=", "value": "2025-03-01"}]}
      • Multiple conditions: [["date_order", ">=", "2025-03-01"], ["date_order", "<=", "2025-03-31"]]
  2. Fields Parameter:

    • Should be an array of field names: ["name", "email", "phone"]
    • The server will try to parse string inputs as JSON