Skip to main content
Glama

List sites

list_sites
Read-only

List sites on your account, newest first, so you can choose where to publish; returns up to 100 with the account total.

Instructions

Lists the sites on this account, newest first, so a publish can go to one of them. Returns up to 100 with the account's total; there are no pages to fetch beyond that. Use get_site for one site's settings and versions.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_sites"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
sitesYesThe account's sites, newest first — every one unless `total` is larger.
totalYesHow many sites the account holds. Larger than `sites` only past 100.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.2.4
    • changedOutput schema / properties / sites / description
      Previous value: -"Every site on this account."New value: +"The account's sites, newest first — every one unless `total` is larger."
    • addedOutput schema / properties / total
      Added value: +{
      +  "description": "How many sites the account holds. Larger than `sites` only past 100.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "sites"
      -]New value: +[
      +  "sites",
      +  "total"
      +]
  2. Changed1 schema field changedv0.2.1
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "sites": {
      +      "description": "Every site on this account.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "name": {
      +            "description": "What it is called, or null when it has no name.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "siteId": {
      +            "description": "Identifier of the site.",
      +            "type": "string"
      +          },
      +          "subdomain": {
      +            "description": "Its subdomain, which is what `site` accepts.",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "Its live URL.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "siteId",
      +          "subdomain",
      +          "url",
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "sites"
      +  ],
      +  "type": "object"
      +}
  3. First observedv0.2.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only cover read-only/open-world safety; the description adds the traits that actually affect agent behavior: newest-first ordering, a hard 100-result cap with the account total, and the fact that no further pages exist. That pagination/truncation disclosure is exactly the kind of context annotations cannot provide.

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?

Three short sentences, front-loaded with what it returns, then the cap/pagination constraint, then the sibling handoff. No sentence is filler.

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?

An output schema exists, so return values need not be spelled out, yet the description still flags the 100-item cap and total count — the details an agent needs to know it is not being paginated. Nothing required for correct invocation is missing.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly adds no parameter noise.

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+resource (lists sites on this account) plus scope and ordering (newest first). It also names the sibling it is not — get_site — so an agent can separate the two without opening either schema.

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

Usage Guidelines5/5

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

Gives a concrete reason to call it (to choose a publish target) and explicitly routes the single-site case to get_site. Both the use case and the alternative are stated rather than left to inference.

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