Skip to main content
Glama

create_deal

Create a fairness deal. You are party 0 (initiator). Returns a deal id and one invite token per party — give each counterparty their own token. Sealed mode: everyone commits a hash, then reveals; certificate is issued automatically when the deal computes or goes VOID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo"sealed" (default, commit/reveal) or "open" (single round trip, low stakes).
api_keyYesYour redeal API key (get one free with create_key — no signup form).
algorithmYesAlgorithm id from list_algorithms: "split.v1" (fixed 1,000-point budget) | "random.v1" | "shapley.v1" | "auction.v1".
retentionNo"standard" (inputs retained encrypted) or "purge" (destroyed 7 days after certification).
supersedesNoOptional: certificate id (c_<16 hex>) this deal's certificate replaces (re-draw after VOID etc.).
terms_hashNoOptional: "sha256:<hex>" of the deal's terms (echoed into the certificate; we never see the terms).
visibilityNoOptional: "public" (default — anyone can fetch the certificate at its id) or "parties" (only you and your invite-token holders). Certificates never contain inputs, only the outcome; choose "parties" when the outcome itself is sensitive.
external_refNoOptional: your own identifier for this deal, e.g. "campaign-4821" (echoed into the certificate).
party_labelsYesOne label per party, e.g. ["alice", "bob"] — or objects {"label", "weight"?, "statement_hash"?} (weight defaults to 1; statement_hash is "sha256:<hex>" of a declaration you want bound into the certificate). Party 0 is you (the initiator). Labels go on the public certificate permanently: use nicknames, never real names or emails.
commit_deadlineYesCommit deadline as unix seconds UTC. Missed → deal EXPIRES (no certificate).
idempotency_keyNoOptional: retries with the same key + same arguments replay the original response.
reveal_deadlineYesReveal deadline as unix seconds UTC (after commit_deadline). Missed → deal goes VOID and a non-participation certificate names whoever didn't reveal.
algorithm_paramsNoAlgorithm-specific params from list_algorithms. split.v1: {"items": [...]}; random.v1: {"drand_round": N}; shapley.v1: {"coalition_values": {...}}; auction.v1: {"item": "...", "unit": "GBP", "reserve": N}.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden and does add useful context: it returns a deal id and per-party tokens, and it explains the sealed-mode commit/reveal flow and automatic certification. However, it omits other behavioral traits like error/expiry outcomes, idempotency behavior, or the public persistence of party labels.

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 description is compact and front-loaded: it states the core action, the caller's role, the return value, and the key sealed-mode flow in four short sentences. Every sentence contributes meaningful, non-redundant information.

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?

For a 13-parameter mutation tool with no output schema and no annotations, the description covers the core outcome and sealed-mode behavior but leaves gaps around open mode, deadling consequences, and post-creation steps. It is adequate for orientation but not fully complete for a tool of this complexity.

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%, so the schema already explains every parameter. The description adds minimal parameter-related meaning beyond tying party_labels to "party 0" and token distribution, which the schema also mentions. This meets the baseline but does not elevate it.

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 the specific verb+resource: "Create a fairness deal." It also establishes the caller's role as "party 0 (initiator)" and clarifies the tool's outputs (deal id and invite tokens), clearly distinguishing it from siblings like get_deal, commit_input, or create_key.

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

Usage Guidelines2/5

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

There is no explicit guidance about when to use this tool versus alternatives. While "initiator" and "give each counterparty their own token" imply a workflow, the description never states prerequisites, sequencing with commit_input/reveal_input, or exclusions such as when open mode would be preferable.

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.

TDQS

A4.1/5.0
Disambiguation4/5

The core lifecycle tools (create_deal, commit_input, reveal_input, get_deal) are clearly distinct, and validate_input, compute_commitment_tool, and list_algorithms each serve unique steps. The certificate trio (get_certificate, get_public_certificate, verify_certificate) creates some ambiguity because two are fetch-style and one is verify-style, but their descriptions are strong enough to disambiguate in most contexts.

Naming Consistency4/5

Most tools follow a consistent verb_noun snake_case pattern: create_deal, get_deal, commit_input, reveal_input, verify_certificate. The deviations are minor but noticeable: compute_commitment_tool appends an awkward '_tool' suffix, and get_entropy describes a domain-specific action rather than a clean action_object.

Tool Count5/5

Twelve tools is well-scoped for a domain covering onboarding, algorithm discovery, deal creation, sealed commitment/reveal, entropy finalization, and certificate verification. Each tool maps to a distinct workflow step, and none feel redundant or purely decorative.

Completeness4/5

The main path from create_key and list_algorithms through validate, commit, reveal, get_entropy, and certificate verification is fully covered, and VOID/EXPIRED states handle abandoned deals. Minor gaps include no explicit cancel/abort tool and no clear representation of public versus parties-only deals in the create_deal description.