Odoo MCP Server

Integrations

  • Optional dependency that can be included when running the server to support numerical computing operations when processing Odoo data.

  • Provides comprehensive access to Odoo ERP systems, enabling interaction with models, records, and methods. Includes tools for searching, reading, creating, updating, and deleting records, executing custom methods, and retrieving model metadata through an XML-RPC connection to Odoo instances.

  • Optional dependency that can be included when running the server to support data manipulation and analysis of Odoo records and datasets.

Servidor MCP de Odoo

Una implementación de servidor MCP que se integra con los sistemas ERP de Odoo, lo que permite que los asistentes de IA interactúen con los datos y la funcionalidad de Odoo a través del Protocolo de Contexto de Modelo.

Características

  • Integración completa con Odoo : acceso completo a los modelos, registros y métodos de Odoo
  • Comunicación XML-RPC : Conexión segura a instancias de Odoo a través de XML-RPC
  • Configuración flexible : Compatibilidad con archivos de configuración y variables de entorno
  • Sistema de patrones de recursos : acceso basado en URI a las estructuras de datos de Odoo
  • Manejo de errores : mensajes de error claros para problemas comunes de la API de Odoo
  • Operaciones sin estado : ciclo limpio de solicitud/respuesta para una integración confiable

Herramientas

  • registros de búsqueda
    • Buscar registros en cualquier modelo de Odoo
    • Entradas:
      • model (cadena): el nombre del modelo (por ejemplo, 'res.partner')
      • domain (matriz): dominio de búsqueda (por ejemplo, [['is_company', '=', true]])
      • fields (matriz opcional): campos opcionales para obtener
      • limit (número opcional): Número máximo de registros a devolver
    • Devoluciones: registros coincidentes con los campos solicitados
  • leer_registro
    • Leer detalles de un registro específico
    • Entradas:
      • model (cadena): el nombre del modelo (por ejemplo, 'res.partner')
      • id (número): El ID del registro
      • fields (matriz opcional): campos opcionales para obtener
    • Devuelve: Registra datos con los campos solicitados
  • crear_registro
    • Crear un nuevo registro en Odoo
    • Entradas:
      • model (cadena): el nombre del modelo (por ejemplo, 'res.partner')
      • values (objeto): Diccionario de valores de campo
    • Devuelve: Diccionario con el nuevo ID de registro
  • actualizar_registro
    • Actualizar un registro existente
    • Entradas:
      • model (cadena): el nombre del modelo (por ejemplo, 'res.partner')
      • id (número): El ID del registro
      • values (objeto): Diccionario de valores de campo a actualizar
    • Devuelve: Diccionario que indica éxito
  • eliminar_registro
    • Eliminar un registro de Odoo
    • Entradas:
      • model (cadena): el nombre del modelo (por ejemplo, 'res.partner')
      • id (número): El ID del registro
    • Devuelve: Diccionario que indica éxito
  • método_de_ejecución
    • Ejecutar un método personalizado en un modelo de Odoo
    • Entradas:
      • model (cadena): el nombre del modelo (por ejemplo, 'res.partner')
      • method (cadena): Nombre del método a ejecutar
      • args (matriz opcional): argumentos posicionales
      • kwargs (objeto opcional): argumentos de palabras clave
    • Devuelve: Diccionario con el resultado del método
  • obtener_campos_del_modelo
    • Obtener definiciones de campo para un modelo
    • Entradas:
      • model (cadena): el nombre del modelo (por ejemplo, 'res.partner')
    • Devuelve: Diccionario con definiciones de campos
  • búsqueda_empleado
    • Buscar empleados por nombre.
    • Entradas:
      • name (cadena): el nombre (o parte del nombre) que se buscará.
      • limit (número opcional): el número máximo de resultados a devolver (predeterminado 20).
    • Devuelve: Lista de nombres e identificaciones de empleados coincidentes.
  • buscar_vacaciones
    • Busca días festivos dentro de un rango de fechas específico.
    • Entradas:
      • start_date (cadena): Fecha de inicio en formato AAAA-MM-DD.
      • end_date (cadena): Fecha de finalización en formato AAAA-MM-DD.
      • employee_id (número opcional): ID de empleado opcional para filtrar días festivos.
    • Devoluciones: Listado de días festivos encontrados.

