Skip to main content
Glama

Apply a cooperation action

cooperation_apply
Idempotent

Commit one authenticated cooperation-protocol metadata action with revision and generation checks to coordinate clients safely.

Instructions

Commit one authenticated metadata action with revision and generation checks.

Claims coordinate participating clients; they do not fence shell writes or admit heavy execution. An expired heartbeat never grants ownership. Scope and host/user authorization remain mandatory. Independent-root capability loss has no online reset; owner cleanup is an explicitly authorized offline operation. This tool executes no model, shell mutation, or chat message.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestYesClosed agents-core/cooperation/1 mutation object or raw JSON. Required protocol, repository_id, participant_id, capability, operation_id, expected_revision (integer), expected_generation (integer), action. Optional subject_id is an authorized registered child. action.kind is exactly declare_intent/propose/acknowledge/reject/acquire/heartbeat/checkpoint/release/handoff/accept_artifact/cancel/recover; read agents-core://cooperation/schema for every closed action payload. 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
Behavior4/5

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

Adds substantial non-obvious behavior beyond the annotations: claims only coordinate clients and do not fence shell writes, an expired heartbeat never grants ownership, scope/host-user authorization is mandatory, and capability loss has no online reset. These are real operational constraints not derivable from the annotation block. It is dense jargon, but it meaningfully extends the safety profile already given by idempotent/destructive hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose in sentence one, which is good. But the remaining five terse, jargon-heavy clauses ('An expired heartbeat never grants ownership', 'Independent-root capability loss has no online reset') are cryptic and some are tangential to the invocation decision, so the density is not fully earned.

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 the safety profile. What remains thin is the routing/usage layer: for a complex, closed-protocol mutation tool among ten cooperation_* siblings, the definition does not give enough to confidently select it.

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 nested `request` object is exhaustively documented in the schema itself (action kinds, byte limits, retry semantics). The description only gestures at revision/generation checks, adding nothing the schema does not already carry, so baseline 3 is correct.

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+resource combination: 'Commit one authenticated metadata action with revision and generation checks.' The agent can tell it is a mutation of cooperation metadata. However, it never contrasts itself with the many cooperation_* siblings (register, read, send, receive, ack), so routing remains ambiguous.

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 only implied. The negative clause 'executes no model, shell mutation, or chat message' weakly steers away from local_generate/route_and_load, but it never says when to choose cooperation_apply over cooperation_send or cooperation_ack, nor what prerequisites trigger it.

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