Skip to main content
Glama

Archive Conversation

archive_conversation
Idempotent

Archive a LinkedIn messaging thread by ID, including InMail, while leaving already archived threads unchanged. Confirm the change and restore the thread to the inbox when a new message arrives.

Instructions

Archive one LinkedIn messaging thread, InMail included, by thread ID.

Opens the thread, which marks it read, and chooses Archive from its options menu. A thread LinkedIn already files as archived is left alone and reported already_archived, so a repeated call clicks nothing. The change is confirmed by loading the thread again. Reversible on LinkedIn; a new message moves the thread back to the inbox.

Input Schema

NameRequiredDescriptionDefault
thread_idYesLinkedIn messaging thread ID, as get_inbox, search_conversations or get_conversation return it

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.29.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (which only declare non-readonly, idempotent, non-destructive, open-world), the description discloses a non-obvious side effect — opening the thread marks it read — plus the idempotency mechanism, post-action verification by reloading the thread, reversibility, and the fact that a new message returns the thread to the inbox. This is exactly the behavioral context an agent needs before mutating state.

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?

The action and target are front-loaded in the first sentence, followed by mechanics, idempotency, verification, and reversibility in that order. There is no filler; every sentence contributes operational information.

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

Completeness5/5

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

For a one-parameter mutation tool with annotations and an output schema, the description covers the preconditions (thread ID), the side effect (marked read), the outcome (already_archived), and reversibility. Return-value details are unnecessary because an output schema exists.

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 100% and the single thread_id parameter is already documented with its source tools (get_inbox, search_conversations, get_conversation). The description adds only 'by thread ID', which restates the schema rather than extending it — baseline 3 for a fully documented single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource — 'Archive one LinkedIn messaging thread, InMail included, by thread ID' — and scopes it to a single thread. An agent can distinguish it from get_inbox, get_conversation, and search_conversations without consulting the schema.

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?

It gives clear operational context: repeated calls on already-archived threads click nothing and return already_archived. It does not explicitly name which sibling to use instead when the goal is reading (get_conversation) or replying (reply_to_conversation), so routing is implied rather than spelled out.

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