Recursos

  • odoo://modelos
    • Enumera todos los modelos disponibles en el sistema Odoo
    • Devuelve: matriz JSON de información del modelo
  • odoo://modelo/{nombre_del_modelo}
    • Obtenga información sobre un modelo específico, incluidos los campos
    • Ejemplo: odoo://model/res.partner
    • Devuelve: objeto JSON con metadatos del modelo y definiciones de campo
  • odoo://registro/{nombre_del_modelo}/{id_del_registro}
    • Obtener un registro específico por ID
    • Ejemplo: odoo://record/res.partner/1
    • Devuelve: objeto JSON con datos de registro
  • odoo://search/{nombre_del_modelo}/{dominio}
    • Buscar registros que coincidan con un dominio
    • Ejemplo: odoo://search/res.partner/[["is_company","=",true]]
    • Devuelve: matriz JSON de registros coincidentes (limitada a 10 de forma predeterminada)

Configuración

Configuración de la conexión a Odoo

  1. Cree un archivo de configuración llamado odoo_config.json :
{ "url": "https://your-odoo-instance.com", "db": "your-database-name", "username": "your-username", "password": "your-password-or-api-key" }
  1. Alternativamente, utilice variables de entorno:
    • ODOO_URL : URL de su servidor Odoo
    • ODOO_DB : Nombre de la base de datos
    • ODOO_USERNAME : Nombre de usuario de inicio de sesión
    • ODOO_PASSWORD : Contraseña o clave API
    • ODOO_TIMEOUT : Tiempo de espera de conexión en segundos (predeterminado: 30)
    • ODOO_VERIFY_SSL : Si se deben verificar los certificados SSL (valor predeterminado: verdadero)
    • HTTP_PROXY : Fuerza la conexión ODOO a utilizar un proxy HTTP

Uso con Claude Desktop

Agregue esto a su claude_desktop_config.json :

{ "mcpServers": { "odoo": { "command": "python", "args": [ "-m", "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" } } } }

Estibador

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

Instalación

Paquete Python

pip install odoo-mcp

Ejecución del servidor

# Using the installed package odoo-mcp # Using the MCP development tools mcp dev odoo_mcp/server.py # With additional dependencies mcp dev odoo_mcp/server.py --with pandas --with numpy # Mount local code for development mcp dev odoo_mcp/server.py --with-editable .

Construir

Compilación de Docker:

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

Pautas de formato de parámetros

Al utilizar las herramientas MCP para Odoo, preste atención a estas pautas de formato de parámetros:

  1. Parámetro de dominio :
    • Se admiten los siguientes formatos de dominio:
      • Formato de lista: [["field", "operator", value], ...]
      • Formato del objeto: {"conditions": [{"field": "...", "operator": "...", "value": "..."}]}
      • Cadena JSON de cualquier formato
    • Ejemplos:
      • Formato de lista: [["is_company", "=", true]]
      • Formato del objeto: {"conditions": [{"field": "date_order", "operator": ">=", "value": "2025-03-01"}]}
      • Varias condiciones: [["date_order", ">=", "2025-03-01"], ["date_order", "<=", "2025-03-31"]]
  2. Parámetros de campos :
    • Debe ser una matriz de nombres de campos: ["name", "email", "phone"]
    • El servidor intentará analizar las entradas de cadena como JSON

Licencia

Este servidor MCP tiene licencia MIT.

-
security - not tested
F
license - not found
-
quality - not tested

Una implementación que se integra con los sistemas ERP de Odoo, permitiendo que los asistentes de IA interactúen con los datos y la funcionalidad de Odoo a través del Protocolo de Contexto de Modelo.

  1. Features
    1. Tools
      1. Resources
        1. Configuration
          1. Odoo Connection Setup
          2. Usage with Claude Desktop
          3. Docker
        2. Installation
          1. Python Package
          2. Running the Server
        3. Build
          1. Parameter Formatting Guidelines
            1. License
              ID: 142dbb6v2m