Skip to main content
Glama

Update project

update_project
Idempotent

Change a project's title and description without altering its key; omitted fields stay unchanged, and edits are logged as field_changed entries.

Instructions

Changes a project's title and description; a field left out stays. The key never changes. Each changed field files a field_changed entry with the previous and the new value in the project's case; a value equal to the current one files nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesProject key, case-insensitive. An unknown key is refused with `project_not_found`
titleNoNew title; when left out, the title stays
descriptionNoNew description, up to 320 characters after trimming (`project_description_too_long` otherwise); when left out, the description stays

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.2

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so safety is covered. The description adds genuinely non-obvious behavior beyond that: omitted fields are untouched, the key is immutable, and each changed field files a field_changed entry recording old and new values, with no entry for no-op values. It does not cover permissions or behavior on archived projects, so not 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?

Two sentences, zero filler, and the mutation/secondary-effect facts are front-loaded before the audit-trail detail. Every clause carries distinct information.

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

Completeness5/5

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

An output schema exists, so return values need no explanation. For a simple field-update tool with annotations covering the safety profile and a fully documented schema, the description supplies all remaining context an agent needs: partial-update semantics, key immutability, and the journal side effect.

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 coverage is 100%, so the baseline is 3, and the schema already documents the null/default omission semantics for title and description. The description adds one piece of meaning the schema lacks: the key never changes, i.e. it is an immutable selector. That is a small but real increment above the 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?

States a specific verb (changes) and resource scope (a project's title and description), so an agent can tell it mutates an existing project rather than creating one. It does not explicitly contrast itself with adjacent siblings such as set_attribute or archive_project, but the purpose itself 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 Guidelines3/5

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

Usage is only implied: you call this to rename/re-describe an existing project. There is no when-to-use versus when-not guidance, no mention of alternatives like set_attribute for non-title/description fields, and no statement about prerequisites such as project state. Adequate but clearly gapped.

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