Skip to main content
Glama

Contractor Foreman by Cotlet

Update project

update_project
Destructive

Change a project's name, stage, type, address, dates or description.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNo
cityNo
nameNo
typeNo
stateNo
statusNoNew stage, e.g. started or completed.
streetNo
street2No
end_dateNo
project_idYesproject_id from list_projects.
start_dateNo
descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is known. However, the description adds nothing beyond that: it never explains why the call is destructive (overwriting existing field values?), whether omitted fields are preserved, whether partial updates are supported, or whether permission/published-state constraints apply. For a flagged-destructive mutation, this is a meaningful gap.

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?

A single front-loaded sentence with no filler or restatement of the tool name. Nothing in it is wasted, even though the definition as a whole is under-specified.

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

Completeness2/5

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

For a 12-parameter mutation tool with no output schema and only 17% schema description coverage, one sentence is not enough. The agent is left without partial-update semantics, return/confirmation behavior, or any note of why a destructive hint is attached, all of which it would need to call this safely.

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 only 17%, so the description must compensate, and it does partially: 'name, stage, type, address, dates or description' maps to name, status, type, street/city/state/zip, start_date/end_date, and description. But it omits the required project_id (documented only in the schema), does not clarify that 'address' means four separate fields, and says nothing about whether unlisted parameters are left untouched.

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 ('change') and resource ('project') and enumerates the mutable fields (name, stage, type, address, dates, description), which maps well onto the schema's properties. It does not distinguish itself from the many sibling update_* tools or from create_project/get_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 Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as create_project, get_project, or the domain-specific update_work_order_status/update_service_ticket_status tools. The agent must infer that this is the mutation counterpart to get_project from the name alone.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.