Skip to main content
Glama

save_project

Destructive

Create or update a PickFu project. Omit id to create; include id to update. Only provided fields are changed.

Input Schema

NameRequiredDescriptionDefault
idNoProject GUID to update. Omit to create a new project.
goalNoProject goal (update only); null clears it.
nameNoProject name
archiveNoArchive the project (update only)
bookmarkNoBookmark the project (update only)
descriptionNoProject description; null clears it.
idNamespaceNoIdentifier namespace. Omit for historical/canonical lookup; choose canonical or legacyGuid to disambiguate an owned collision. legacyNumber uses a positive decimal database id.

Output Schema

NameRequiredDescriptionDefault
dataNo
successNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / description / anyOf
      Added value: +[
      +  {
      +    "maxLength": 5000,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / description / description
      Previous value: -"Project description"New value: +"Project description; null clears it."
    • removedInput schema / properties / description / maxLength
      Removed value: -5000
    • removedInput schema / properties / description / type
      Removed value: -"string"
    • addedInput schema / properties / goal / anyOf
      Added value: +[
      +  {
      +    "maxLength": 5000,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / goal / description
      Previous value: -"Project goal (update only)"New value: +"Project goal (update only); null clears it."
    • removedInput schema / properties / goal / maxLength
      Removed value: -5000
    • removedInput schema / properties / goal / type
      Removed value: -"string"
    • addedInput schema / properties / idNamespace
      Added value: +{
      +  "description": "Identifier namespace. Omit for historical/canonical lookup; choose canonical or legacyGuid to disambiguate an owned collision. legacyNumber uses a positive decimal database id.",
      +  "enum": [
      +    "canonical",
      +    "legacyGuid",
      +    "legacyNumber",
      +    "unclassified"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds genuinely useful patch semantics ("Only provided fields are changed"), but it does not disclose the destructive paths the annotations warn about, such as archiving/bookmarking a project or null-clearing goal and description, and says nothing about permissions.

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, no filler, and the create-vs-update fork is front-loaded right after the purpose statement. Every clause carries operative information for the caller.

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?

An output schema exists, so return values need not be described, and annotations carry the safety profile. However, a 7-parameter tool with zero required parameters leaves open questions the description does not resolve: whether name is needed to create, how idNamespace should be chosen on update, and what happens to unmentioned fields such as archive.

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%, with id, goal, name, archive, bookmark, description and idNamespace all documented inline, including the null-clears behavior for goal and description. The description reinforces the id semantics but adds no meaning beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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?

The description gives a specific verb and resource ("Create or update a PickFu project") and immediately splits the two modes by id presence, so an agent knows exactly which operation it will perform. It does not name or differentiate itself from the closely related sibling save_survey, which is the main thing keeping it from a 5.

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

Usage Guidelines4/5

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

"Omit id to create; include id to update" is an explicit, actionable rule for choosing between the tool's two modes, and "Only provided fields are changed" clarifies that omitted fields are left alone. It stops short of naming alternatives (save_survey) or stating prerequisites such as which fields are needed for a valid creation.

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.

Resources