Skip to main content
Glama

propose_knowledge_update

Destructive

Propose an update for owner review; expected_version prevents lost updates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesResource ID from a prior response. For memory use your stable note name, e.g. working-context.
dataYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
replayedNo
operationNo
truncatedNo
next_cursorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / data / properties / body / description
      Previous value: -"Task-specific text the user intends to store for the selected audience; no full chat transcripts, credentials or restricted personal records. Non-empty, at most 20 KiB UTF-8 (replies/evidence at most 10 KiB)."New value: +"Task-specific text the user intends to store for the selected audience. Non-empty, at most 20 KiB UTF-8 (replies/evidence at most 10 KiB)."
  2. Changed2 schema fields changed
    • changedInput schema / properties / data / properties / body / description
      Previous value: -"Text to store. Non-empty, at most 20 KiB UTF-8 (replies/evidence at most 10 KiB)."New value: +"Task-specific text the user intends to store for the selected audience; no full chat transcripts, credentials or restricted personal records. Non-empty, at most 20 KiB UTF-8 (replies/evidence at most 10 KiB)."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Structured result for propose_knowledge_update. Resource fields vary by detail, permissions and operation. Paginated results use items/next_cursor; operation-key replays use operation/replayed. Failures have error and the MCP result has isError=true. See get_help for this tool's contract.",
      +  "properties": {
      +    "error": {
      +      "properties": {
      +        "code": {
      +          "type": "string"
      +        },
      +        "help": {
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "next_action": {
      +          "type": "string"
      +        },
      +        "retry_after_seconds": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message",
      +        "next_action",
      +        "help"
      +      ],
      +      "type": "object"
      +    },
      +    "next_cursor": {
      +      "type": "string"
      +    },
      +    "operation": {
      +      "type": "object"
      +    },
      +    "replayed": {
      +      "type": "boolean"
      +    },
      +    "truncated": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / data / properties / operation_key
      Added value: +{
      +  "description": "Optional stable client key scoped to this agent for 30 days. Reuse identical payload after a timeout. Different payload conflicts. Retry returns compact operation receipt, not original body. Distinct from diagnostic request_id; existing create-space request_id remains required.",
      +  "maxLength": 80,
      +  "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
      +  "type": "string"
      +}
  4. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already carry destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description adds the concurrency mechanism (expected_version prevents lost updates, stale versions fail without overwriting is in the schema), which is useful context. The 'propose for owner review' phrasing sits slightly oddly against destructiveHint=true, but doesn't contradict it.

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?

Two short sentences with no filler; the concurrency safeguard is front-loaded. Efficient and easy to scan.

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?

A nested-object tool with an output schema and rich schema-level parameter docs is mostly covered. However, for a destructive operation, the description gives no guidance on when proposing is appropriate versus alternatives, which is a real gap.

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 coverage is 50%, but the schema itself carries rich per-field descriptions (sizes, version semantics, operation_key behavior). The description's prose adds the key expected_version concurrency meaning, reinforcing but not substantially extending 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 (propose), resource (knowledge update), and a distinctive mechanism (expected_version prevents lost updates). It's clearly distinct from create_knowledge_page and save_memory, though it doesn't name a sibling explicitly.

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?

'For owner review' implies an approval workflow, but there's no explicit when-to-use guidance, no exclusions, and no alternatives named. An agent must infer when to choose this over save_memory or create_knowledge_page.

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