An AI business analyst for your Odoo ERP — one-call reports with verdicts, over MCP
claude mcp add odoo-pulse -- uvx odoo-pulse{
"mcpServers": {
"odoo-pulse": {
"command": "uvx",
"args": ["odoo-pulse"],
"env": {
"ODOO_URL": "<odoo_url>",
"ODOO_USERNAME": "<odoo_username>",
"ODOO_API_KEY": "<odoo_api_key>"
}
}
}
}ODOO_URLODOO_USERNAMEODOO_API_KEYMCP Servers overview
# odoo-pulse [](https://github.com/minhhq-a1/odoo-pulse/actions/workflows/ci.yml) [](https://pypi.org/project/odoo-pulse/) [](LICENSE) <!-- mcp-name: io.github.minhhq-a1/odoo-pulse --> **An AI business analyst for your [Odoo](https://www.odoo.com) ERP.** Ask one question, get one answer — numbers, highlights, risks, and a verdict (on-track / at-risk / off-track) — over the [Model Context Protocol](https://modelcontextprotocol.io). 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. | 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. ## 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): ```bash 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](docs/guides/playground.md). ## Install & connect Add it to Claude Code (no install step — `uvx` fetches it): ```bash 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](docs/guides/install.md). If a key may have been exposed, see [If an API key may have been exposed](docs/guides/install.md#if-an-api-key-may-have-been-exposed). Or one-click: [](https://cursor.com/en/install-mcp?name=odoo-pulse&config=eyJjb21tYW5kIjogInV2eCIsICJhcmdzIjogWyJvZG9vLXB1bHNlIl0sICJlbnYiOiB7Ik9ET09fVVJMIjogImh0dHBzOi8vYWNtZS5vZG9vLmNvbSIsICJPRE9PX0RCIjogImFjbWUiLCAiT0RPT19VU0VSTkFNRSI6ICJ5b3VAZXhhbXBsZS5jb20iLCAiT0RPT19BUElfS0VZIjogInlvdXItYXBpLWtleSIsICJPRE9PX1JFQURfT05MWSI6ICJ0cnVlIn19) [](https://vscode.dev/redirect/mcp/install?name=odoo-pulse&config=%7B%22name%22%3A%20%22odoo-pulse%22%2C%20%22command%22%3A%20%22uvx%22%2C%20%22args%22%3A%20%5B%22odoo-pulse%22%5D%2C%20%22env%22%3A%20%7B%22ODOO_URL%22%3A%20%22https%3A%2F%2Facme.odoo.com%22%2C%20%22ODOO_DB%22%3A%20%22acme%22%2C%20%22ODOO_USERNAME%22%3A%20%22you%40example.com%22%2C%20%22ODOO_API_KEY%22%3A%20%22your-api-key%22%2C%20%22ODOO_READ_ONLY%22%3A%20%22true%22%7D%7D) ## 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](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](docs/reference/tools.md). ## Testing The suite mocks the XML-RPC layer, so **no real Odoo or network is needed**: ```bash 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](docs/reference/tools.md#live-smoke-test-against-a-real-odoo). ## License [MIT](LICENSE)
What people ask about odoo-pulse
What is minhhq-a1/odoo-pulse?
+
minhhq-a1/odoo-pulse is mcp servers for the Claude AI ecosystem. An AI business analyst for your Odoo ERP — one-call reports with verdicts, over MCP It has 1 GitHub stars and was last updated today.
How do I install odoo-pulse?
+
You can install odoo-pulse by cloning the repository (https://github.com/minhhq-a1/odoo-pulse) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is minhhq-a1/odoo-pulse safe to use?
+
minhhq-a1/odoo-pulse has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains minhhq-a1/odoo-pulse?
+
minhhq-a1/odoo-pulse is maintained by minhhq-a1. The last recorded GitHub activity is from today, with 7 open issues.
Are there alternatives to odoo-pulse?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy odoo-pulse to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/minhhq-a1-odoo-pulse)<a href="https://claudewave.com/repo/minhhq-a1-odoo-pulse"><img src="https://claudewave.com/api/badge/minhhq-a1-odoo-pulse" alt="Featured on ClaudeWave: minhhq-a1/odoo-pulse" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!