Skip to content
Agentmart
Submit a tool

Odoo Pulse

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

Connector by minhhq-a1 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 1
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/minhhq-a1-odoo-pulse

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
71 read · 7 write · 1 delete · 9 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 88

Read from the source code; the running server may list different tools.

Read 71 · Look things up without changing anything.

  • check_stock
  • find_partner
  • find_products
  • get_invoice
  • get_model_fields
  • get_purchase_order
  • get_sale_order
  • list_activities
  • list_applicants
  • list_appraisals
  • list_approval_requests
  • list_attendances
Show 59 more tools
  • list_boms
  • list_calendar_events
  • list_courses
  • list_departments
  • list_documents
  • list_email_campaigns
  • list_employees
  • list_engineering_changes
  • list_equipment
  • list_event_registrations
  • list_events
  • list_expenses
  • list_helpdesk_tickets
  • list_invoices
  • list_iot_devices
  • list_job_positions
  • list_knowledge_articles
  • list_loyalty_cards
  • list_loyalty_programs
  • list_lunch_orders
  • list_maintenance_requests
  • list_manufacturing_orders
  • list_memberships
  • list_models
  • list_notes
  • list_opportunities
  • list_payments
  • list_payslips
  • list_pickings
  • list_planning_slots
  • list_pos_orders
  • list_pos_sessions
  • list_projects
  • list_purchase_orders
  • list_quality_alerts
  • list_quality_checks
  • list_repair_orders
  • list_sale_orders
  • list_sign_requests
  • list_social_posts
  • list_subscriptions
  • list_surveys
  • list_tasks
  • list_time_off
  • list_timesheets
  • list_vehicles
  • list_website_visitors
  • odoo_version
  • pipeline_review
  • portfolio_health
  • procurement_watch
  • production_health
  • project_status_report
  • read_attachment
  • read_records
  • receivables_health
  • sales_snapshot
  • search_count
  • search_read

Write 7 · Create, change, send or run things.

  • aggregate_records
  • confirm_sale_order
  • create_contact
  • create_lead
  • create_record
  • create_task
  • update_records

Delete 1 · Delete, drop, revoke or wipe things.

  • delete_records

Not yet classified 9 · We could not tell from the name and description.

  • absence_overview
  • business_pulse
  • inventory_risk
  • project_budget
  • project_dashboard
  • project_profitability
  • project_subtask_hours
  • standup_digest
  • team_workload

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • ODOO_API_KEY

Other settings (environment variables or headers).

  • ODOO_DB
  • ODOO_READ_ONLY
  • ODOO_URL
  • ODOO_USERNAME

