Skip to main content
Glama
fabiancasta

My Awesome MCP Server

by fabiancasta

update_record

Update one or more existing Odoo ERP records by providing the model name, record IDs, and field values, with each request checked before it reaches the ERP.

Instructions

Update one or more existing records.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNoSeveral record ids
modelYesTechnical model name, e.g. 'res.partner'
valuesYesField values to write
record_idNoOne record id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. Beyond that the description adds nothing: it does not say what happens to fields omitted from 'values' (merge vs overwrite), whether a partial or id-less failure aborts the whole batch, what permissions are needed, or what the update returns.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler; the verb and scope arrive immediately. Its weakness is under-specification rather than bloat, and nothing would need to be cut to improve it.

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

Completeness3/5

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

For a four-parameter mutation tool with full schema coverage, no output schema, and annotations that already cover the write/safety profile, the definition is minimally viable. It still omits batch-failure semantics and the partial-update behavior of 'values', which genuinely matter for a bulk write.

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 each of the four parameters is documented in the schema and the baseline is 3. The description's 'one or more' faintly signals the ids-vs-record_id duality, but it adds no syntax, model naming, or values-format detail beyond what the schema already provides.

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?

States a specific verb ('update') and resource ('existing records') plus the multiplicity ('one or more'), so the agent knows this is a bulk-capable mutation rather than a read or create. It never contrasts itself with create_record or delete_record, so it lacks explicit sibling differentiation, but the verb alone is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus create_record, delete_record, or execute_method, and no preconditions such as required permissions or model-level write access. The 'one or more' phrasing implies bulk use but never states when the single-record path is preferable.

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