Skip to main content
Glama
Pirainuthal

odoo-mcp-server

by Pirainuthal

Describe an Odoo model

describe_model
Read-only

Inspect an Odoo model's fields—types, labels, required/readonly flags, relations, selection values—and the current user's permitted actions, with optional field filtering.

Instructions

Describe a model's fields (type, label, required, readonly, relation, selection values) and what the current user is allowed to do with it.

Required fields are listed first.

Input Schema

NameRequiredDescriptionDefault
modelYesTechnical model name, e.g. 'res.partner', 'sale.order', 'account.move'.
field_queryNoOnly show fields whose name or label contains this text.
include_technicalNoInclude chatter/activity/internal fields (message_*, activity_*).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds valuable context beyond annotations: it discloses which field attributes are returned (type, label, required, readonly, relation, selection values), that permissions for the current user are included, and that required fields are ordered first. It does not describe response size, performance, or error behavior, but the output schema covers return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no wasted language. The key purpose and returned information are front-loaded, and the ordering detail is placed efficiently after the main description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a rich input schema with 100% description coverage, explicit read-only/open-world annotations, and a present output schema, the description is nearly complete for an agent to call it correctly. The main gap is guidance on when to choose this tool over siblings, though that is more of a usage concern.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already well documented in the input schema. The description does not add parameter-specific semantics such as how field_query filters fields or when include_technical should be used, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Describe') and resource ('a model's fields') and enumerates the returned field attributes and permission information. It clearly distinguishes schema introspection from sibling tools like list_models (which lists models) and read_record (which fetches records).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for inspecting a model before querying or reading records, but it does not explicitly state when to use this tool versus list_models, search_records, or read_record. No exclusions or alternative-routing guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.