Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ODOO_DBYesYour Odoo database name
ODOO_URLYesYour Odoo instance URL
LOG_LEVELNoLogging level (optional, e.g., INFO)
ODOO_PASSWORDYesYour Odoo password
ODOO_USERNAMEYesYour Odoo username
ODOO_MCP_MAX_LIMITNoMaximum limit for Odoo search results (optional)
ODOO_MCP_DEFAULT_LIMITNoDefault limit for Odoo search results (optional)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
odoo_searchD–
odoo_readD–
odoo_search_readD–
odoo_createD–
odoo_writeD–
odoo_invoke_actionD–
odoo_find_partnerD–
odoo_get_partner_summaryD–
odoo_create_activityD–
odoo_list_pending_activitiesD–
odoo_mark_activity_doneD–
odoo_post_chatter_messageD–
odoo_find_taskD–
odoo_create_taskD–
odoo_update_taskD–
odoo_find_my_tasksD–
odoo_update_task_statusD–
odoo_find_sale_orderD–
odoo_get_sale_order_summaryD–
odoo_get_record_summaryD–
odoo_create_purchase_orderD–
odoo_create_vendor_invoiceD–
odoo_find_pending_invoicesA

Find invoices/bills pending payment for a partner. Uses correct Odoo 18 domains: state='posted' AND payment_state in ('not_paid','partial'). DO NOT use state='open' - that is Odoo 13 and does NOT exist in Odoo 18. Omit partner_id to get ALL pending invoices.

odoo_get_invoice_summaryA

Get complete details of a specific invoice (account.move), including lines.

odoo_get_model_schemaA

Retrieve the fields and schema for a given Odoo model (e.g. 'res.partner'). Very useful if a field search fails.

odoo_get_capabilitiesD–
odoo_create_helpdesk_ticketD–
odoo_create_helpdesk_ticket_from_partnerD–
odoo_create_activity_summaryD–
odoo_close_activity_with_reasonD–
odoo_draft_ticket_emailD–
odoo_create_contract_lineD–
odoo_replace_contract_lineD–
odoo_close_contract_lineD–
odoo_create_calendar_eventB

Creates a calendar event (appointment or meeting) handling multiple attendees automatically.

odoo_create_sale_orderB

Creates a sale order (presupuesto) for a customer with product lines.

odoo_confirm_sale_orderC

Confirms a sale order, moving it from draft/sent to 'sale' status.

odoo_create_leadC

Creates a new CRM Lead / Opportunity.

odoo_get_product_stockB

Returns stock quantities (on hand, reserved) for a given product.

odoo_log_timesheetC

Logs a timesheet entry for a project or task.

odoo_find_attendanceD–
odoo_log_task_timesheetD–
odoo_check_inD–
odoo_check_outD–
odoo_get_my_today_summaryD–
odoo_find_missing_timesheetsD–
odoo_suggest_timesheet_from_attendanceD–
odoo_create_expense_reportD–
odoo_submit_expense_reportD–
odoo_approve_expenseD–
odoo_notify_pending_actionsD–
odoo_register_paymentC

Registers a payment for a specific customer or vendor invoice.

odoo_find_unreconciled_bank_linesD–
odoo_suggest_bank_reconciliationD–
odoo_reconcile_bank_lineD–
odoo_register_invoice_paymentD–
odoo_get_ar_ap_agingD–
odoo_run_period_close_checksD–
odoo_create_journal_entryD–
odoo_post_journal_entryD–
odoo_get_tax_summaryD–
odoo_validate_vendor_bill_duplicateD–
odoo_suggest_expense_account_and_taxesD–
odoo_create_vendor_bill_from_ocr_validatedD–
odoo_get_view_by_xmlidD–
odoo_find_views_by_modelD–
odoo_get_report_templateD–
odoo_scan_view_migration_issuesD–
odoo_scan_report_migration_issuesD–
odoo_propose_view_patchD–
odoo_propose_report_patchD–
odoo_validate_view_patchD–
odoo_validate_report_patchD–
odoo_preview_view_patchD–
odoo_preview_report_patchD–
odoo_test_view_compilationD–
odoo_apply_view_patch_safeD–
odoo_apply_report_patch_safeD–
odoo_rollback_patch_safeD–
odoo_assist_view_migrationD–
odoo_assist_report_migrationD–
odoo_visualize_view_patchD–
odoo_visualize_report_patchD–
odoo_batch_assist_view_migrationD–
odoo_batch_assist_report_migrationD–

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_odoo18_fields_reference CRITICAL REFERENCE: Odoo 18 field name changes from older versions. The LLM MUST consult this before building domains for res.partner or account.move.
get_odoo_models

TDQS

D1.4/5.0

Scored across 85 tools

Disambiguation2/5

With 85 tools covering many Odoo modules, there is significant overlap between generic CRUD tools (odoo_create, odoo_write) and model-specific tools (odoo_create_sale_order). Many tools lack descriptions, making it hard for an agent to distinguish when to use generic vs. specific tools.

Naming Consistency3/5

All tools share the 'odoo_' prefix, but after that, naming is inconsistent: some are generic verbs (odoo_create, odoo_search), while most follow verb_noun (odoo_create_sale_order). This mixed pattern reduces predictability.

Tool Count1/5

85 tools is far beyond typical well-scoped MCP servers (3-15). The server attempts to cover a vast Odoo API surface, resulting in an overwhelming number of tools, many of which are redundant or rarely used.

Completeness2/5

While the tool set spans many modules, it lacks key operations in each domain (e.g., no cancel_sale_order, no delete_task). Generic tools like odoo_write may compensate, but the surface feels incomplete and unbalanced.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive