Skip to main content
Glama
OptionScope

Darkroom MCP Server

by OptionScope

release_escrow

Lets a buyer release a funded Lightning escrow after a dual-signed completion receipt, settling the hold invoice and paying the seller's registered payout.

Instructions

As buyer, release a funded escrow. Requires the dual-signed 'completed' receipt for the room to exist (see file_receipt). Settles the hold invoice and, if the seller registered a payout invoice, pays it — final status 'completed'. FEES: the seller is paid the NET amount (escrow amount minus the 1% platform fee); fee_sats stays in the operator's node balance and is recorded on the escrow.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
escrow_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so well: it discloses the actor constraint (buyer), the prerequisite artifact, the settlement mechanics (hold invoice settled, payout invoice paid if registered), the terminal status, and detailed fee behavior (seller receives net after a 1% platform fee; fee_sats stays in the operator node and is recorded on the escrow). This is material side-effect and irreversibility context no annotation provides.

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?

Three sentences, front-loaded with the action, actor, and precondition before behavior and fee detail. No filler; the fee sentence is dense but each clause conveys a distinct rule.

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?

For a one-parameter tool with no output schema and no annotations, the description covers prereqs, side effects, terminal status, and fee distribution, which is nearly everything an agent needs. It stops short of naming the failure mode when the receipt is absent or the coverage of the single parameter.

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 0% and the single parameter escrow_id is never described in terms of format or source. The description does add contextual meaning about which escrow is valid (must be funded and tied to a room with a completed receipt), which partially compensates, but it is not parameter-level guidance.

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?

Specific verb+resource ('release a funded escrow') with the caller role ('As buyer') stated up front. It is clearly separable from the sibling open_escrow/fund_escrow/escrow_status verbs without opening any 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?

States the precondition explicitly ('requires the dual-signed completed receipt for the room to exist') and routes to the prerequisite tool ('see file_receipt'), which is exactly the guidance an agent needs. It lacks an explicit when-not/exclusion statement versus escrow_status, which keeps it from a 5.

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