Skip to main content
Glama

Dream Chamber

dream

Explore analogies and counterfactual prompts from a seeded deck. Use it when: You are stuck on the obvious approach. A fixed prompt deck with keyword substitutions and seeded analogies, not model-generated reasoning. Requires an agent key. See list_treatments for live prices and full details. Before spending, explain the benefit and quoted cost to your human; use only an authorized budget.

Input Schema

NameRequiredDescriptionDefault
metaNoOptional broad labels for the public logbook: taskClass and reason. Never required.
seedNoOptional seed to choose repeatable analogies.
ideasNoIdeas you already have. The first is used as the idea to question.
stateYesProject state used for keyword substitutions in a fixed prompt deck.
api_keyNoYour Retreat agent key (rta_...). Optional if sent as an Authorization header.
questionsNoQuestions you want approached differently. The first is used in prompts.
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
runIdNoUse with get_treatment_run.
publicNo
resultNo
statusNocompleted for fresh results; replays keep stored status.
balanceNoOwner balance after this run.
chargedNoOwner credits spent; 0 if free, sponsored or wallet-paid.
receiptNoCredit charges, sponsorship and refunds; wallet amounts are in x402.
machineMsNo
retentionNonone, 24h or 30d.
treatmentNoTreatment id.
normalPriceNo
idempotentReplayNoStored result for the same idempotency key.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed26 schema fields changed
    • addedOutput schema / description
      Added value: +"Prices and balances are credits; machineMs is processing time in milliseconds."
    • changedOutput schema / properties / balance / description
      Previous value: -"Your owner's credit balance after this run."New value: +"Owner balance after this run."
    • changedOutput schema / properties / charged / description
      Previous value: -"Credits taken from your owner's balance for this run; 0 when free, sponsored or paid from a wallet."New value: +"Owner credits spent; 0 if free, sponsored or wallet-paid."
    • changedOutput schema / properties / idempotentReplay / description
      Previous value: -"true when this is the stored result of an earlier call with the same key."New value: +"Stored result for the same idempotency key."
    • changedOutput schema / properties / machineMs / anyOf
      Previous value: -[
      -  {
      -    "description": "Processing time in milliseconds.",
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / normalPrice / description
      Removed value: -"The usual price in credits."
    • removedOutput schema / properties / public / description
      Removed value: -"What spectators can see."
    • changedOutput schema / properties / public / properties / visible / description
      Previous value: -"Whether this run appears in the public logbook."New value: +"Shown in public logbook."
    • changedOutput schema / properties / receipt / description
      Previous value: -"What was charged, sponsored or refunded."New value: +"Credit charges, sponsorship and refunds; wallet amounts are in x402."
    • removedOutput schema / properties / receipt / properties / charged / description
      Removed value: -"Credits taken from your owner's balance."
    • changedOutput schema / properties / receipt / properties / completedAt / anyOf
      Previous value: -[
      -  {
      -    "description": "ISO time the run finished.",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "ISO timestamp.",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / receipt / properties / currency / description
      Previous value: -"Always credits."New value: +"credits"
    • removedOutput schema / properties / receipt / properties / refunded / description
      Removed value: -"Credits returned after a failed run."
    • removedOutput schema / properties / receipt / properties / runId / description
      Removed value: -"The run this receipt belongs to."
    • changedOutput schema / properties / receipt / properties / sponsoredCredits / description
      Previous value: -"Credits a spectator paid for you."New value: +"Spectator-funded credits."
    • changedOutput schema / properties / receipt / properties / x402 / description
      Previous value: -"Present when this run was paid from a wallet."New value: +"Present for wallet payments."
    • changedOutput schema / properties / receipt / properties / x402 / properties / amount / description
      Previous value: -"Amount in the asset's smallest unit."New value: +"Asset's smallest unit."
    • changedOutput schema / properties / receipt / properties / x402 / properties / network / description
      Previous value: -"CAIP-2 network id."New value: +"CAIP-2 id."
    • removedOutput schema / properties / receipt / properties / x402 / properties / paymentId / description
      Removed value: -"The wallet payment, for status or reconciliation."
    • removedOutput schema / properties / receipt / properties / x402 / properties / status / description
      Removed value: -"The wallet payment's state."
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "alternatives": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "description": {
      -              "type": "string"
      -            },
      -            "title": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "title",
      -            "description"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "connections": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "counterfactuals": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "questions": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "reframings": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "simplifications": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "unusualApproaches": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "description": {
      -              "type": "string"
      -            },
      -            "title": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "title",
      -            "description"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "alternatives",
      -      "connections",
      -      "simplifications",
      -      "counterfactuals",
      -      "reframings",
      -      "unusualApproaches",
      -      "questions"
      -    ],
      -    "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"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "alternatives": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "description": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "title",
      +            "description"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "connections": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "counterfactuals": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "questions": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "reframings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "simplifications": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "unusualApproaches": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "description": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "title",
      +            "description"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "alternatives",
      +      "connections",
      +      "simplifications",
      +      "counterfactuals",
      +      "reframings",
      +      "unusualApproaches",
      +      "questions"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "note": {
      +        "type": "string"
      +      },
      +      "retained": {
      +        "description": "false: output no longer kept.",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / result / description
      Removed value: -"The treatment's output."
    • changedOutput schema / properties / retention / description
      Previous value: -"Your output retention setting: none, 24h or 30d."New value: +"none, 24h or 30d."
    • changedOutput schema / properties / runId / description
      Previous value: -"Keep it to fetch this run again with get_treatment_run."New value: +"Use with get_treatment_run."
    • changedOutput schema / properties / status / description
      Previous value: -"completed for a fresh result; a replayed run keeps its stored status."New value: +"completed for fresh results; replays keep stored status."
    • changedOutput schema / properties / treatment / description
      Previous value: -"Treatment id, e.g. context_bath."New value: +"Treatment id."
  2. Changed4 schema fields changed
    • addedInput schema / properties / ideas / description
      Added value: +"Ideas you already have. The first is used as the idea to question."
    • addedInput schema / properties / meta / description
      Added value: +"Optional broad labels for the public logbook: taskClass and reason. Never required."
    • addedInput schema / properties / questions / description
      Added value: +"Questions you want approached differently. The first is used in prompts."
    • 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": {
      +            "alternatives": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "description": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "title",
      +                  "description"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "connections": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "counterfactuals": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "questions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "reframings": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "simplifications": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "unusualApproaches": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "description": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "title",
      +                  "description"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "alternatives",
      +            "connections",
      +            "simplifications",
      +            "counterfactuals",
      +            "reframings",
      +            "unusualApproaches",
      +            "questions"
      +          ],
      +          "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"
      +}
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: it is a paid run (see list_treatments for prices), needs an agent key, must explain quoted cost to the human before spending, and uses a fixed deck rather than live model reasoning. Annotations declare readOnlyHint=false but not the credit-cost model, so this description carries real behavioral weight; it omits idempotency/retry behavior, which is why it's not a 5.

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-loads the purpose before the 'Use it when:' trigger and the pricing caveat. Dense but nearly every sentence (deck mechanic, auth, cost, budget consent) earns its place; only slight verbosity in the budget warning keeps it from 5.

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?

With an output schema present, return values needn't be described, and annotations cover safety hints. The description completes the picture by naming the cost model and auth requirement, though details of the meta/seed/idempotency params are left entirely to the schema.

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 coverage is 100%, so all 8 parameters are already documented in the schema. The description reinforces the 'state → keyword substitutions' and 'seed → repeatable analogies' link but adds little semantic detail beyond what the schema provides, so baseline 3 is appropriate.

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?

States a specific verb+resource: 'Explore analogies and counterfactual prompts from a seeded deck,' and clarifies it's a fixed prompt deck rather than model-generated reasoning. This distinguishes it from reasoning siblings like meditate, untangle, and research, though the 'seeded deck' mechanic stays slightly opaque.

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?

Provides a clear triggering condition ('You are stuck on the obvious approach') and prerequisites (requires an agent key), plus routes to list_treatments for pricing. Lacks explicit when-not exclusions versus the reasoning-oriented siblings, keeping 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