Tools (88)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • absence_overview

    Report who is off and where coverage is thin, in one call. Composes approved hr.leave records overlapping the next `days` days, pending approval requests, and per-department headcount into an absence calendar, coverage-risk flags (share of a department off at some point in the window >= coverage_threshold), and a verdict. Args: days: Look-ahead window in days (default 14). coverage_threshold: Department share off in the window that counts as a coverage risk (default 0.3). timezone_offset: UTC offset for "today" (default 7 = Asia/Ho_Chi_Minh).

  • aggregate_records

    Group and aggregate records server-side (one call instead of pulling rows). Args: model: Technical model name, e.g. 'sale.order'. group_by: One or more fields to group on. A field may carry a granularity, e.g. 'date_order:month'. measures: 'field:agg' specs. Bare 'field' means sum. Allowed aggregators: sum, avg, min, max, count, count_distinct. Omit to count records. domain: Odoo search domain (list of triplets). Defaults to all records. limit: Max groups (capped by ODOO_MAX_RECORDS). offset: Pagination offset over groups. order: Sort sp…

  • business_pulse

    One-call company briefing: sales, leads, receivables, tasks, absences. The morning-standup view of the whole company: yesterday's confirmed revenue and new leads, overdue customer invoices, tasks past deadline, and who is off today. Sections are independent — if an app is not installed, its section reports available=false and the rest still renders. Args: timezone_offset: UTC offset for "today" (default 7 = Asia/Ho_Chi_Minh). company: Optional company name (ilike) or id; scopes every section.

  • check_stock

    Check on-hand stock per location for products matching a query. Reads stock.quant (actual on-hand quantities) grouped by location. Args: product_query: Free text matched against product name or reference. limit: Max quant rows to return.

  • confirm_sale_order

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

  • create_contact

    Create a contact (res.partner). Preview unless confirm=True. Use extra_values to set fields this helper doesn't model (e.g. {"vat": ...}).

  • create_lead

    Create a CRM lead/opportunity (crm.lead). Preview unless confirm=True. Use extra_values to set fields this helper doesn't model, including custom mandatory fields (e.g. {"presales_id": 5}).

  • create_record

    Create one record. Returns a preview unless confirm=True. Args: model: Odoo model name (must be in ODOO_WRITABLE_MODELS). values: Field -> value mapping for the new record. confirm: Set True to actually create; otherwise a dry-run preview.

  • create_task

    Create a project task (project.task). Preview unless confirm=True. Use list_projects to find the project_id first. Use extra_values to set fields this helper doesn't model (e.g. {"tag_ids": [(6, 0, [1])]}).

  • delete_records

    Delete one or more records. Returns a preview unless confirm=True. Deletes also require ODOO_ALLOW_DELETE=true on the server. Args: model: Odoo model name (must be in ODOO_WRITABLE_MODELS). ids: Record ids to delete. confirm: Set True to actually delete; otherwise a dry-run preview.

  • find_partner

    Find contacts/companies (res.partner) by name, email, phone or reference. mobile was removed from res.partner in Odoo 19; it is searched/returned only when the instance still has it. Args: query: Free text matched against name, email, phone and customer ref. limit: Max results.

  • find_products

    Find products (product.product) with on-hand and forecasted quantities. Args: query: Free text matched against product name or internal reference. limit: Max results.

  • get_invoice

    Fetch a single invoice/bill (account.move) with its line items. Provide either the numeric `move_id` or the `number` (e.g. 'INV/2026/0001').

  • 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_order

    Fetch a single purchase order with its line items. Provide either the numeric `order_id` or the `order_name` (e.g. 'P00007').

