Skip to main content
Glama

list_domains

Read-onlyIdempotent

Lists every domain path with counts and latest activity, so agents can discover scopes actually in use and choose one to warm up rather than guessing.

Instructions

List the domain tree: every path with its counts and latest activity.

Warm-up discovery. domain is free text and drifts over time (e.g. 'proj-1042' vs 'proj-1042-cache-warmup'), so this surfaces the paths actually in use instead of leaving you to guess one. Ordered by most recent activity.

Per entry: domain (the full path), parent, depth, count (filed at exactly this path), subtree (that plus everything nested under it), children, and implicit -- true for a level that exists only because something deeper is filed under it. Read subtree to pick the scope worth warming up: a parent holding nothing of its own can still be where the work is.

also and subtree_also are the same two counts for memories CROSS-LISTED here rather than filed here -- the cross-cutting subjects. A path with count 0 and also above it is one of those and nothing else: an end-to-end flow whose steps all live under other branches. Reads scoped to it return them all.

Casing may be enforced store-wide -- call get_domain_case() to see the active policy before coining a new domain.

Input Schema

NameRequiredDescriptionDefault
offsetNowhere the page starts; `next_offset`, when present, starts the next.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.16.1
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "where the page starts; `next_offset`, when present, starts the next.",
      +  "type": "integer"
      +}
    • removedInput schema / title
      Removed value: -"list_domainsArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "items": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "title": "Result",
      -      "type": "array"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "list_domainsOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial behavioral context beyond them: ordering by most recent activity, the meaning of implicit levels, and the cross-listed vs filed distinction for `also`/`subtree_also`. This is genuinely useful disclosure the structured fields do not carry.

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 one-line purpose before the field glosses, and every sentence carries load (field definitions, cross-listing, casing). It is dense and long, but not padded; the length is justified by the undocumented return shape.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description takes on explaining the return fields and it does so completely: domain/parent/depth/count/subtree/children/implicit plus cross-listed counts. It also covers the store-wide casing dependency, leaving nothing an agent needs in order to call it correctly.

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?

Only one parameter (offset) with 100% schema coverage, so the schema does the heavy lifting. The description says nothing extra about offset syntax, but it compensates by thoroughly defining the shape of the returned entries, which is the real semantic payload of this tool.

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?

States a specific verb and resource ('List the domain tree') with scope ('every path with its counts and latest activity') and immediately frames it as warm-up discovery. An agent can distinguish it from list_by_domain, list_projects, and also_domain 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?

Explains the motivating context well: domain is free text that drifts, so this surfaces actual paths instead of guessing, and it routes to get_domain_case() before coining a new domain. It gives clear when-to-use guidance but no explicit exclusion of alternatives or when-not condition.

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