Odoo-MCP
Integra con sistemas ERP Odoo para gestionar datos y operaciones empresariales. Requiere configuración externa para los parámetros de conexión.
GitHub
1
Prueba este MCPPatrocinadoDocumentación
Odoo-MCP
Un sistema de puente moderno para interactuar con sistemas ERP de Odoo a través de MCP (Model Context Protocol).
Características
- Integración integral con Odoo: Acceso completo a modelos, registros y métodos de Odoo
- Comunicación XML-RPC: Conexión segura a instancias de Odoo mediante XML-RPC
- Configuración flexible: Soporte para 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
-
execute_method
- Ejecuta un método personalizado en un modelo de Odoo
- Entradas:
model(string): El nombre del modelo (p. ej., 'res.partner')method(string): Nombre del método a ejecutarargs(arreglo opcional): Argumentos posicionaleskwargs(objeto opcional): Argumentos de palabra clave
- Devuelve: Diccionario con el resultado del método e indicador de éxito
-
search_employee
- Busca empleados por nombre
- Entradas:
name(string): El nombre (o parte del nombre) a buscarlimit(número opcional): El número máximo de resultados a devolver (por defecto 20)
- Devuelve: Objeto que contiene el indicador de éxito, la lista de nombres e IDs de empleados coincidentes y cualquier mensaje de error
-
search_holidays
- Busca vacaciones dentro de un rango de fechas especificado
- Entradas:
start_date(string): Fecha de inicio en formato YYYY-MM-DDend_date(string): Fecha de fin en formato YYYY-MM-DDemployee_id(número opcional): ID de empleado opcional para filtrar vacaciones
- Devuelve: Objeto que contiene el indicador de éxito, la lista de vacaciones encontradas y cualquier mensaje de error
Recursos
-
odoo://models
- Lista todos los modelos disponibles en el sistema Odoo
- Devuelve: Arreglo JSON con información de los modelos
-
odoo://model/{model_name}
- Obtiene información sobre un modelo específico, incluidos sus campos
- Ejemplo:
odoo://model/res.partner - Devuelve: Objeto JSON con metadatos del modelo y definiciones de campos
-
odoo://record/{model_name}/{record_id}
- Obtiene un registro específico por ID
- Ejemplo:
odoo://record/res.partner/1 - Devuelve: Objeto JSON con los datos del registro
-
odoo://search/{model_name}/{domain}
- Busca registros que coincidan con un dominio
- Ejemplo:
odoo://search/res.partner/[["is_company","=",true]] - Devuelve: Arreglo JSON de registros coincidentes (limitado a 10 por defecto)
Configuración
Configuración de la conexión a Odoo
- Crea 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"
}
- Alternativamente, usa variables de entorno:
ODOO_URL: La URL de tu servidor OdooODOO_DB: Nombre de la base de datosODOO_USERNAME: Nombre de usuario de inicio de sesiónODOO_PASSWORD: Contraseña o clave de APIODOO_TIMEOUT: Tiempo de espera de conexión en segundos (por defecto: 30)ODOO_VERIFY_SSL: Si verificar los certificados SSL (por defecto: true)HTTP_PROXY: Forzar que la conexión ODOO use un proxy HTTP
Uso con Claude Desktop
Añade esto a tu 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"
}
}
}
}
Docker
{
"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 de Python
pip install odoo-mcp
Ejecutar el 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 .
Compilación
Compilación de Docker:
docker build -t mcp/odoo:latest -f Dockerfile .
Guías de formato de parámetros
Al usar las herramientas MCP para Odoo, presta atención a estas guías de formato de parámetros:
-
Parámetro de dominio:
- Se admiten los siguientes formatos de dominio:
- Formato de lista:
[["field", "operator", value], ...] - Formato de objeto:
{"conditions": [{"field": "...", "operator": "...", "value": "..."}]} - Cadena JSON de cualquiera de los formatos
- Formato de lista:
- Ejemplos:
- Formato de lista:
[["is_company", "=", true]] - Formato de objeto:
{"conditions": [{"field": "date_order", "operator": ">=", "value": "2025-03-01"}]} - Múltiples condiciones:
[["date_order", ">=", "2025-03-01"], ["date_order", "<=", "2025-03-31"]]
- Formato de lista:
- Se admiten los siguientes formatos de dominio:
-
Parámetro de campos:
- Debe ser un arreglo de nombres de campos:
["name", "email", "phone"] - El servidor intentará analizar las entradas de cadena como JSON
- Debe ser un arreglo de nombres de campos:
Licencia
Este servidor MCP está licenciado bajo la Licencia MIT.