Skip to main content
Glama

Update Odoo records

aidoo_write
Destructive

Update existing Odoo records by specifying a model with IDs and values, or use batch for multiple updates. Requires confirmation to apply changes.

Instructions

Update existing records in an Odoo model. Use 'ids'+'values' for single update, or 'batch' for multiple updates with different values per group of IDs. Requires confirmation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNo
batchNo
modelYes
valuesNo
confirmedNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already mark this as destructive (destructiveHint: true), but the description adds a valuable behavioral detail: 'Requires confirmation.' It also indicates that the operation targets existing records, reinforcing the mutation semantics. This goes beyond what annotations alone provide, justifying a score above baseline.

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 three sentences with no redundancy. The main purpose is front-loaded, followed by concise usage instructions and the confirmation requirement. Every sentence earns its place.

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 and annotations covering destructive behavior, the description covers the essential aspects: purpose, primary usage modes, and confirmation. It does not discuss prerequisites, error cases, or edge cases, but these are less critical given the output schema and simple required parameter ('model'). Slightly incomplete for a write operation, but adequate for the complexity.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry the burden of explaining parameters. It explains the roles of 'ids' and 'values' for single updates, and 'batch' for multiple updates, and implies 'confirmed' via 'Requires confirmation.' It does not detail the exact structure of batch items, but it adds substantial meaning beyond the raw schema.

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

Purpose4/5

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

The description clearly states the tool updates existing records in an Odoo model, using a specific verb and resource. It differentiates from siblings like aidoo_create and aidoo_delete by emphasizing 'existing records,' though it does not explicitly name alternative tools.

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 provides clear internal guidance on when to use 'ids'+'values' (single update) versus 'batch' (multiple updates), which is helpful. However, it does not explicitly contrast this tool with sibling tools or state when to choose aidoo_write over aidoo_create or aidoo_update (though such a tool does not appear in siblings). The usage context is implied but not fully spelled out.

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