Skip to main content
Glama

update_article

Modify an existing Article by sending only the fields to change, optionally adding, updating, or deleting inline rows in one all-or-nothing call.

Instructions

Update an existing Article with optional inline updates. Only the fields sent are changed.

Date and datetime fields take a single ISO 8601 string (e.g. '2026-03-01' or '2026-03-01T09:30:00Z'). Foreign keys take the related object's ID, many-to-many fields a list of IDs. A field the admin form does not accept (unknown, read-only or non-editable) is rejected with an error, never ignored.

Fields:

  • id (BigAutoField)

  • title (CharField) [required]

  • content (TextField) [required]

  • author (ForeignKey) [required]

  • published_date (DateTimeField)

  • is_published (BooleanField)

  • created_at (DateTimeField)

  • updated_at (DateTimeField)

Input Schema

NameRequiredDescriptionDefault
idYesThe ID of the Article
dataNoThe fields to update
inlinesNoInline rows saved with the object, keyed by inline model name: {model_name: [{data} to add, {id, data} to update, {id, _delete: true} to delete]}. All-or-nothing: any inline error rejects the whole call and nothing is saved

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?

With no annotations, the description carries the full burden and does substantial work: it discloses partial-update semantics, error behavior for unknown/read-only/non-editable fields ('rejected with an error, never ignored'), and the all-or-nothing atomicity of inline saves. It omits auth/permission requirements, whether existing values are overwritten, and what the response contains — real but secondary gaps.

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?

Front-loaded: purpose, then update semantics, then format rules, then the field enumeration. The field list is long but justified by the untyped `data` object. Sentences are dense and free of filler, though the format paragraph could be tightened slightly.

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 no annotations, no output schema, and a nested untyped `data` object, the description covers mutation semantics, rejection behavior, inline atomicity, and value formats — enough to call the tool correctly. The main remaining omission is the return value/payload, which no other structured field supplies.

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?

Top-level schema coverage is high, but the nested `data` object is described only as 'The fields to update,' so the description's field list with types and required markers is a genuine value add. The format conventions (ISO 8601 strings, FK as related object ID, M2M as list of IDs) are exactly the semantic detail the schema lacks. It falls short of 5 because created_at/updated_at are listed without noting they are non-editable.

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 an existing Article') and immediately qualifies the semantics with 'with optional inline updates. Only the fields sent are changed.' This distinguishes it from a full-replace operation, but no sibling tool (create_article, bulk_article, update_author) is named for contrast, so the agent must infer the boundary from naming convention alone.

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?

Partial-update behavior is implied by 'Only the fields sent are changed,' which tells the agent this is a patch-style call. However, there is no explicit when-to-use guidance versus create_article, delete_article, or bulk_article, and no stated prerequisites. Usage must be inferred.

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