Odoo XML-RPC MCP Server
Interactúa con instancias de Odoo usando la API XML-RPC. Requiere configuración mediante variables de entorno o archivos de configuración.
Documentación
Odoo XML-RPC MCP Server
Un servidor de Model Context Protocol (MCP) que proporciona herramientas para interactuar con Odoo a través de XML-RPC.
Características
- Conectar a cualquier instancia de Odoo a través de XML-RPC
- Parámetros de proyecto y entorno configurables
- Soporte de variables de entorno con prioridad sobre archivos de configuración
- Conjunto completo de operaciones de Odoo: buscar, leer, crear, escribir, eliminar
- Integración con Claude Desktop y Claude Code
Instalación
Instalación Global (Servidor MCP de Escritorio)
- Instale globalmente usando npm:
npm install -g .
- Agregue a su configuración de Claude Desktop (
~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"odoo-xmlrpc": {
"command": "odoo-xmlrpc-mcp-server",
"args": ["--project", "your_project", "--environment", "your_env"],
"env": {
"ODOO_URL": "https://your-odoo.domain.com",
"ODOO_DATABASE": "your_database",
"ODOO_USERNAME": "your_username",
"ODOO_PASSWORD": "your_password"
}
}
}
}
Instalación Local (Claude Code)
-
Clone o copie este repositorio en el directorio de su proyecto
-
Instale las dependencias:
npm install
- Compile el proyecto:
npm run build
- Cree
.claude.jsonen la raíz de su proyecto:
{
"mcp": {
"servers": {
"odoo-xmlrpc": {
"command": "node",
"args": ["./dist/index.js", "--project", "your_project", "--environment", "your_env"],
"env": {
"ODOO_URL": "https://your-odoo.domain.com",
"ODOO_DATABASE": "your_database",
"ODOO_USERNAME": "your_username",
"ODOO_PASSWORD": "your_password"
}
}
}
}
}
Desarrollo
Para desarrollo, puede ejecutar directamente con tsx:
npm run dev -- --project your_project --environment your_env
Configuración
Método de Archivo de Configuración
Cree un archivo de configuración en ~/.odoo_config/<project>_<environment>.conf:
[odoo]
url = https://your-odoo.domain.com
database = your_database
username = your_username
password = your_password
Variables de Entorno (Prioridad)
Establezca estas variables de entorno (tienen prioridad sobre los archivos de configuración):
ODOO_URLODOO_DATABASEODOO_USERNAMEODOO_PASSWORD
Uso
Herramientas Disponibles
odoo_search
Buscar registros en un modelo de Odoo.
{
"model": "res.partner",
"domain": [["is_company", "=", true]],
"limit": 10
}
odoo_read
Leer registros específicos por ID.
{
"model": "res.partner",
"ids": [1, 2, 3],
"fields": ["name", "email", "phone"]
}
odoo_create
Crear un nuevo registro.
{
"model": "res.partner",
"values": {
"name": "New Company",
"is_company": true,
"email": "info@newcompany.com"
}
}
odoo_write
Actualizar registros existentes.
{
"model": "res.partner",
"ids": [123],
"values": {
"phone": "+1-555-0123"
}
}
odoo_unlink
Eliminar registros.
{
"model": "res.partner",
"ids": [456]
}
odoo_search_count
Contar registros que coincidan con un dominio.
{
"model": "res.partner",
"domain": [["is_company", "=", true]]
}
odoo_fields_get
Obtener definiciones de campos para un modelo.
{
"model": "res.partner",
"fields": ["name", "email"]
}
odoo_search_read
Buscar y leer en una sola operación.
{
"model": "res.partner",
"domain": [["is_company", "=", true]],
"fields": ["name", "email"],
"limit": 5
}
Desarrollo
Requisitos
- Node.js 18+
- npm o yarn
Ejecutar Localmente
npm run dev -- --project myproject --environment staging
Compilación
npm run build
Probar Conexión
npm run dev -- --project idp --environment staging
Licencia
Licencia MIT