admin-mcp
Allows interaction with Odoo's API for customer management and administration operations, including listing and searching customers.
Click on "Deploy 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.
Flujo de pedido (ChatGPT)
Formato abreviado: Pepe, arroz 2, aceite (cliente + productos; sin cantidad → 1 unidad).
Paso | Acción |
1 | Usuario indica cliente y productos |
2 | Asistente resuelve cliente, crea carrito, añade productos, muestra carrito |
3 | Usuario puede añadir más productos |
4 | Asistente muestra carrito actualizado |
5 | Usuario confirma → |
Desambiguación: si hay varios clientes o productos, se listan todos con id y el usuario elige por id.
Búsqueda de productos por nombre: add_to_cart(product_search="arroz", quantity=2) — no requiere conocer el product_id de antemano.
ChatGPT impone un límite de ~5000 tokens en el schema total de tools; las descripciones se mantienen breves para que el conector importe todas las tools (incluido catálogo).
Verificar versión en ChatGPT
Tras un despliegue, el usuario puede comprobar qué build está respondiendo:
Preguntar: "¿Qué versión de AdminMCP tienes?"
El asistente invoca
read_server_infoy responde conversion,build_id,instructions_revision, tools y prompts.
Cada respuesta de cualquier tool incluye _server.version y _server.build_id.
Superficie MCP
Tipo | Nombre | Descripción |
Tool |
| Busca clientes por nombre/teléfono |
Tool |
| Busca productos por nombre |
Tool |
| Detalle de producto por id |
Tool |
| Lista categorías |
Tool |
| Crea carrito para un cliente |
Tool |
| Añade producto ( |
Tool |
| Consulta carrito actual |
Tool |
| Vacía carrito |
Tool |
| Confirma pedido en Odoo |
Tool |
| Versión y tools desplegadas |
Resource |
| Listado/búsqueda de clientes |
Resource |
| Catálogo de productos |
Prompt |
| Flujo de búsqueda de clientes |
Prompt |
| Flujo de carrito y pedidos |
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) con operaciones admin: clientes, catálogo, carrito y pedidos confirmados.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Product Management
MCP server for Support & Service Management
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables AI assistants to interact with Odoo ERP apps like Inventory, CRM, Sales, and Manufacturing. It allows users to read, create, and manage Odoo records and workflows using natural language commands.2511 npm1ISC
- AlicenseNot gradedqualityDmaintenanceAn extensible MCP server that integrates Odoo with LLMs to enable querying and managing business data like partners, quotations, and sales orders. It supports custom tool registration and multiple transport protocols for both local and remote communication.2MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that connects AI assistants to Odoo ERP instances via the built-in XML-RPC API without requiring any additional addons. It enables users to search, create, update, and manage Odoo records and models through natural language.25 npmMIT
- FlicenseNot gradedqualityCmaintenanceA Python-based MCP server for interacting with Odoo ERP, offering example tools such as health checks, customer search, customer details, and listing sale orders.-