Skip to main content
Glama
tuanle96

Odoo MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ODOO_DBYesDatabase name
ODOO_URLYesYour Odoo server URL
ODOO_TIMEOUTNoConnection timeout in seconds30
ODOO_PASSWORDYesPassword or API key
ODOO_USERNAMEYesLogin username
ODOO_VERIFY_SSLNoWhether to verify SSL certificatestrue

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
diagnose_odoo_callC

Diagnose an Odoo model call without executing it

generate_json2_payloadB

Build a JSON-2 request preview without network access

inspect_model_relationshipsB

Inspect model relationships and required field metadata

diagnose_accessC

Diagnose ACL and record-rule visibility for an Odoo model

upgrade_risk_reportC

Report Odoo upgrade and JSON-2 migration risks

lookup_model_historyA

Look up Odoo model rename/removal history by old or new model name (e.g. account.invoice -> account.move)

fit_gap_reportC

Classify Odoo requirements into fit/gap implementation buckets

scan_addons_sourceA

Scan local Odoo addon source without importing addon code

build_domainC

Build a validated Odoo domain from structured conditions

business_pack_reportC

Report expected modules, models, and safe discovery calls for a business pack

get_odoo_profileC

Read a bounded profile of the connected Odoo environment

schema_catalogC

Build and cache a bounded Odoo model schema catalog

health_checkA

Report this MCP server's non-secret runtime safety posture

list_instancesA

List configured Odoo instance names without credentials

list_modelsB

List Odoo models with optional name filtering

get_model_fieldsB

Get field metadata for a specific Odoo model

search_recordsA

Search Odoo records with read-only search_read; optional free-text query matches across name/ref/email-like fields

read_recordA

Read a single Odoo record by model and ID

read_attachmentA

Read an ir.attachment's metadata and size-capped base64 content

aggregate_recordsA

Aggregate Odoo records server-side using Postgres groupby/sum/count. Uses formatted_read_group on Odoo 19+ and read_group on earlier versions.

search_employeeB

Search for employees by name

search_holidaysC

Search for holidays within a date range

preview_writeA

Preview create, write, or unlink without executing it

validate_writeB

Validate a standard write payload against optional fields_get metadata

execute_approved_writeC

Execute a previously previewed and confirmed standard write

chatter_postA

Post a chatter message on a mail.thread record. Default mode requires an approval token returned from a preview call; set MCP_CHATTER_DIRECT=1 to bypass and post immediately.

execute_methodC

Execute a custom method on an Odoo model

index_knowledgeA

Fetch a bounded slice of records and build a local BM25 knowledge index

search_knowledgeB

Relevance-ranked local BM25 search over previously indexed records

knowledge_statsA

Report local knowledge index sizes and document budget

receivable_payable_agingC

Aged receivable/payable report bucketed by days overdue

accounting_health_summaryC

Open receivable/payable item counts and draft invoice backlog

search_across_instancesA

Read-only search fanned out across configured Odoo instances, merged and attributed

aggregate_across_instancesA

Read-only aggregate fanned out across instances with combined grand totals

accounting_health_across_instancesC

AR/AP aging fanned out across instances — the partner-network sweep

submit_async_taskA

Run an allowlisted long-running read operation in the background

get_async_taskA

Poll a background task's status and result

cancel_async_taskC

Cancel a pending or running background task

list_async_tasksA

List recent background tasks newest-first

Prompts

Interactive templates invoked by user choice

NameDescription
diagnose_failed_odoo_callGuide an assistant through diagnosing a failed Odoo model call.
fit_gap_workshopStructure an Odoo fit/gap workshop from raw requirements.
json2_migration_planPlan migration from XML-RPC/JSON-RPC style calls to Odoo JSON-2.
safe_write_reviewReview a proposed create/write/unlink before execution.
custom_module_auditGuide a local source audit for custom Odoo addons.
invoice_approval_chainFind, validate, and gated-post draft customer invoices with human checkpoints.
po_to_receiptThree-way match a purchase order against its receipt and vendor bill; flag discrepancies.
customer_onboardingDedup-check then create a customer with contacts and payment terms via the write gate.
expense_claim_reviewReview pending expense claims against policy and gated-approve or refuse them.
accounting_close_checklistRead-only month-end close checklist: aging, unreconciled items, draft backlog, lock-date guidance.

Resources

Contextual data attached and managed by the client

NameDescription
get_modelsList all available models in the Odoo system (default Odoo instance)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tuanle96/mcp-odoo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server