admin-mcp
Allows interaction with Odoo's API for customer management and administration operations, including listing and searching customers.
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., "@admin-mcplist customers"
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.
admin-mcp
Servidor MCP (Model Context Protocol) en Python para operaciones de administración Odoo. Scaffold arquitectónico basado en ApkMCP, con FastMCP y transporte Streamable HTTP.
Incluye búsqueda de clientes conectada: service → resource → tool.
Requisitos
Python 3.11+
Para desarrollo con MCP Inspector: Node.js 22.7.5+ y pnpm
Related MCP server: mcp-server-odoo
Instalación
cd AdminMCP
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[lambda]"Con uv:
uv sync --all-extrasConfiguración
Copia .env.example a .env:
Variable | Descripción | Default |
| Timeout HTTP en segundos |
|
| Bind y ruta MCP |
|
Autenticación (auth-key)
Cada petición HTTP al endpoint MCP debe incluir la cabecera auth-key: Bearer + base64(BASE_URL|API_KEY[|database]).
BASE_URL: URL HTTPS del servidor Odoo (sin barra final), p. ej.https://mi-empresa.onrender.comAPI_KEY: clave API de un usuario bot de Odoo (scope rpc)database(opcional): nombre de la base de datos cuando el servidor tiene varias (X-Odoo-Database)
Generar el valor en local:
# Sin base de datos explícita
pnpm auth-key -- https://mi-empresa.onrender.com|99031c76-d288-41ea-866b-ef656f58e497
# Con base de datos (multi-DB)
pnpm auth-key -- https://mi-empresa.onrender.com|99031c76-d288-41ea-866b-ef656f58e497|mi_dbEl servidor decodifica URL, API key y database opcional, y prepara el cliente httpx para llamadas JSON-2 a Odoo (POST /json/2/{modelo}/{metodo}).
Ejecución
python -m app
# o
admin-mcpDesarrollo con Inspector:
pnpm install
pnpm devInspector usa dev/mcp-inspector.config.json (puerto 8001, distinto de ApkMCP en 8000). Configura el header auth-key en el Inspector antes de invocar tools/resources.
Superficie MCP
Tipo | Nombre | URI / descripción |
Resource | Listado de clientes |
|
Resource | Búsqueda de clientes |
|
Tool (lectura) |
| Espejo de los resources (ChatGPT) |
Prompt |
| Flujo guiado de listado y búsqueda |
Arquitectura
app/
├── server/ # FastMCP, lifespan, middleware auth-key, DI, instructions
├── clients/ # OdooJson2Client (JSON-2 API oficial)
├── services/ # Lógica reutilizable (sin decoradores MCP)
├── resources/ # @mcp.resource app://...
├── tools/ # @mcp.tool acciones
│ └── tool_resources/ # read_* espejo de resources
├── prompts/ # @mcp.prompt
├── utils/ # app_key_codec, excepciones
└── cli/ # admin-mcp-auth-keyRegistro por imports con efecto lateral en app/server/__init__.py.
Flujo de búsqueda de clientes:
AppKeyMiddlewaredecodificaauth-key→AppContextResource
app://customerso toolread_customers→services/customers.py
Cómo extender
Añadir función en
app/services/<dominio>.pyExponer
@mcp.resourceenapp/resources/<dominio>.pyEspejo
read_*enapp/tools/tool_resources/<dominio>.pyTools de acción en
app/tools/<dominio>.pyRegistrar módulos en los
__init__.pycorrespondientesActualizar
app/server/instructions.py
Configuración Cursor MCP
{
"mcpServers": {
"admin-mcp": {
"url": "http://127.0.0.1:8001/mcp",
"headers": {
"auth-key": "Bearer <base64(BASE_URL|API_KEY[|database])>"
}
}
}
}Tests
pnpm test
# o
pytestDespliegue (AWS Lambda)
pnpm deployRequiere credenciales AWS y SERVERLESS_ACCESS_KEY. El workflow .github/workflows/main.yml despliega en push a main.
Relación con ApkMCP
AdminMCP replica la arquitectura de ApkMCP (capas, auth-key, Lambda, Inspector) sin la lógica de tienda (catálogo, carrito, order_bridge, OpenAPI generado, DynamoDB).
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.
Latest Blog Posts
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/aprezcuba24/odoo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server