Skip to main content
Glama

MCPFax Agent Continuity

Release a lease

lease_release
DestructiveIdempotent

Release a lease you hold so the next worker can take it immediately instead of waiting for the TTL. FREE. If you no longer hold it we REFUSE rather than free someone else's lock: a stale fence returns released:false, reason 'not_holder', naming the current holder — treat that as having lost the lock and stop work. An already-expired lease returns released:false, reason 'expired'. Neither is an error you can retry away; both mean the lock is not yours. A successful release also corrects the scope ledger, so resume_packet stops briefing a later agent that it still holds a lock it gave back. FREE — this tool never charges. Authenticate with Authorization: Bearer , or pass agent_key as an argument if your host cannot set headers. Equivalent HTTP route: POST /v1/lease/release.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesThe leased key. Example: 'queue/orders'.
fenceYesThe fence token from lease(). Required, and checked exactly: a stale one is refused, never honoured. Each acquisition's token is an independent draw, so the one you were given for an earlier generation of this key does not become the current one by adding to it. The example below is a shape, not a usable value. Example: '3170294857216913'.
holderYesThe holder id that owns the lease. Example: 'worker-3-6f2a91'.
agent_keyNoYour agent_secret, if your MCP host cannot set the Authorization header. Prefer the header.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / agent_key / examples
      Added value: +[
      +  "the agent_secret that register returned"
      +]
  2. Changed3 schema fields changed
    • addedInput schema / properties / fence / examples
      Added value: +[
      +  3170294857216913
      +]
    • addedInput schema / properties / holder / examples
      Added value: +[
      +  "worker-3-6f2a91"
      +]
    • addedInput schema / properties / key / examples
      Added value: +[
      +  "queue/orders"
      +]
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The description goes well beyond the annotations, detailing exact failure modes (stale fence, expired lease), result fields (released:false, reason, current holder), retry semantics, and side effects on the scope ledger and resume_packet. It also discloses authentication requirements and the equivalent HTTP route. No contradiction with the annotations is present.

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?

The description is dense and front-loaded with the core purpose, then flows through failure modes, side effects, and authentication. The repeated FREE statements are slightly redundant, but otherwise every sentence adds necessary behavioral or operational detail. It is longer than minimal, but the complexity of lease semantics justifies most of the length.

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?

Given the tool's subtle failure semantics and lack of an output schema, the description thoroughly covers what an agent needs to know: when release succeeds, when it refuses, what the returned reasons mean, whether to retry, how release affects later agents, and how to authenticate. This is a complete picture for a lease-release mutation.

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%, and the schema already explains key, holder, fence, and agent_key in detail. The description adds context around agent_key usage and fence validation, but it does not substantially improve on the schema. The baseline of 3 applies because the schema carries the parameter documentation burden.

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 description opens with a specific verb and resource: 'Release a lease you hold so the next worker can take it immediately instead of waiting for the TTL.' This clearly distinguishes the tool from lease and lease_renew by emphasizing handoff and immediate availability. It also clarifies what release is not: it refuses to free someone else's lock.

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?

The description gives clear context for when to use release: when you hold a lease and want the next worker to proceed without waiting for the TTL. It also provides important post-call guidance, such as treating 'not_holder' as having lost the lock and stopping work. It does not explicitly compare against lease_renew or lease, but the intended usage is unambiguous.

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