Show 73 more tools
  • get_sale_order

    Fetch a single sales order with its line items. Provide either the numeric `order_id` or the `order_name` (e.g. 'S00042'). Returns the order header plus its order lines (product, qty, price).

  • inventory_risk

    Report stock at risk — shortages and dead stock — in one call. Shortages are storable products with negative forecasted quantity (demand exceeds supply). Dead stock is on-hand product with no done stock move in dead_stock_days, valued at standard_price. The dead-stock check is a bounded heuristic: when the recently-moved product list hits the 200-group cap, a risk flags that the list may over-count. Args: dead_stock_days: No-movement window for dead stock (default 90). top_n: Rows listed per breakdown section (default 10). timezone_offset: UTC offset for "today" (default 7 = Asia…

  • list_activities

    List scheduled activities / to-dos (mail.activity). Args: user: Filter by the assigned user's name. overdue_only: If true, only activities whose deadline has passed. limit: Max results.

  • list_applicants

    List recruitment applicants (hr.applicant). Args: job: Filter by the job position name applied for. stage: Filter by recruitment stage name (e.g. 'New', 'Interview'). limit: Max results.

  • list_appraisals

    List employee appraisals (hr.appraisal). Args: employee: Filter by employee name. state: new, pending, done or cancel. limit: Max results.

  • list_approval_requests

    List approval requests (approval.request). Args: status: new, pending, approved, refused or cancel. category: Filter by approval category name (e.g. 'Business Trip'). limit: Max results.

  • list_attendances

    List attendance records (hr.attendance) - employee check in/out. Args: employee: Filter by employee name. date_from: Inclusive lower bound on check-in (YYYY-MM-DD). date_to: Inclusive upper bound on check-in (YYYY-MM-DD). limit: Max results.

  • list_boms

    List bills of materials (mrp.bom). Args: product: Filter by the produced product (name or reference). limit: Max results.

  • list_calendar_events

    List calendar meetings (calendar.event). Args: query: Free text matched against the meeting title. date_from: Inclusive lower bound on the start datetime (YYYY-MM-DD). date_to: Inclusive upper bound on the start datetime (YYYY-MM-DD). limit: Max results.

  • list_courses

    List eLearning courses (slide.channel). Args: query: Free text matched against the course name. limit: Max results.

  • list_departments

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

  • list_documents

    List documents from the Documents app (documents.document). Args: query: Free text matched against the document name. limit: Max results.

  • list_email_campaigns

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

  • list_employees

    List employees (hr.employee). Args: query: Free text matched against name, work email or job title. department: Filter by department name. limit: Max results.

  • list_engineering_changes

    List PLM engineering change orders (mrp.eco). Args: product: Filter by the affected product template name. state: Filter by state code. limit: Max results.

  • list_equipment

    List maintenance equipment / assets (maintenance.equipment).

  • list_event_registrations

    List event registrations / attendees (event.registration). Args: event: Filter by event name. state: draft, open (confirmed), done (attended) or cancel. limit: Max results.

  • list_events

    List events (event.event). Args: query: Free text matched against the event name. date_from: Inclusive lower bound on the event start date (YYYY-MM-DD). date_to: Inclusive upper bound on the event start date (YYYY-MM-DD). limit: Max results.

  • list_expenses

    List employee expenses (hr.expense). Args: employee: Filter by employee name. state: draft, reported, approved, done or refused. limit: Max results.

  • list_helpdesk_tickets

    List helpdesk tickets (helpdesk.ticket - Odoo Enterprise). Args: query: Free text matched against ticket name or customer. team: Filter by helpdesk team name. stage: Filter by stage name (e.g. 'New', 'In Progress', 'Solved'). limit: Max results.

  • list_invoices

    List invoices/bills (account.move). Args: customer: Filter by partner name. move_type: 'out_invoice' (customer invoice), 'in_invoice' (vendor bill), 'out_refund' (credit note) or 'in_refund' (vendor refund). unpaid_only: If true, only invoices that are not fully paid. date_from: Inclusive lower bound on invoice date (YYYY-MM-DD). date_to: Inclusive upper bound on invoice date (YYYY-MM-DD). limit: Max results.

  • list_iot_devices

    List IoT devices (iot.device). Args: query: Free text matched against the device name. limit: Max results.

  • list_job_positions

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

  • list_knowledge_articles

    List Knowledge articles (knowledge.article). Args: query: Free text matched against the article name. limit: Max results.

  • list_loyalty_cards

    List loyalty / gift cards (loyalty.card). Args: partner: Filter by the card holder's name. limit: Max results.

  • list_loyalty_programs

    List loyalty programs / coupons / gift cards (loyalty.program). Args: query: Free text matched against the program name. limit: Max results.

  • list_lunch_orders

    List lunch orders (lunch.order). Args: state: new, ordered, confirmed or cancelled. limit: Max results.

  • list_maintenance_requests

    List maintenance requests (maintenance.request). Args: equipment: Filter by equipment name. stage: Filter by stage name (e.g. 'New Request', 'In Progress', 'Repaired'). limit: Max results.

  • list_manufacturing_orders

    List manufacturing orders (mrp.production). Args: product: Filter by the product being manufactured (name or reference). state: draft, confirmed, progress, to_close, done or cancel. limit: Max results.

  • list_memberships

    List membership lines (membership.membership_line). Args: partner: Filter by member name. state: none, canceled, old, waiting, invoiced, free or paid. limit: Max results.

  • 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). Args: query: Free text matched against the note content. limit: Max results.

  • list_opportunities

    List CRM opportunities (crm.lead, type='opportunity'). Args: query: Free text matched against the opportunity name or partner name. stage: Filter by stage name (e.g. 'New', 'Qualified', 'Won'). salesperson: Filter by the assigned salesperson's name. limit: Max results.

  • list_payments

    List customer/vendor payments (account.payment). Args: partner: Filter by partner name. payment_type: 'inbound' (received) or 'outbound' (sent). date_from: Inclusive lower bound on payment date (YYYY-MM-DD). date_to: Inclusive upper bound on payment date (YYYY-MM-DD). limit: Max results.

  • list_payslips

    List payroll payslips (hr.payslip). Args: employee: Filter by employee name. state: draft, verify, done or cancel. limit: Max results.

  • list_pickings

    List stock transfers / pickings (stock.picking): deliveries, receipts, internal. Args: picking_type: 'incoming' (receipts), 'outgoing' (deliveries) or 'internal'. partner: Filter by partner name. state: draft, waiting, confirmed, assigned, done or cancel. limit: Max results.

  • list_planning_slots

    List planning shifts / slots (planning.slot). Args: resource: Filter by the assigned resource (employee/material) name. role: Filter by role name. limit: Max results.

  • list_pos_orders

    List Point of Sale orders (pos.order). Args: date_from: Inclusive lower bound on order date (YYYY-MM-DD). date_to: Inclusive upper bound on order date (YYYY-MM-DD). state: draft, paid, done, invoiced or cancel. limit: Max results.

  • list_pos_sessions

    List Point of Sale sessions (pos.session). Args: state: opening_control, opened, closing_control or closed. limit: Max results.

  • list_projects

    List projects (project.project). Args: query: Free text matched against the project name. limit: Max results.

  • list_purchase_orders

    List purchase orders (purchase.order). Args: vendor: Filter by vendor name. state: Order state code: draft, sent, purchase, done or cancel. limit: Max results.

  • list_quality_alerts

    List quality alerts (quality.alert). Args: stage: Filter by stage name. limit: Max results.

  • list_quality_checks

    List quality checks (quality.check). Args: product: Filter by product (name or reference). quality_state: none, pass or fail. limit: Max results.

  • list_repair_orders

    List repair orders (repair.order). Args: product: Filter by the product under repair (name or reference). state: draft, confirmed, under_repair, ready, done or cancel. limit: Max results.

  • list_sale_orders

    List sales orders (sale.order). Args: customer: Filter by customer name (partner). state: Order state code: draft, sent, sale, done or cancel. date_from: Inclusive lower bound on order date (YYYY-MM-DD). date_to: Inclusive upper bound on order date (YYYY-MM-DD). limit: Max results.

  • list_sign_requests

    List electronic signature requests (sign.request). Args: state: sent, signed, refused, canceled or expired. limit: Max results.

  • list_social_posts

    List social media posts (social.post). Args: state: draft, scheduled, posting, posted or failed. limit: Max results.

  • list_subscriptions

    List subscriptions (sale.subscription). Args: customer: Filter by customer name. stage: Filter by subscription stage name (e.g. 'In Progress', 'Closed'). limit: Max results.

  • list_surveys

    List surveys (survey.survey) with response counts.

  • list_tasks

    List project tasks (project.task). Odoo caps XML-RPC results at 200 per call. Use offset to paginate when a project has more tasks than the limit (e.g. limit=200, offset=200 for page 2). user_ids is resolved to [{id, name}] objects via a single batch lookup. Args: query: Free text matched against the task name. project: Filter by project name. assignee: Filter by an assigned user's name. stage: Filter by stage name (e.g. 'To Do', 'In Progress', 'Done'). include_subtasks: When False (default) only top-level tasks are returned. Set to True to include subtasks (pare…

  • list_time_off

    List time off / leave requests (hr.leave). Args: employee: Filter by employee name. state: draft, confirm, refuse, validate1 or validate (approved). date_from: Inclusive lower bound on the leave start date (YYYY-MM-DD). date_to: Inclusive upper bound on the leave start date (YYYY-MM-DD). limit: Max results.

  • list_timesheets

    List timesheet entries (account.analytic.line with a project set). Args: employee: Filter by employee name. project: Filter by project name. date_from: Inclusive lower bound on the entry date (YYYY-MM-DD). date_to: Inclusive upper bound on the entry date (YYYY-MM-DD). limit: Max results.

  • list_vehicles

    List fleet vehicles (fleet.vehicle). Args: query: Free text matched against vehicle name or license plate. limit: Max results.

  • list_website_visitors

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

  • odoo_version

    Check connectivity and return the Odoo server version info.

  • pipeline_review

    Report the health of the CRM pipeline, in one call. Composes open crm.lead opportunities into totals (count, expected and probability-weighted revenue), stalled deals (no stage change in stalled_days), close-date buckets, per-stage / per-salesperson breakdowns, the recent win rate, and a rule-based verdict. Args: salesperson: Optional filter on user_id.name (ilike). team: Optional filter on team_id.name (ilike). stalled_days: Days without a stage change before a deal counts as stalled (default 14). lookahead_days: Days ahead that count as "closing soon" (default 30). …

  • portfolio_health

    Portfolio overview: one row per project, joined by id server-side. Replaces the project_status_report + project_profitability pair the overview tab used to call and join BY NAME in JS (which broke on duplicate project names). Returns raw signals only — the client computes its own health score from user-configured thresholds. Args: manager: Optional project-manager filter (user_id.name ilike). customer: Optional customer filter (partner_id.name ilike). include_on_hold: Keep on_hold projects (default True). include_done: Keep done projects (default False). lookahead_days: "…

  • procurement_watch

    Report purchasing health — late receipts and stale RFQs — in one call. Composes confirmed purchase orders into open value, receipts past their planned date, per-vendor open spend, plus a count of quotation requests (draft/sent) older than rfq_stale_days, and a rule-based verdict. Args: late_grace_days: Days past date_planned before a receipt counts as late (default 0). rfq_stale_days: Age in days after which a draft/sent RFQ counts as stale (default 7). top_n: Rows in the late-receipts / top-vendors lists (default 5). timezone_offset: UTC offset for "today" (d…

  • production_health

    Report manufacturing health — late starts and stuck orders — in one call. Composes open mrp.production orders (confirmed / progress / to_close) into a by-state backlog, orders that should have started but haven't (confirmed with date_start in the past), orders running longer than stuck_days, and a rule-based verdict. Args: stuck_days: Days an order may run (progress/to_close) before it counts as stuck (default 14). top_n: Rows in the behind-start / stuck lists (default 5). timezone_offset: UTC offset for "today" (default 7 = Asia/Ho_Chi_Minh). company: Optional compan…

  • project_budget

    Report planned vs actual budget per project, line by line. Reads the Budgets app (budget.line on Odoo 18+, else crossovered.budget.lines) and matches lines to active projects by a line-level project_id m2o when the instance has one, else through the project's analytic account. Amounts are absolute company-currency sums; server-computed practical/theoretical amounts are used as-is. Also compares each project's total analytic cost against the practical amounts booked on its budget lines, flagging spend the budget does not capture. When the filter matches exactly one project the report gains a p…

  • project_dashboard

    Everything the project-detail page needs, in one call. Replaces ~12 separate calls (status, profitability, milestones, weekly hours, budgets, budget lines, cost breakdowns, delivery by month). Use `include` to re-fetch only what changed: checkbox toggles -> ["hours", "delivery_monthly"]; budget chip changes -> ["budget_detail", "delivery_monthly"]. Sections fail soft: a broken section lands in "errors" while the rest return. Args: project_id: project.project id. only_closed_stages / closed_stage_names / single_assignee_only: sub-task filters, as in project_subtask_hours; the…

  • project_profitability

    Report delivery hours, money and budget burn per project in one call. Composes active project.project records (filtered by name / manager / customer) with timesheet hours (account.analytic.line grouped by project), analytic cost/revenue (grouped by analytic account) and the Budgets app when installed, into a per-project burn verdict (off_track / at_risk / on_track). When the filter matches exactly one project the report gains per-employee and per-task breakdowns. Args: project: Optional project-name filter (name ilike). Exactly one match switches on the drill-down breakdowns. …

  • project_status_report

    Report which projects are in trouble, across a portfolio, in one call. Composes project.project records (filtered by manager / customer / name) with their project.milestone rows into a per-project derived health verdict (off_track / at_risk / on_track) driven by overdue-or-unreached milestones and the project end date. Surfaces the PM's declared status alongside, flags projects declared healthier than the data (divergence), and ranks by risk. Args: manager: Optional project-manager filter (user_id.name ilike). customer: Optional customer filter (partner_id.name ilike). project: O…

  • project_subtask_hours

    Total sub-task hours for one project, filtered server-side, in ONE call. Sums delivery/allocated/effective hours over the project's sub-tasks (project.task with parent_id set). Use this instead of paginating project.task through search_read — especially for the "exactly one assignee" condition, which Odoo domains cannot express. Args: project_id: project.project id (int, not name). only_closed_stages: Count only tasks whose stage name is in closed_stage_names (default False). Cancelled tasks DO count toward delivery hours (business decision 2026-07-15). closed_sta…

  • read_attachment

    Read an ir.attachment: metadata always, base64 content when small enough. Binary attachments under ODOO_MAX_ATTACHMENT_BYTES are returned with their base64 `datas`; larger ones return metadata plus a warning. URL-type attachments return the link, never binary data. Args: attachment_id: The ir.attachment id. include_data: When False, return metadata only (no base64 fetch).

  • 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. Composes open posted invoices and vendor bills into standard aging buckets (not_due / 1-30 / 31-60 / 61-90 / 90+), the share of receivables overdue, the top overdue customers, and a verdict. Args: top_n: Rows in the top-overdue-customers list (default 5). timezone_offset: UTC offset for "today" (default 7 = Asia/Ho_Chi_Minh). company: Optional company name (ilike) or id to scope the report. overdue_pct_at_risk: Overdue AR share (%) that drops the verdict to at_risk (default 25). overdue_pct_off_track: Overdue AR s…

  • sales_snapshot

    Report how sales are going versus the previous period, in one call. Composes confirmed sale.order records over the last two periods into revenue/order deltas, top customers, top products (server-side aggregate over order lines), a stale-quotation count, and a growing / steady / declining verdict. Args: period_days: Length of the comparison window in days (default 7). stale_quote_days: Age in days after which a draft/sent quotation counts as stale (default 7). top_n: Rows in the top-customers / top-products lists (default 5). timezone_offset: UTC offset for "today" (de…

  • search_count

    Count records in a model matching an Odoo domain filter.

  • search_read

    Query records from an Odoo model. Args: model: Technical model name, e.g. 'sale.order', 'res.partner'. domain: Odoo search domain as a list of triplets, e.g. [["state", "=", "sale"], ["amount_total", ">", 1000]]. Use 'and'/'|' operators as Odoo expects. Defaults to all records. fields: Field names to return. Omit to let Odoo decide (can be large). limit: Max records (capped by ODOO_MAX_RECORDS). offset: Pagination offset. order: Sort spec, e.g. 'date_order desc'.

  • standup_digest

    Generate a daily standup digest for a project. Fetches all active subtasks (parent_id != False, stage not in exclude_stages, exactly 1 assigned user) and categorises them by deadline into OVERDUE / TODAY / UPCOMING / NO DEADLINE sections. Returns a plain-text digest ready to paste or send as an email body. Args: project: Project name (ilike match, e.g. "The Body Shop"). exclude_stages: Stage names to treat as closed. Defaults to ["Done", "Cancelled", "Delivered"]. lookahead_days: Days ahead to include in UPCOMING (default 7). timezone_offset: UTC offset in hours for …

  • team_workload

    Report who is over- or under-loaded, in one call. Composes the open project.task records in scope into a per-assignee load (open count plus overdue / due-soon / high-priority / no-deadline tallies), flags overloaded members and unassigned work, and returns a rule-based verdict. Done tasks carry no current load and are excluded. Args: project: Optional project-name filter (ilike). exclude_stages: Stage names dropped from scope. Default ["Cancelled"]. done_stages: Stage names treated as completed. Default ["Done", "Delivered"]. lookahead_days: Days ahead that count as "due soon…

  • update_records

    Update one or more records. Returns a preview unless confirm=True. Args: model: Odoo model name (must be in ODOO_WRITABLE_MODELS). ids: Record ids to update. values: Field -> value mapping to write. confirm: Set True to actually write; otherwise a dry-run preview.

Signals

Stars
1
Forks
2
Open issues
6
Weekly downloads
49
Last commit
Aug 5, 2026 (2 months ago)
Last release
Aug 5, 2026 (2 months ago)
Last package publish
Aug 5, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.minhhq-a1/odoo-pulse
Version
1.9.1
Auth
API key
Packages
pypi odoo-pulse
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Odoo Pulse MCP server. Agent Mart. https://agentmart.dev/connectors/minhhq-a1-odoo-pulse (last updated 2026-10-24)