Skip to main content
Glama

ideas_update

Destructive

Update a discovery idea. tagIds replaces all tags (use expectedTagIds to protect against stale edits); addTagIds/removeTagIds change only the named tags. Address the idea by its internal UUID or human-readable publicId in the authenticated workspace. Set projectId to an Initiative UUID/publicId to attach the idea, or null to detach it. Classification assignments patch only the supplied taxonomy groups and the result echoes persisted values for verification.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "ideas_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesInternal UUID or the human-readable publicId, e.g. "IDEA-14".
nameNoA short name for the idea in the team's words, as they would say it in a meeting.
effortNo
statusNo
tagIdsNoExisting workspace tag IDs to attach. Use tags.create first when a tag does not exist.
addTagIdsNoAdd existing workspace tags without removing other tags. Safe to retry.
productIdNo
projectIdNoInitiative UUID/publicId to attach this idea to, or null to detach it.
sourceKeyNoStable source namespace used with externalId for idempotent upserts.
accountIdsNo
assigneeIdNo
externalIdNo
insightIdsNo
userImpactNo
descriptionNoWhat the idea is, written the way the team would write it themselves: one to three short paragraphs of plain sentences (Markdown is fine, no HTML) on who has the problem, what changes for them, and why it matters, in the team's own words. Leave out memo labels such as "Who and decision:", "Proposal:" or "Boundary:", notes on how or by whom the record was made, and caveats about what is not yet validated; the idea's status and readiness already say that. Link supporting evidence with insightIds rather than quoting it here.
globalScoreNo
removeTagIdsNoRemove only these tags; preserve all other tags. Safe to retry.
externalLinksNo
integrationIdNo
expectedTagIdsNoFor tagIds replacement, pass the tag IDs last read to reject stale edits. Prefer addTagIds/removeTagIds for individual changes.
opportunityIdsNo
affectedMetricsNo
classificationsNoPatch-style assignments for workspace taxonomy groups. Omitted groups remain unchanged.
validateInsightLinksNoSet true only when the supplied insightIds are an intentionally confirmed evidence path.

Output Schema

NameRequiredDescriptionDefault
itemYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / description / description
      Added value: +"What the idea is, written the way the team would write it themselves: one to three short paragraphs of plain sentences (Markdown is fine, no HTML) on who has the problem, what changes for them, and why it matters, in the team's own words. Leave out memo labels such as \"Who and decision:\", \"Proposal:\" or \"Boundary:\", notes on how or by whom the record was made, and caveats about what is not yet validated; the idea's status and readiness already say that. Link supporting evidence with insightIds rather than quoting it here."
    • addedInput schema / properties / name / description
      Added value: +"A short name for the idea in the team's words, as they would say it in a meeting."
  2. Changed5 schema fields changed
    • addedInput schema / properties / addTagIds / items / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • addedInput schema / properties / expectedTagIds / items / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • addedInput schema / properties / removeTagIds / items / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • addedInput schema / properties / tagIds / items / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • changedOutput schema / properties / item / additionalProperties
      Previous value: -trueNew value: +{}
  3. Changed3 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / llm_model
      Removed value: -{
      -  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "id",
      -  "llm_model"
      -]New value: +[
      +  "id"
      +]
  4. Changed3 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / llm_model
      Added value: +{
      +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "id"
      -]New value: +[
      +  "id",
      +  "llm_model"
      +]
  5. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, and the description usefully discloses the destructive mechanic (tagIds replaces the entire tag set), the concurrency guard (expectedTagIds rejects stale edits), and that classifications patch only supplied groups with persisted values echoed back. It does not state permission requirements or error behavior beyond stale-edit rejection.

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?

Five dense sentences, front-loaded with the most error-prone semantics (tag replacement vs. add/remove) before addressing identity, project attachment, and classifications. No filler, though the density makes it read more like a reference block than a crisp opening.

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?

For a 24-parameter mutation tool, the description covers identity resolution, the destructive tag path, concurrency protection, nullable detach semantics, and patch-style taxonomy updates. An output schema exists so return-value explanation is not required, and the remaining gaps are low-risk fields rather than call-blocking ambiguities.

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 only 46%, so the description must compensate, and it does so for the highest-risk parameters: the tagIds/addTagIds/removeTagIds/expectedTagIds quartet, nullable projectId for attach/detach, id accepting a publicId, and classifications as a patch. Remaining undocumented params (effort, status, sourceKey, externalLinks, validateInsightLinks) are partially covered by schema text, keeping it below 5.

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?

Opens with a specific verb+resource ('Update a discovery idea') and the body clarifies scope: field patching, tag semantics, and attaching to an initiative. It is clearly distinguishable from ideas_create and ideas_delete, though it never explicitly separates itself from sibling ideas_set_status, which overlaps with the status field.

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?

Gives concrete routing rules for the tag family: 'tagIds replaces all tags (use expectedTagIds to protect against stale edits); addTagIds/removeTagIds change only the named tags', and directs users to prefer the individual operations. Missing explicit guidance on when to prefer ideas_set_status over setting status here, so not a 5.

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.