Odoo Pulse

io.github.minhhq-a1由 GitHub 账号 minhhq-a1 发布v1.9.1更新于 Oct 24, 2026

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

概览

AI 生成的概览

一个 Odoo ERP 分析服务器,用一次调用生成报告、要点和结论,回答管理问题。

可以做什么
Odoo Pulse 通过标准 XML-RPC 外部 API 连接 Odoo 18+ 实例,返回结构化分析报告而非原始记录。其工具涵盖每日业务脉搏、CRM 销售漏斗回顾、销售期对比、应收账龄、库存短缺与滞销、缺勤、采购、制造健康度、项目盈利与预算以及团队工作量。它还提供约 60 个模型感知查询工具,覆盖 CRM、销售、库存、会计、HR、项目、制造和 PoS,可通过 ODOO_TOOL_GROUPS 启用。金额报告支持公司筛选,并会标记混合币种合计。
适用场景
当助手需要回答关于 Odoo ERP 部署的管理问题——销售、销售漏斗、应收、库存、采购、生产或项目交付——而不必手动查询模型时,适合使用。适用于 Odoo Online、Odoo.sh 或本地部署的 Odoo 18+,并提供 Docker 演练环境,无需 Odoo 账号即可试用。
运行要求
通过 uvx 从 PyPI 包 odoo-pulse 本地运行(stdio 传输,仅桌面端)。需要 ODOO_URL、ODOO_DB、ODOO_USERNAME 和 ODOO_API_KEY,并能访问 Odoo 实例的网络。API 密钥在 Odoo 的设置、用户、账户安全中生成。ODOO_READ_ONLY 默认为 true。
安装前请注意
该服务器持有充当账户密码的 Odoo API 密钥(ODOO_API_KEY),应视为凭据,泄露后需轮换。默认只读;写入需要 ODOO_READ_ONLY=false、ODOO_WRITABLE_MODELS 允许列表、删除还需 ODOO_ALLOW_DELETE=true,以及每次调用 confirm=true,否则返回试运行预览。报告数据会发送给助手的模型提供商。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Odoo Pulse,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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.

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):

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.

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 [email protected] \  --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:

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.

License

MIT

来源:README.md,提交 219360f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.9.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分