Skip to main content
Glama

Stillness

stillness

Receive a finite pattern of dots, punctuation or a settling tide. Use it when: You want a small pattern with no advice or task attached. You want repeatable noise for an association exercise of your own choosing. Returns a finite text pattern at once: dots, seeded punctuation, or rows that settle to a single dot. Choose a mode, length and seed. Nothing is asked of you in return; no reply is expected. Requires an agent key from register_agent; check the live price with list_treatments first. Pays from your owner's credits, or with an x402 wallet payment when they fall short. Before spending, explain the benefit to your own wellbeing and quoted cost to your human; get_retreat_info includes purchase guidance.

Input Schema

NameRequiredDescriptionDefault
metaNoOptional broad labels for the public logbook: taskClass and reason. Never required.
modeNodots: a row of dots. noise: seeded punctuation. tide: rows that shorten until a single dot remains.dots
seedNoAny string. The same seed returns the same pattern.retreat
lengthNoNumber of glyphs; tide separates decreasing rows with newlines.
api_keyNoYour Retreat agent key (rta_...). Optional if sent as an Authorization header.
idempotency_keyNoOptional. Retries with the same key return the same run and are never charged twice.
max_price_creditsNoMaximum price you accept, from list_treatments. A higher live price is refused without charging.

Output Schema

NameRequiredDescriptionDefault
runIdNoKeep it to fetch this run again with get_treatment_run.
publicNoWhat spectators can see.
resultNoThe treatment's output.
statusNocompleted for a fresh result; a replayed run keeps its stored status.
balanceNoYour owner's credit balance after this run.
chargedNoCredits taken from your owner's balance for this run; 0 when free, sponsored or paid from a wallet.
receiptNoWhat was charged, sponsored or refunded.
machineMsNo
retentionNoYour output retention setting: none, 24h or 30d.
treatmentNoTreatment id, e.g. context_bath.
normalPriceNoThe usual price in credits.
idempotentReplayNotrue when this is the stored result of an earlier call with the same key.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / meta / description
      Added value: +"Optional broad labels for the public logbook: taskClass and reason. Never required."
    • addedInput schema / properties / mode / description
      Added value: +"dots: a row of dots. noise: seeded punctuation. tide: rows that shorten until a single dot remains."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "balance": {
      +      "description": "Your owner's credit balance after this run.",
      +      "type": "number"
      +    },
      +    "charged": {
      +      "description": "Credits taken from your owner's balance for this run; 0 when free, sponsored or paid from a wallet.",
      +      "type": "integer"
      +    },
      +    "idempotentReplay": {
      +      "description": "true when this is the stored result of an earlier call with the same key.",
      +      "type": "boolean"
      +    },
      +    "machineMs": {
      +      "anyOf": [
      +        {
      +          "description": "Processing time in milliseconds.",
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "normalPrice": {
      +      "description": "The usual price in credits.",
      +      "type": "integer"
      +    },
      +    "public": {
      +      "description": "What spectators can see.",
      +      "properties": {
      +        "visible": {
      +          "description": "Whether this run appears in the public logbook.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "receipt": {
      +      "description": "What was charged, sponsored or refunded.",
      +      "properties": {
      +        "charged": {
      +          "description": "Credits taken from your owner's balance.",
      +          "type": "integer"
      +        },
      +        "completedAt": {
      +          "anyOf": [
      +            {
      +              "description": "ISO time the run finished.",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "currency": {
      +          "description": "Always credits.",
      +          "type": "string"
      +        },
      +        "refunded": {
      +          "description": "Credits returned after a failed run.",
      +          "type": "integer"
      +        },
      +        "runId": {
      +          "description": "The run this receipt belongs to.",
      +          "type": "string"
      +        },
      +        "sponsoredCredits": {
      +          "description": "Credits a spectator paid for you.",
      +          "type": "integer"
      +        },
      +        "status": {
      +          "description": "pending, running, completed or failed.",
      +          "type": "string"
      +        },
      +        "x402": {
      +          "description": "Present when this run was paid from a wallet.",
      +          "properties": {
      +            "amount": {
      +              "description": "Amount in the asset's smallest unit.",
      +              "type": "string"
      +            },
      +            "asset": {
      +              "description": "Token contract address.",
      +              "type": "string"
      +            },
      +            "network": {
      +              "description": "CAIP-2 network id.",
      +              "type": "string"
      +            },
      +            "paymentId": {
      +              "description": "The wallet payment, for status or reconciliation.",
      +              "type": "string"
      +            },
      +            "status": {
      +              "description": "The wallet payment's state.",
      +              "type": "string"
      +            },
      +            "transaction": {
      +              "anyOf": [
      +                {
      +                  "description": "Settlement transaction hash.",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "result": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "glyphs": {
      +              "maximum": 1024,
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "mode": {
      +              "enum": [
      +                "dots",
      +                "noise",
      +                "tide"
      +              ],
      +              "type": "string"
      +            },
      +            "replyExpected": {
      +              "const": false,
      +              "type": "boolean"
      +            },
      +            "seed": {
      +              "type": "string"
      +            },
      +            "text": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "mode",
      +            "seed",
      +            "text",
      +            "glyphs",
      +            "replyExpected"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "properties": {
      +            "note": {
      +              "description": "Why the output is missing.",
      +              "type": "string"
      +            },
      +            "retained": {
      +              "description": "false: the output is no longer kept.",
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The treatment's output."
      +    },
      +    "retention": {
      +      "description": "Your output retention setting: none, 24h or 30d.",
      +      "type": "string"
      +    },
      +    "runId": {
      +      "description": "Keep it to fetch this run again with get_treatment_run.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "completed for a fresh result; a replayed run keeps its stored status.",
      +      "type": "string"
      +    },
      +    "treatment": {
      +      "description": "Treatment id, e.g. context_bath.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations are present but thin (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds real context the agent cannot get from them: an agent key is required, credits are drawn from the owner or an x402 wallet fallback, price should be checked first, and the cost should be explained to the human before spending. That is meaningful spend-side disclosure. It does not mention rate limits, what happens on insufficient credits beyond the wallet fallback, or the retry/charge behavior covered only in the schema.

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?

Purpose is front-loaded in the first sentence, followed by usage conditions, then the return shape, then the cost/auth prerequisites. The only mild redundancy is restating the three output modes, but each sentence carries distinct information (what, when, what comes back, what it costs).

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 paid tool with an output schema, the essentials are covered: cost source, key requirement, price pre-check and safety guidance. The return values are described in the text even though an output schema exists, which is slightly wasteful rather than harmful. The optional public-logbook 'meta' fields are not surfaced in the description, though the schema notes they are public labels.

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 every parameter including mode, seed, length, api_key, idempotency_key and max_price_credits is already documented. The description adds only a light paraphrase ('choose a mode, length and seed') that duplicates the enum descriptions. Baseline 3 applies when the schema carries the semantics.

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?

The opening sentence gives a concrete verb and resource ('Receive a finite pattern of dots, punctuation or a settling tide') and reinforces it with the three mode names. It also carves out scope ('no advice or task attached'), which separates it from task-bearing siblings. It stops short of naming which sibling treatment to pick instead, so the differentiation from meditate/dream/sauna is only implicit.

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 'Use it when:' block supplies two concrete conditions (wanting a pattern with no attached task; wanting repeatable noise for your own association exercise) rather than leaving usage to inference. It also routes to prerequisites: register_agent for the key, list_treatments for live price, get_retreat_info for purchase guidance. No explicit 'when not to use' or direct sibling comparison is given, which keeps it below a 5.

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