odoo-mcp-server
Provides tools for interacting with Odoo ERP, enabling management of CRM leads and sales orders, projects and tasks, and inventory and purchase orders.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@odoo-mcp-servercreate a new lead for John Doe from ACME Corp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
odoo-mcp-server
Servidor MCP (Model Context Protocol) que conecta Claude — Desktop, Cowork o Claude Code — con Odoo ERP vía XML-RPC, sin necesidad de instalar ningún módulo dentro de Odoo.
Pensado especialmente para usarse con tareas programadas de Cowork: que Claude cree leads, mueva tareas de proyecto o consulte stock de forma autónoma, en horario definido.
Características
Conexión estándar por XML-RPC (
/xmlrpc/2/commony/xmlrpc/2/object), compatible con Odoo Community y Enterprise, self-hosted u Odoo.sh/Odoo Online.Autenticación por API Key (no expone tu contraseña).
Tools organizadas por área:
CRM y Ventas: leads/oportunidades, cotizaciones y pedidos de venta.
Proyectos y Tareas: proyectos, tareas, asignación de responsables, cambio de etapa.
Inventario y Compras: stock de productos, órdenes de compra.
Configuración de credenciales 100% vía
.env(nunca hardcodeadas ni versionadas).
Related MCP server: Odoo MCP Unified Server
Instalación
Requiere Python 3.10+.
git clone <url-del-repo>
cd odoo-mcp-server
pip install -e .Configuración
Copia el archivo de ejemplo:
cp .env.example .envCompleta
.envcon los datos de tu instancia. Hay dos formas de autenticar, elige una:Opción A — API Key (recomendada)
ODOO_URL=https://tuinstancia.odoo.com ODOO_DB=nombre_de_tu_bd ODOO_USERNAME=usuario@tuempresa.com ODOO_API_KEY=tu_api_key_aquiLa API Key se genera en Odoo desde Ajustes → Usuarios → (tu usuario) → pestaña "Seguridad de la cuenta" → Claves API → Nueva clave API. Es revocable sin tocar tu contraseña de login, y es la forma recomendada para producción.
Opción B — Password (si no tienes acceso para generar una API Key)
ODOO_URL=https://tuinstancia.odoo.com ODOO_DB=nombre_de_tu_bd ODOO_USERNAME=usuario@tuempresa.com ODOO_PASSWORD=tu_passwordDeja
ODOO_API_KEYvacío o sin definir. Funciona igual (Odoo acepta password en el mismo parámetro de autenticación XML-RPC), pero es menos seguro: revocar el acceso implica cambiar tu contraseña de login, y si el password se filtra, compromete la cuenta completa (no solo el conector). Útil sobre todo para probar rápido contra una instancia local/dev, como en este mismo repo lo hicimos durante el desarrollo.Si ambas variables están presentes,
ODOO_API_KEYtiene prioridad.Instancia local con certificado self-signed o sin HTTPS real: revisa también
ODOO_VERIFY_SSLy la nota sobrehttp://vshttps://en Troubleshooting — es el error más común al conectar contra una instancia local..envya está en.gitignore— nunca se sube al repositorio.
Uso con Claude Desktop / Cowork
Agrega el servidor a tu claude_desktop_config.json:
{
"mcpServers": {
"odoo": {
"command": "odoo-mcp-server"
}
}
}O, si prefieres no instalarlo globalmente, apuntando al intérprete del entorno virtual:
{
"mcpServers": {
"odoo": {
"command": "/ruta/a/tu/venv/bin/odoo-mcp-server"
}
}
}Reinicia Claude Desktop (cierra la app desde el ícono de la bandeja del sistema con Quit/Salir — cerrar solo la ventana no recarga la configuración) y el conector debería aparecer disponible.
Windows + WSL
Si instalaste el venv dentro de WSL pero Claude Desktop corre nativo en Windows, invócalo a través de wsl.exe apuntando directo al Python del venv (evita bash -lc: un shell de login puede imprimir texto extra en stdout — motd, prompts de activación, etc. — y eso rompe el protocolo MCP, que exige stdout limpio):
{
"mcpServers": {
"odoo": {
"command": "wsl.exe",
"args": [
"-e",
"/ruta/wsl/a/tu/proyecto/odoo-mcp-server/venv/bin/python3",
"-m",
"odoo_mcp.server"
]
}
}
}La ruta del proyecto en formato WSL para una carpeta de Windows es /mnt/c/Users/TuUsuario/....
Verificar conexión
Con el .env configurado, puedes probar el arranque manualmente:
python -m odoo_mcp.serverDesde Claude, invoca el tool odoo_ping para confirmar conectividad y ver la versión de tu instancia Odoo.
Tools disponibles
CRM y Ventas
Tool | Descripción |
| Lista leads/oportunidades, con filtros por etapa, vendedor y tipo. |
| Crea un lead u oportunidad nuevo. |
| Actualiza campos de un lead existente. |
| Lista cotizaciones/pedidos de venta. |
| Crea una cotización con líneas de producto. |
Proyectos y Tareas
Tool | Descripción |
| Lista proyectos. |
| Lista tareas, con filtros por proyecto, responsable y etapa. |
| Crea una tarea dentro de un proyecto. |
| Actualiza una tarea (ej. cambiar de etapa/kanban). |
Inventario y Compras
Tool | Descripción |
| Lista productos y su stock disponible. |
| Lista órdenes de compra. |
| Crea una orden de compra con líneas. |
General
Tool | Descripción |
| Verifica conectividad y devuelve la versión de Odoo. |
Troubleshooting
SSLEOFError: UNEXPECTED_EOF_WHILE_READING
No es un problema de certificado: el servidor está respondiendo HTTP plano, no HTTPS, en esa URL/puerto (muy común en instancias locales o en Docker). Cambia ODOO_URL a http:// en vez de https://.
Autenticación rechazada por Odoo
Verifica ODOO_DB exacto (case-sensitive), y que ODOO_USERNAME + ODOO_API_KEY/ODOO_PASSWORD correspondan a un usuario activo con acceso a esa base de datos.
Error de certificado SSL contra una instancia https:// real
Si es una instancia local/dev con certificado self-signed, agrega ODOO_VERIFY_SSL=false al .env. Nunca lo desactives contra producción.
ConnectionRefusedError
El host/puerto no es alcanzable desde donde estás corriendo el conector. Si usas WSL contra un Odoo en Windows (o viceversa), confirma que el localhost se reenvía entre ambos (por defecto en WSL2 sí, pero revisa tu configuración de red si no).
ModuleNotFoundError: No module named 'mcp.server.fastmcp'
Se instaló mcp 2.x, que renombró FastMCP a MCPServer. Este proyecto fija mcp<2.0.0 en pyproject.toml; si ya tenías el venv creado desde antes, reinstala: pip install "mcp<2.0.0" --force-reinstall.
Server disconnected en Claude Desktop (sin más detalle)
Revisa los logs de MCP de la app (Settings → Developer → logs del servidor). Casi siempre es una excepción de Python al arrancar (dependencia faltante, .env no encontrado, credenciales inválidas) que se ve clara ahí. Evita invocar el server a través de un shell de login (bash -lc, zsh -l) — cualquier salida extra en stdout antes del JSON-RPC tumba la conexión.
Seguridad
Usa siempre una API Key dedicada, nunca tu contraseña de usuario.
Considera crear un usuario Odoo con permisos acotados (grupo específico) para el conector, en lugar de un administrador.
.envnunca debe subirse a git ni compartirse.
Licencia
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Odoo ERP systems through XML-RPC communication. Provides access to Odoo models, records, methods, and data structures for comprehensive ERP integration.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Odoo ERP systems through 17+ business tools covering sales, purchasing, inventory, and accounting operations. Supports both Claude Desktop integration and web deployment with dual transport modes.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to fully interact with Odoo ERP instances over XML-RPC, supporting read and write operations on any model without requiring Odoo module installation.4AGPL 3.0
- FlicenseNot gradedqualityBmaintenanceConnects Claude Desktop to Odoo ERP via JSON-2 API for searching invoices, creating sales orders, checking customer balances, and managing webhooks.
Related MCP Connectors
Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JayLeo44/connector-odoo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server