Skip to main content
Glama
bemade
by bemade

model_graph

Retrieve the inheritance graph of an Odoo model to reveal extending modules, mixin parents, and child models, without needing a database connection.

Instructions

Get the inheritance graph for a model: extending modules, mixin parents, children.

Args: project_path: Path to the Odoo project root model_name: Dotted model name, e.g. 'sale.order' addons_paths: Optional explicit addons paths (auto-detected if omitted) exclude_modules: Optional list of module names to skip loading

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_nameYes
addons_pathsNo
project_pathYes
exclude_modulesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that addons paths are auto-detected and exclude_modules can skip loading, which are helpful behavioral hints. However, it does not explicitly state that the operation is read-only, mention potential performance costs of loading modules, or describe error behavior (e.g., missing model or invalid project path). This is a significant gap for a tool with no safety annotations.

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?

The description is concise and front-loaded: a one-sentence summary of the tool's purpose followed by a structured parameter list. Every sentence provides necessary information, and the format is clean and easy to scan.

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?

With an output schema present, return-value documentation is not needed. The description covers the tool's purpose and all input parameters sufficiently, including optionality and default behaviors. However, it lacks edge-case context such as what happens if the model is not found or how the inheritance graph is structured, but given the simplicity and output schema, the description is fairly complete.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates with a clear Args block. Each of the four parameters has a meaningful explanation, including the dotted model name format, optional addons paths with auto-detection behavior, and the purpose of exclude_modules for skipping loading. This adds substantial value beyond the schema's minimal titles.

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 ('Get') and a clear resource ('inheritance graph for a model'), and enumerates graph contents (extending modules, mixin parents, children). This distinguishes it from sibling tools like model_info or field_info, making its purpose unambiguous.

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 the tool is for exploring inheritance relationships, and the parameter context (project path, model name) suggests when it would be used. However, it does not explicitly contrast this tool with alternatives like model_info or method_overrides, nor does it state when not to use it, so usage guidance remains implicit rather than explicit.

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

Install Server

Other Tools

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/bemade/odoo-model-mcp'

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