Panda Odoo
Un servidor MCP para integrarse con el sistema ERP Odoo.
Documentación
mcp-odoo-panda
Un servidor MCP para Odoo — permite que Claude, Cursor o cualquier cliente MCP busque, lea, cree, actualice y llame métodos en tu ERP Odoo.
Para desarrolladores e integradores que quieren herramientas de Odoo dentro de un cliente LLM sin escribir un conector personalizado.
Inicio rápido
Requisitos: Python 3.10+, una instancia de Odoo 15+ a la que puedas acceder (local o remota).
-
Instalar
git clone https://github.com/pandeussilvae/mcp-odoo-panda.git cd mcp-odoo-panda pip install . -
Configurar desde el ejemplo
cp odoo_mcp/config/config.example.yaml odoo_mcp/config/config.yaml # edit config.yaml — set odoo_url, database, username, api_key -
Elegir cómo se conectan los clientes (solo MCP protocolVersion
2026-07-28)Modo Cuándo usarlo stdio(predeterminado)Claude Desktop / Cursor en la misma máquina (SDK oficial mcp)mcp_2026_07_28HTTP Streamable remoto ( POST /mcpvíamcp_sdk_server)Establece
connection_typeenconfig.yaml(consulta stdio vs Streamable HTTP). -
Ejecutar
odoo-mcp-server --config odoo_mcp/config/config.yaml # or: python -m odoo_mcp.core.mcp_server --config odoo_mcp/config/config.yaml -
Conecta tu cliente MCP (Claude Desktop / Cursor) — consulta Conectar Claude o Cursor.
Alternativa con Docker: docker compose up -d (stack de laboratorio; valores predeterminados solo para desarrollo).
Configuración mínima
Punto de partida de copiar y pegar (odoo_mcp/config/config.yaml):
odoo_url: http://localhost:8069
database: your_database
username: your_username
api_key: your_password_or_api_key
protocol: xmlrpc
connection_type: stdio
transport_type: stdio
Las variables de entorno sobrescriben el archivo cuando están definidas: ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD.
stdio vs Streamable HTTP
Ambos transportes hablan MCP protocolVersion: 2026-07-28 mediante el SDK oficial de Python mcp (≥2.1.1).
- stdio — el cliente MCP inicia este proceso y se comunica a través de stdin/stdout (solo SDK moderno). Ideal para aplicaciones de escritorio (Claude, Cursor). Sin puerto abierto.
- mcp_2026_07_28 (alias
http) — HTTP Streamable enPOST /mcp(mcp_sdk_server+ uvicorn). Úsalo para remoto / Docker.
Nota de migración
Se eliminaron SSE / HTTP pre-2026-07-28. connection_type: sse, streamable_http y modern_http fallan al iniciar. Actualiza los clientes a sobres 2026-07-28 (server/discover, _meta por solicitud).
Ejemplo HTTP (desarrollo):
connection_type: mcp_2026_07_28
http:
host: 127.0.0.1 # prefer loopback; 0.0.0.0 is DEV-ONLY
port: 8080
Conectar Claude o Cursor
Cursor — agrega una entrada de servidor MCP (Configuración → MCP), por ejemplo:
{
"mcpServers": {
"odoo": {
"command": "odoo-mcp-server",
"args": ["--config", "/absolute/path/to/mcp-odoo-panda/odoo_mcp/config/config.yaml"]
}
}
}
Claude Desktop — misma estructura en su archivo de configuración MCP (claude_desktop_config.json): command + args apuntando a tu instalación y configuración.
Usa rutas absolutas. No confirmes configuraciones de cliente que incluyan contraseñas reales.
Qué obtienes
- Buscar / leer / crear / escribir / desvincular registros de Odoo
- Llamar métodos personalizados de modelos
- Manejo de sesiones, límite de velocidad, CORS HTTP opcional
- MCP Streamable HTTP mediante SDK oficial (
CONNECTION_TYPE=mcp_2026_07_28; protocolo2026-07-28)
Seguridad
- Nunca confirmes contraseñas reales o claves API. Mantén
config.yamllocal (está en gitignore); soloconfig.example.yamlse rastrea. - Los valores predeterminados de contraseña de Compose / Dockerfile
adminson SOLO PARA DESARROLLO para un laboratorio local. - El enlace
0.0.0.0y CORSallowed_origins: ["*"]son SOLO PARA DESARROLLO. En producción usa loopback o una interfaz privada y orígenes explícitos. - Prefiere variables de entorno o un administrador de secretos para credenciales.
Independiente
Este proyecto es un servidor MCP MIT independiente para una sola conexión de Odoo. No es una puerta de enlace SaaS multiinquilino. Consulta ODWARD_BOUNDARY.md.
Opcional: utilizado por Odward Connect como motor ascendente; esa integración vive fuera de este repositorio.
Documentación más detallada
| Documento | Tema |
|---|---|
| CONFIGURATION.md | Referencia completa de configuración |
| docs/API_REFERENCE.md | Herramientas / API |
| docs/DEVELOPER_GUIDE.md | Arquitectura para colaboradores |
| docs/DOCKER_DEPLOYMENT.md | Notas de Docker |
| docs/server_usage.md | Uso del servidor |
| LEGGIMI.md | Inicio rápido en italiano |
Notas históricas de refactorización (cuando existan) viven bajo docs/archive/.
Licencia
MIT — consulta LICENSE.
Desarrollado por Paolo Nugnes y TechLab · info@techlab.it · support@techlab.it