odoo-sh-readonly-mcp
Provides read-only access to Odoo.sh projects, including builds, branches, environments, logs, and system status via web API and SSH.
Allows listing PostgreSQL databases and their sizes on the Odoo.sh environment.
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-sh-readonly-mcpShow me the latest build statuses for my Odoo.sh project"
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-sh-readonly-mcp 🔒
MCP solo lectura para Odoo.sh: builds, entornos, logs y estado del sistema — consultable por una AI sin entrar a la web.
Sin tools de escritura: no hay git push, ni shell arbitrario, ni escritura de archivos. SSH via execFile (sin shell → sin command injection) con comandos whitelisted. El smoke test de CI falla el build si alguna vez aparece una tool con nombre de escritura o sin readOnlyHint.
📑 Tabla de contenidos
Related MCP server: sonarqube-api-mcp
🧰 Tools
Tool | Fuente | Qué da |
| Web API | Repos + branches con stage (production/staging/dev) y último build |
| Web API | Builds recientes con status real (success/failed/testing) |
| Web API | Introspección de campos de modelos |
| Web API | Query genérica read-only (whitelist |
| SSH |
|
| SSH | Hostname, uptime, disco, memoria, versiones |
| SSH | DBs PostgreSQL y tamaños |
| — | Diagnóstico de configuración (sin exponer secretos) |
🐳 Instalación via imagen GHCR (recomendado)
Cada push a main publica una imagen multi-arch (amd64/arm64) en GitHub Container Registry:
ghcr.io/ai-zar/odoo-sh-readonly-mcp:latest1. Autenticarse contra GHCR
El repo es privado, así que la imagen también. Necesitás un PAT con scope read:packages:
echo $GITHUB_PAT | docker login ghcr.io -u TU_USUARIO --password-stdin
docker pull ghcr.io/ai-zar/odoo-sh-readonly-mcp:latest2. Configurar el cliente MCP
Solo builds/entornos (sin SSH):
{
"mcpServers": {
"odoo-sh": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ODOO_SH_SESSION_ID",
"-e", "ODOO_SH_PROJECT",
"ghcr.io/ai-zar/odoo-sh-readonly-mcp:latest"
],
"env": {
"ODOO_SH_SESSION_ID": "tu_session_id",
"ODOO_SH_PROJECT": "mi-proyecto"
}
}
}
}Con SSH (logs / system / DBs) — montá la clave privada read-only:
{
"mcpServers": {
"odoo-sh": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/home/usuario/.ssh/odoo_sh:/keys/id:ro",
"-e", "ODOO_SH_SESSION_ID",
"-e", "ODOO_SH_SSH_HOST",
"-e", "ODOO_SH_SSH_USER",
"-e", "ODOO_SH_SSH_KEY_PATH",
"ghcr.io/ai-zar/odoo-sh-readonly-mcp:latest"
],
"env": {
"ODOO_SH_SESSION_ID": "tu_session_id",
"ODOO_SH_SSH_HOST": "mi-proyecto.dev.odoo.com",
"ODOO_SH_SSH_USER": "BUILD_ID",
"ODOO_SH_SSH_KEY_PATH": "/keys/id"
}
}
}
}⚠️ En Windows usá rutas estilo
C:\\Users\\usuario\\.ssh\\odoo_sh:/keys/id:roen el-v.ODOO_SH_SSH_KEY_PATHsiempre apunta a la ruta dentro del contenedor (/keys/id).
3. Probar la imagen a mano
docker run -i --rm -e ODOO_SH_SESSION_ID=xxx \
ghcr.io/ai-zar/odoo-sh-readonly-mcp:latestPegá esto en stdin para ver las tools:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"cli","version":"1"}}}
{"jsonrpc":"2.0","id":2,"method":"tools/list"}💻 Instalación local (Node)
git clone https://github.com/ai-zar/odoo-sh-readonly-mcp.git
cd odoo-sh-readonly-mcp
npm install
npm run smoke # verifica que arranca y expone las 8 tools{
"mcpServers": {
"odoo-sh": {
"command": "node",
"args": ["C:\\ruta\\absoluta\\odoo-sh-readonly-mcp\\index.js"],
"env": { "ODOO_SH_SESSION_ID": "tu_session_id" }
}
}
}⚙️ Configuración
Variable | Requerida | Descripción |
| ✅ (web) | Cookie |
| ❌ | Repo por defecto para filtrar |
| ❌ | Default |
| ✅ (ssh) |
|
| ✅ (ssh) |
|
| ✅ (ssh) | Ruta a la clave privada |
| ❌ | Default |
| ❌ | Default |
🍪 Obtener la cookie de sesión
Odoo.sh no expone API pública; su panel web es un Odoo estándar. Se usa tu propia sesión:
Logueate en https://www.odoo.sh
F12 → Application → Cookies →
www.odoo.sh→ copiásession_id
La cookie expira: cuando las llamadas fallen con error de sesión, repetí el paso. Los permisos son exactamente los de tu usuario — ni más ni menos.
💬 Ejemplos de uso con AI
"¿Cómo están los builds de staging?"
"¿Falló algún build esta semana en main?"
"Mostrame los últimos errores del log de producción"
"¿Cuánto pesa la DB de producción?"
"Listame todos los entornos y en qué commit está cada uno"
🔬 Nota técnica: modelos paas.*
Los modelos internos de Odoo.sh (paas.build, paas.branch, ...) no están documentados y sus campos pueden cambiar. Por eso:
resilientSearchRead: si un campo no existe, reintenta pidiendo todos los campos legiblesodoo_sh_model_fields: la AI puede autodescubrir el schema y después consultar con precisión viaodoo_sh_search_read
Primera vez, pedile a la AI:
"Usá
odoo_sh_model_fieldssobrepaas.buildy después listá los builds con los campos correctos"
🛡️ Seguridad
Riesgo | Mitigación |
Command injection | SSH via |
Escritura accidental | No existen tools de escritura. Whitelist de modelos + de métodos ( |
Prompt injection → acción destructiva | Superficie de ataque = solo lectura. Lo peor que puede pasar es leer datos a los que ya tenés acceso |
MITM en SSH |
|
Secretos en la imagen | Nada hardcodeado; todo por env vars. Clave SSH se monta read-only en runtime |
Supply chain | Imagen con attestation de provenance ( |
MIT — ver LICENSE.
This server cannot be installed
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
AlicenseAqualityCmaintenanceRead-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.Last updated5231MIT- AlicenseBqualityDmaintenanceRead-only MCP server that exposes SonarQube Web API tools for issue retrieval, quality gate status, and source context, enabling coding agents to fix code issues.Last updated81621MIT
- AlicenseAqualityDmaintenanceRead-only MCP server for Akamai CDN that enables searching properties, browsing EdgeWorker code, querying DNS zones, inspecting network lists, and translating error codes via natural language.Last updated161MIT
- Flicense-qualityCmaintenanceRead-only MCP server for Hevo Data API, enabling monitoring of pipelines, objects, destinations, models, and workflows with secure self-hosted credentials.Last updated
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
MCP server for interacting with the Supabase platform
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/ai-zar/odoo-sh-readonly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server