Skip to main content
Glama

Acknowledge cooperation messages

cooperation_ack
Idempotent

Record delivery acknowledgement for private inbox messages without deleting them. Acknowledge only messages in this recipient's inbox; no permissions or claims granted.

Instructions

Record delivery processing for private inbox messages without deleting them.

Delivery acknowledgement does not accept an agreement, artifact or task and
grants no resource claim or permission. Schema: agents-core://cooperation/schema.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestYesClosed agents-core/cooperation/1 delivery acknowledgement object or raw JSON. Required protocol, repository_id, participant_id, capability, operation_id, message_ids (1..50 unique IDs). Optional subject_id (immediate parent relay only). Acknowledge only messages in this recipient's inbox. Retry an ambiguous result with the identical operation_id and body. Maximum 32768 UTF-8 bytes, depth 8; no unknown fields or duplicate keys.
workspaceNoAbsolute path of your working directory, the project this session works in. Pass it whenever you have one: one server can serve several sessions.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv26.10.16

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already cover the safety profile (destructiveHint=false, idempotentHint=true, openWorldHint=false), so the bar is lower. The description adds genuinely useful behavioral context — messages are not deleted, and the call grants no resource claim or permission — but it does not explain what state the acknowledgement actually changes or what happens on a duplicate.

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 tight sentences with the core action front-loaded and no padding. The trailing schema URI is slightly cryptic but costs almost nothing; the negation clause earns its place by preventing misuse.

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?

An output schema exists and the input schema is fully described, so the description only needs to carry the non-obvious semantics. It does that for the no-deletion/no-permission-grant traits, leaving only minor gaps around retry ambiguity and idempotency that the schema partially covers.

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%: the request object's protocol, repository_id, participant_id, capability, operation_id, message_ids limits, retry semantics and size/depth bounds are all documented in the schema. The description adds no parameter-level detail, so the baseline 3 applies.

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 ('Record delivery processing for private inbox messages') and clarifies the scope by negation — it does not consume an agreement, artifact or task. That contrast helps separate it from mutation-style siblings like cooperation_apply, though no sibling is named directly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the agent can infer it should be used to acknowledge receipt of a delivery, and the 'does not accept an agreement, artifact or task' clause implicitly routes those cases elsewhere. However, there is no explicit when-to-use/when-not-to-use guidance or named alternative tool.

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