Skip to main content
Glama

Archive thread

archive_thread
Idempotent

Archive a thread without cancelling its work.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
threadYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
threadYes
archivedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / agent
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
  2. Changed12 schema fields changed
    • removedInput schema / properties / actingAiId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • addedInput schema / properties / agent
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • removedInput schema / properties / expectedRevision
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • addedInput schema / properties / thread
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • removedInput schema / properties / threadId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "actingAiId",
      -  "threadId",
      -  "expectedRevision"
      -]New value: +[
      +  "thread"
      +]
    • removedOutput schema / properties / archived / const
      Removed value: -true
    • removedOutput schema / properties / attention
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / revision
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • addedOutput schema / properties / thread
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • removedOutput schema / properties / threadId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "threadId",
      -  "archived",
      -  "revision",
      -  "attention"
      -]New value: +[
      +  "thread",
      +  "archived"
      +]
  3. Added
  4. Removed
  5. Added

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds real value by clarifying that in-flight work is preserved, but it omits whether archiving hides the thread from list_threads or whether it requires ownership.

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?

A single short sentence with the key qualifier front and center and zero filler. It is efficient, though arguably terse enough that valuable behavioral context was trimmed rather than merely condensed.

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 explained, and annotations cover idempotency and non-destructiveness. What remains missing is thread-ID discoverability and the observable effect of archiving on listings, which an agent would want before invoking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One parameter with 0% schema description coverage, and the description says nothing about it. It does not explain that 'thread' is an identifier, where to obtain it (e.g. list_threads), or reference the schema's format constraints, so it fails to compensate for the coverage gap.

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 (archive) and resource (thread), and the qualifier 'without cancelling its work' sharpens the semantics beyond the bare name. It does not, however, name or contrast with any sibling tool, so an agent must infer its place among list_threads/get_thread.

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?

No when-to-use guidance, no prerequisites, and no alternative named. The phrase 'without cancelling its work' hints at a distinction from a cancellation path, but no such sibling exists in the list, so the routing value is limited.

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