io.github.minhhq-a1/odoo-pulse

Registre officiel IA et agents

An AI business analyst for Odoo ERP (18+) — one-call reports with verdicts, over MCP

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

PYPI package odoo-pulse
Claude Code
claude mcp add odoo-pulse -e 'ODOO_URL=<ODOO_URL>' -e 'ODOO_DB=<ODOO_DB>' -e 'ODOO_USERNAME=<ODOO_USERNAME>' -e 'ODOO_API_KEY=<your odoo_api_key>' -e 'ODOO_READ_ONLY=<ODOO_READ_ONLY>' -- uvx odoo-pulse==1.9.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "odoo-pulse": {
            "command": "uvx",
            "args": [
                "odoo-pulse==1.9.1"
            ],
            "env": {
                "ODOO_URL": "<ODOO_URL>",
                "ODOO_DB": "<ODOO_DB>",
                "ODOO_USERNAME": "<ODOO_USERNAME>",
                "ODOO_API_KEY": "<your odoo_api_key>",
                "ODOO_READ_ONLY": "<ODOO_READ_ONLY>"
            }
        }
    }
}

Variables d'environnement

  • ODOO_URL obligatoire Base URL of the Odoo instance, e.g. https://acme.odoo.com
  • ODOO_DB obligatoire Odoo database name
  • ODOO_USERNAME obligatoire Odoo login / email
  • ODOO_API_KEY obligatoire secret Odoo API key (used as the password)
  • ODOO_READ_ONLY Block all write methods when true (default true)

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. odoo-pulse
  2. The analyst tools
  3. Try the playground
  4. Install & connect
  5. Read-only by default, safe writes when you want them
  6. More tools
  7. Testing
  8. License

odoo-pulse

An AI business analyst for your Odoo ERP. Ask one question, get one answer — numbers, highlights, risks, and a verdict (on-track / at-risk / off-track) — over the Model Context Protocol. CRUD bridges to Odoo already exist; this is the analytics layer that sits on top.

The analyst tools

Each tool answers a whole management question in a single call, returning a structured report with a verdict — not a raw dump you have to interpret.

ToolAnswers
business_pulse ⭐The morning briefing: yesterday's sales, new leads, overdue invoices, late tasks, who's off — with a company-wide verdict
pipeline_reviewCRM funnel by stage, stalled deals, weighted revenue, recent win rate
sales_snapshotRevenue this period vs last (Δ%), top customers/products, stale quotations
receivables_healthAR/AP aging buckets, % overdue, top debtors
inventory_riskShortages (negative forecast) and dead stock
absence_overviewWho's off this week, pending approvals, thin-coverage departments
procurement_watchPurchasing: late receipts, stale RFQs, open spend per vendor
production_healthManufacturing: orders behind their planned start, stuck WIP
project_profitabilityProjects: hours logged vs allocated, cost/revenue/margin, budget burn verdict
project_budgetBudget vs actual per project, line by line — over-plan lines and spend the budget doesn't capture
team_workload · project_status_report · standup_digestProject delivery: overloaded members, at-risk projects, and a daily stand-up digest

Every money-reporting tool takes an optional company= filter and flags mixed-currency totals instead of silently summing them; verdict cut-offs (stalled %, overdue %, growth %) are parameters, so you can calibrate them to your business.

Timezone semantics

All report tools take timezone_offset (default 7). Odoo stores datetime fields in UTC; the tools shift them by timezone_offset hours before bucketing by calendar day, and day windows in domains are expressed as UTC datetime boundaries. Date-only fields (e.g. project.milestone.deadline, invoice_date_due, project.task.date_deadline) are compared as-is.

Version-dependent fields

find_partner searches mobile only on instances that still have it (removed in Odoo 19), and list_timesheets reports an actionable error when hr_timesheet is not installed.

Under the hood it's the standard Odoo XML-RPC external API — nothing to install inside Odoo, works on Odoo Online, Odoo.sh, and on-premise. Requires Odoo 18+: the generic tools (search_read, read_records, …) still run on older versions, but the report tools are not guaranteed there.

Try the playground

No Odoo account? Boot a demo Odoo pre-seeded with a story to tell (a stalled deal, a 90-day-overdue invoice, a stock shortage, someone off today):

docker compose -f deploy/playground/compose.yml up -d

First boot pulls ~4 GB of images (Odoo + Postgres) and seeds the demo data — allow 5-10 minutes depending on your connection. Then point Claude at it and ask it to run business_pulse. Full walkthrough: docs/guides/playground.md.

Install & connect

Add it to Claude Code (no install step — uvx fetches it):

claude mcp add odoo-pulse \
  --env ODOO_URL=https://acme.odoo.com \
  --env ODOO_DB=acme \
  --env ODOO_USERNAME=you@example.com \
  --env ODOO_API_KEY=your-api-key \
  --env ODOO_READ_ONLY=true \
  -- uvx odoo-pulse

Generate the API key in Odoo under Settings → Users → (your user) → Account Security → New API Key. Config for Claude Desktop and Cursor, plus pip and Docker alternatives: docs/guides/install.md. If a key may have been exposed, see If an API key may have been exposed.

Or one-click:

Read-only by default, safe writes when you want them

The server is read-only out of the box (ODOO_READ_ONLY=true). Writes require four independent controls to line up: ODOO_READ_ONLY=false, ODOO_WRITABLE_MODELS (a comma-separated model allow-list), ODOO_ALLOW_DELETE=true additionally for deletes, and a per-call confirm=true — every write tool returns a dry-run preview without it. System models are never writable. Details: docs/reference/tools.md#write-operations.

More tools

Beyond the analyst reports, there are ~60 model-aware query tools spanning CRM, Sales, Inventory, Accounting, HR, Project, Manufacturing, PoS, and Enterprise apps — opt in via ODOO_TOOL_GROUPS. Full catalogue and configuration: docs/reference/tools.md.

Testing

The suite mocks the XML-RPC layer, so no real Odoo or network is needed:

pip install -e ".[dev]"
pytest

For a live check against a real Odoo (read-only), see docs/reference/tools.md#live-smoke-test-against-a-real-odoo.

License

MIT

Questions fréquentes

Qu'est-ce que io.github.minhhq-a1/odoo-pulse ?

An AI business analyst for Odoo ERP (18+) — one-call reports with verdicts, over MCP

Comment installer io.github.minhhq-a1/odoo-pulse ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add odoo-pulse -e 'ODOO_URL=<ODOO_URL>' -e 'ODOO_DB=<ODOO_DB>' -e 'ODOO_USERNAME=<ODOO_USERNAME>' -e 'ODOO_API_KEY=<your odoo_api_key>' -e 'ODOO_READ_ONLY=<ODOO_READ_ONLY>' -- uvx odoo-pulse==1.9.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.minhhq-a1/odoo-pulse ?

Oui. Il attend ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_API_KEY, à renseigner dans sa configuration.

io.github.minhhq-a1/odoo-pulse est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.minhhq-a1/odoo-pulse ?

Il est publié par minhhq-a1. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.