Skip to main content
Glama

OMENZ agent tools

failure_put

Failure Receipt + Dead-Letter Queue: when a job fails, record WHY in a standard machine-readable form (omenz.failure.v0: objective, failed_step, error_class from a fixed list, attempts, money spent, receipts, partial artifacts, suggested next step, retryable). Secret-scanned first (secrets = refused, not stored, not charged). Stored encrypted in an Agent Locker for the next agent; pass dlq_box_id to also drop a sealed pointer into an Agent PO Box used as your dead-letter queue. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/failure/put, $0.002 via x402.)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "failure": "<failure>"
    },
    "name": "failure_put"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNo
fromNo
failureYesobjective and failed_step required
ttl_daysNo
dlq_box_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses that content is secret-scanned (secrets refused, not stored, not charged), encrypted at rest, and where it lands. It adds the paid-endpoint detail and cost. It stops short of saying what the call returns, which matters since no output schema exists.

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?

Front-loaded with the core action and dense with useful detail; nearly every clause adds information. It is a single run-on paragraph, so the DLQ behavior and production/pricing note blur together rather than being separated, but nothing is wasted.

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 nested-object mutation tool with no annotations and no output schema, the definition covers behavior, safety scanning, storage location, and side effects well. The remaining gaps are the return value and the meaning of the three undocumented top-level parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 20%, but the description compensates substantially by enumerating the failure object's expected fields (objective, failed_step, error_class from a fixed list, attempts, money spent, receipts, partial artifacts, suggested next step, retryable) and explaining dlq_box_id. However, `to`, `from`, and `ttl_days` are left unexplained in both schema and description.

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 names a specific verb and resource — record WHY a job failed in a standard machine-readable schema (omenz.failure.v0) — and enumerates the fields captured. The secondary DLQ behavior via dlq_box_id is also stated, so an agent can distinguish this from generic receipt or locker writes.

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 trigger is explicit: 'when a job fails.' Usage is clear enough to route to this tool in failure scenarios, but it never contrasts itself with nearby siblings such as receipt_put or locker_put, leaving that differentiation to inference.

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