Skip to main content
Glama
c41m4n

farmos-mcp

by c41m4n

update_record

Idempotent

Update fields on an existing farmOS record via PATCH, changing only the fields you provide; requires writes enabled.

Instructions

Update fields on an existing record (PATCH). Only the fields you pass change. Requires writes to be enabled.

Input Schema

NameRequiredDescriptionDefault
idYesRecord UUID
bundleYesBundle of the record
attributesNoOnly the fields to change
entity_typeYesOne of: asset, log, plan, quantity, taxonomy_term, organization
relationshipsNoRelationships to replace (full replacement per relationship). Use null to clear a to-one relationship.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing PATCH partial-mutation semantics and a real precondition ('Requires writes to be enabled'), which annotations cannot express. It does not mention what happens to omitted fields on relationships or any error behavior, keeping it short of a 5.

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?

Three short sentences, each earning its place: operation, mutation semantics, precondition. Front-loaded with the verb and resource, no filler or repetition of the tool name.

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 full schema coverage, return values and parameter detail need not be re-explained. The description covers the key non-obvious behaviors (partial update, writes-enabled requirement); the remaining gap is sibling routing among the many update-adjacent tools.

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% and every parameter is documented in the schema, including the enum-like entity_type list and the relationship-clearing note. The description only reinforces the 'attributes' partial-update meaning and adds no new parameter detail, so the baseline of 3 applies.

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+resource ('Update fields on an existing record') and pins down the HTTP semantics with '(PATCH)', which is more precise than the tool name alone. It does not distinguish itself from specialized mutators in the sibling list such as set_archived or set_log_status, so an agent must infer which mutator to prefer.

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 implication is use this to modify existing records, and 'Only the fields you pass change' hints at partial-update use cases. There is no explicit when-to-use/when-not guidance, and no routing against siblings like create_record, delete_record, set_archived, or set_log_status, which overlap in intent.

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