Skip to main content
Glama

odoo-pulse

CI PyPI License: MIT

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.

business_pulse — a one-call company briefing

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.

Tool

Answers

business_pulse

The morning briefing: yesterday's sales, new leads, overdue invoices, late tasks, who's off — with a company-wide verdict

pipeline_review

CRM funnel by stage, stalled deals, weighted revenue, recent win rate

sales_snapshot

Revenue this period vs last (Δ%), top customers/products, stale quotations

receivables_health

AR/AP aging buckets, % overdue, top debtors

inventory_risk

Shortages (negative forecast) and dead stock

absence_overview

Who's off this week, pending approvals, thin-coverage departments

procurement_watch

Purchasing: late receipts, stale RFQs, open spend per vendor

production_health

Manufacturing: orders behind their planned start, stuck WIP

project_profitability

Projects: hours logged vs allocated, cost/revenue/margin, budget burn verdict

project_budget

Budget vs actual per project, line by line — over-plan lines and spend the budget doesn't capture

team_workload · project_status_report · standup_digest

Project 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.

Related MCP server: MCP-Odoo

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:

Install in Cursor Install in VS Code

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

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
1dRelease cycle
18Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A comprehensive implementation of the Model Context Protocol for Odoo ERP systems that enables AI assistants to interact directly with business data across sales, purchases, inventory, and accounting modules.
    Last updated
    48
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A Model Context Protocol server that bridges Odoo ERP systems with AI agents, enabling them to access and manipulate partner information, accounting data, invoices, and perform financial reconciliation through a standardized interface.
    Last updated
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Safety-first Model Context Protocol server for Odoo that enables AI assistants to safely inspect records, explain business data, prepare controlled changes, and rollback supported operations.
    Last updated
    7
    MIT

View all related MCP servers

Related MCP Connectors

  • AI-native ERP MCP: ES/EU fiscal compliance (VeriFactu/TicketBAI/Facturae), invoicing, tax, banking

  • Ask your app anything — revenue, errors, read-cost, growth — and get rendered charts back.

  • Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.

View all MCP Connectors

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/minhhq-a1/odoo-pulse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server