MCP.Market

Odoo Pulse MCP server

by minhhq-a1·io.github.minhhq-a1/odoo-pulse·v1.9.1·1 stars

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

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
New

1 stars

Reviews

Write one

Nobody has reviewed Odoo Pulse yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Odoo Pulse tools (89, 11 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • absence_overview

    Report who is off and where coverage is thin, in one call.

  • aggregate_records

    Group and aggregate records server-side (one call instead of pulling rows).

  • business_pulse

    One-call company briefing: sales, leads, receivables, tasks, absences.

  • check_stock

    Check on-hand stock per location for products matching a query.

  • confirm_sale_orderwrite action

    Confirm a quotation into a sales order (sale.order action_confirm).

  • create_contactwrite action

    Create a contact (res.partner). Preview unless confirm=True.

  • create_leadwrite action

    Create a CRM lead/opportunity (crm.lead). Preview unless confirm=True.

  • create_recordwrite action

    Create one record. Returns a preview unless confirm=True.

  • create_taskwrite action

    Create a project task (project.task). Preview unless confirm=True.

  • delete_recordswrite action

    Delete one or more records. Returns a preview unless confirm=True.

  • find_partner

    Find contacts/companies (res.partner) by name, email, phone or reference.

  • find_products

    Find products (product.product) with on-hand and forecasted quantities.

  • get_invoice

    Fetch a single invoice/bill (account.move) with its line items.

  • get_model_fields

    Inspect the schema of an Odoo model. Returns each field's label, type, help text, requiredness and relation. Pass `fields` to limit the result to specific field names. Example model: 'res.partner'.

  • get_purchase_orderwrite action

    Fetch a single purchase order with its line items.

  • get_sale_orderwrite action

    Fetch a single sales order with its line items.

  • inventory_risk

    Report stock at risk — shortages and dead stock — in one call.

  • list_activities

    List scheduled activities / to-dos (mail.activity).

  • list_applicants

    List recruitment applicants (hr.applicant).

  • list_appraisals

    List employee appraisals (hr.appraisal).

  • list_approval_requests

    List approval requests (approval.request).

  • list_attendances

    List attendance records (hr.attendance) - employee check in/out.

  • list_boms

    List bills of materials (mrp.bom).

  • list_calendar_events

    List calendar meetings (calendar.event).

  • list_courses

    List eLearning courses (slide.channel).

  • list_departments

    List HR departments (hr.department) with employee headcount.

  • list_documents

    List documents from the Documents app (documents.document).

  • list_email_campaignswrite action

    List email marketing mailings (mailing.mailing) with engagement stats.

  • list_employees

    List employees (hr.employee).

  • list_engineering_changes

    List PLM engineering change orders (mrp.eco).

  • list_equipment

    List maintenance equipment / assets (maintenance.equipment).

  • list_event_registrations

    List event registrations / attendees (event.registration).

  • list_events

    List events (event.event).

  • list_expenses

    List employee expenses (hr.expense).

  • list_helpdesk_tickets

    List helpdesk tickets (helpdesk.ticket - Odoo Enterprise).

  • list_invoices

    List invoices/bills (account.move).

  • list_iot_devices

    List IoT devices (iot.device).

  • list_job_positions

    List recruitment job positions (hr.job) with expected/recruited counts.

  • list_knowledge_articles

    List Knowledge articles (knowledge.article).

  • list_loyalty_cards

    List loyalty / gift cards (loyalty.card).

  • list_loyalty_programs

    List loyalty programs / coupons / gift cards (loyalty.program).

  • list_lunch_orders

    List lunch orders (lunch.order).

  • list_maintenance_requests

    List maintenance requests (maintenance.request).

  • list_manufacturing_orders

    List manufacturing orders (mrp.production).

  • list_memberships

    List membership lines (membership.membership_line).

  • list_models

    List Odoo models (technical name + label). Optionally filter by a case-insensitive substring matched against the model name or label, e.g. 'sale', 'res.partner', 'invoice'.

  • list_notes

    List notes (note.note).

  • list_opportunities

    List CRM opportunities (crm.lead, type='opportunity').

  • list_payments

    List customer/vendor payments (account.payment).

  • list_payslips

    List payroll payslips (hr.payslip).

  • list_pickings

    List stock transfers / pickings (stock.picking): deliveries, receipts, internal.

  • list_planning_slots

    List planning shifts / slots (planning.slot).

  • list_pos_orders

    List Point of Sale orders (pos.order).

  • list_pos_sessions

    List Point of Sale sessions (pos.session).

  • list_projects

    List projects (project.project).

  • list_purchase_orderswrite action

    List purchase orders (purchase.order).

  • list_quality_alerts

    List quality alerts (quality.alert).

  • list_quality_checks

    List quality checks (quality.check).

  • list_repair_orders

    List repair orders (repair.order).

  • list_sale_orders

    List sales orders (sale.order).

  • list_sign_requests

    List electronic signature requests (sign.request).

  • list_social_posts

    List social media posts (social.post).

  • list_subscriptions

    List subscriptions (sale.subscription).

  • list_surveys

    List surveys (survey.survey) with response counts.

  • list_tasks

    List project tasks (project.task).

  • list_time_off

    List time off / leave requests (hr.leave).

  • list_timesheets

    List timesheet entries (account.analytic.line with a project set).

  • list_vehicles

    List fleet vehicles (fleet.vehicle).

  • list_website_visitors

    List website visitors (website.visitor) with visit counts.

  • odoo_version

    Check connectivity and return the Odoo server version info.

  • parse_groups

    Split a comma-separated group list, validated against GROUP_MODULES.

  • pipeline_review

    Report the health of the CRM pipeline, in one call.

  • portfolio_health

    Portfolio overview: one row per project, joined by id server-side.

  • procurement_watch

    Report purchasing health — late receipts and stale RFQs — in one call.

  • production_health

    Report manufacturing health — late starts and stuck orders — in one call.

  • project_budget

    Report planned vs actual budget per project, line by line.

  • project_dashboard

    Everything the project-detail page needs, in one call.

  • project_profitability

    Report delivery hours, money and budget burn per project in one call.

  • project_status_report

    Report which projects are in trouble, across a portfolio, in one call.

  • project_subtask_hours

    Total sub-task hours for one project, filtered server-side, in ONE call.

  • read_attachment

    Read an ir.attachment: metadata always, base64 content when small enough.

  • read_records

    Fetch specific records by their ids. Pass `fields` to limit columns.

  • receivables_health

    Report AR/AP aging and who owes what, in one call.

  • sales_snapshot

    Report how sales are going versus the previous period, in one call.

  • search_count

    Count records in a model matching an Odoo domain filter.

  • search_read

    Query records from an Odoo model.

  • standup_digest

    Generate a daily standup digest for a project.

  • team_workload

    Report who is over- or under-loaded, in one call.

  • update_recordswrite action

    Update one or more records. Returns a preview unless confirm=True.

Public scan report

scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it

no findings
  • Code scan83 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 35 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Odoo Pulse compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
78/100
higher than 57% of 48,255 servers
Tools
89
the typical server has 7
Tools that change things
12%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 65% of 28,688 servers

What its tools let an agent do: 78 read · 4 create · 6 change · 1 delete

Install Odoo Pulse in Claude Code, Cursor or VS Code

claude mcp add odoo-pulse -- uvx odoo-pulse
Add to Cursor

What the publisher says

From the Odoo Pulse repository's README, as published. We do not edit it. Read it on GitHub

odoo-pulse

<!-- mcp-name: io.github.minhhq-a1/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.

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 timezoneoffset (default 7). Odoo stores datetime fields in UTC; the tools shift them by timezoneoffset 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, invoicedatedue, project.task.date_deadline) are compared as-is.

Version-dependent fields

findpartner searches mobile only on instances that still have it (removed in Odoo 19), and listtimesheets 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 (searchread, readrecords, …) 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 businesspulse**. Full walkthrough: docs/guides/playground.md.

Install & connect

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

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Odoo Pulse: common questions

Is Odoo Pulse MCP server safe?
Mostly: it is graded B (78/100). Read the Odoo Pulse safety report
How do I install Odoo Pulse?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Odoo Pulse need an API key?
Yes. The registry entry asks for ODOO_API_KEY.
Is Odoo Pulse maintained?
The last commit was 76 days ago (2026-08-20). The latest release is v1.9.1.
How does Odoo Pulse compare with other MCP servers?
safety score 78/100 (higher than 57% of 48,255 servers); tools 89 (the typical server has 7); tools that change things 12% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.