Skip to main content
Glama

listPages

Read-onlyIdempotent

Lists the tested pages of one site, each with a page identifier, name, and URL, an array of the sites it belongs to (currently always 1), and the latest report identifier, sorted by page name. Call this after listSites to learn which pages of a site have been tested. Requires a siteID from listSites. After this tool, if you want to know which issues were reported, call listIssues. If you want a different page of the site tested, call requestNewTest.

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": {
      "siteID": "<siteID>"
    },
    "name": "listPages"
  }
}

Input Schema

NameRequiredDescriptionDefault
siteIDYesIdentifier of the site, formatted s-xxxxxx (example: s-2fw2ea), as shown in the listSites output

Output Schema

NameRequiredDescriptionDefault
tool nameYes
this requestYes
tool collectionYes
response contentYes
response metadataYes
URLs of similar requests for web usersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / properties / siteID
      Added value: +{
      +  "description": "Identifier of the site, formatted s-xxxxxx (example: s-2fw2ea), as shown in the listSites output",
      +  "pattern": "^s-[0-9a-z]{6}$",
      +  "type": "string"
      +}
    • addedInput schema / required
      Added value: +[
      +  "siteID"
      +]
    • addedOutput schema / definitions / PageFacts
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "URL": {
      +      "type": "string"
      +    },
      +    "identifier": {
      +      "description": "Identifier of the page (example: p-l6vni7ua).",
      +      "type": "string"
      +    },
      +    "identifier of the latest report": {
      +      "description": "Identifier of the latest report about the page (example: 260503T0432-x9z).",
      +      "type": "string"
      +    },
      +    "name": {
      +      "description": "Name of the page, distinguishing it from the other pages of its site.",
      +      "type": "string"
      +    },
      +    "sites": {
      +      "description": "The sites that the page belongs to (currently always one).",
      +      "items": {
      +        "$ref": "#/definitions/PageSite"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "identifier",
      +    "name",
      +    "URL",
      +    "sites",
      +    "identifier of the latest report"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / definitions / PageSite
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "identifier": {
      +      "description": "Identifier of the site (example: s-2fw2ea).",
      +      "type": "string"
      +    },
      +    "name": {
      +      "description": "Current name of the site.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "identifier",
      +    "name"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / response content / properties / basics about all tested pages
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "URL": {
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "identifier": {
      -        "description": "Identifier of the latest report about the page (example: 260503T0432-x9z).",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "description",
      -      "URL",
      -      "identifier"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / response content / properties / basics about all tested pages of the site
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "$ref": "#/definitions/PageFacts"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The tested pages of the site, ordered by name, or null if the site does not exist."
      +}
    • addedOutput schema / properties / response content / properties / basics about the site
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "identifier": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "identifier",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "error": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / response content / properties / how a web user can request a test of a page of this site not in this list
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "URL": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "URL"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / response content / properties / how a web user can request that the page be tested
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "URL": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "URL"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / response content / properties / how to request a test of a page of this site not in this list
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "URL": {
      +          "type": "string"
      +        },
      +        "how to check whether the request has been fulfilled": {
      +          "type": "string"
      +        },
      +        "method": {
      +          "const": "POST",
      +          "type": "string"
      +        },
      +        "request body": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "URL": {
      +              "type": "string"
      +            },
      +            "pageName": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            },
      +            "reviewImmediately": {
      +              "type": "string"
      +            },
      +            "siteID": {
      +              "description": "Identifier of this site, to be given unchanged.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "siteID",
      +            "pageName",
      +            "URL",
      +            "reason",
      +            "reviewImmediately"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "method",
      +        "URL",
      +        "request body",
      +        "how to check whether the request has been fulfilled"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / response content / properties / how to request that a page with no report be tested
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "URL": {
      -      "type": "string"
      -    },
      -    "how to check whether the request has been fulfilled": {
      -      "type": "string"
      -    },
      -    "method": {
      -      "const": "POST",
      -      "type": "string"
      -    },
      -    "request body": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "URL": {
      -          "type": "string"
      -        },
      -        "description": {
      -          "type": "string"
      -        },
      -        "reason": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "description",
      -        "URL",
      -        "reason"
      -      ],
      -      "type": "object"
      -    }
      -  },
      -  "required": [
      -    "method",
      -    "URL",
      -    "request body",
      -    "how to check whether the request has been fulfilled"
      -  ],
      -  "type": "object"
      -}
    • changedOutput schema / properties / response content / required
      Previous value: -[
      -  "how to get test results about a page",
      -  "web users can get test results about a page at",
      -  "basics about all tested pages",
      -  "how to request that a page with no report be tested",
      -  "how a web user can request that the page be tested"
      -]New value: +[
      +  "basics about the site",
      +  "how to get test results about a page",
      +  "web users can get test results about a page at",
      +  "basics about all tested pages of the site",
      +  "how to request a test of a page of this site not in this list",
      +  "how a web user can request a test of a page of this site not in this list"
      +]
  2. Changed5 schema fields changed
    • addedOutput schema / definitions / ToolsFacts / properties / description / properties / how to generate more findings / properties / approval
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / definitions / ToolsFacts / properties / description / properties / how to generate more findings / properties / confirmation
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / definitions / ToolsFacts / properties / description / properties / how to generate more findings / properties / order confirmation
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / definitions / ToolsFacts / properties / description / properties / how to generate more findings / properties / request confirmation
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / definitions / ToolsFacts / properties / description / properties / how to generate more findings / required
      Previous value: -[
      -  "new testing",
      -  "retesting",
      -  "latency",
      -  "confirmation"
      -]New value: +[
      +  "new testing",
      +  "retesting",
      +  "approval",
      +  "latency",
      +  "request confirmation",
      +  "order confirmation"
      +]
  3. Changed12 schema fields changed
    • addedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / URL
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / basics about the latest report
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "completion date and time": {
      -      "type": "string"
      -    },
      -    "days since the report was completed": {
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "identifier": {
      -      "description": "Identifier of the report (example: 260503T0432-x9z).",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "identifier",
      -    "completion date and time",
      -    "days since the report was completed"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / description
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / how to get details about the latest report
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "URL": {
      -      "type": "string"
      -    },
      -    "method": {
      -      "const": "GET",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "method",
      -    "URL"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / identifier
      Added value: +{
      +  "description": "Identifier of the latest report about the page (example: 260503T0432-x9z).",
      +  "type": "string"
      +}
    • removedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / number of reports about the page
      Removed value: -{
      -  "type": "number"
      -}
    • removedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / tested web page
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "URL": {
      -      "type": "string"
      -    },
      -    "description": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "description",
      -    "URL"
      -  ],
      -  "type": "object"
      -}
    • removedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / web users can get details about the latest report at
      Removed value: -{
      -  "type": "string"
      -}
    • changedOutput schema / properties / response content / properties / basics about all tested pages / items / required
      Previous value: -[
      -  "tested web page",
      -  "number of reports about the page",
      -  "basics about the latest report",
      -  "how to get details about the latest report",
      -  "web users can get details about the latest report at"
      -]New value: +[
      +  "description",
      +  "URL",
      +  "identifier"
      +]
    • addedOutput schema / properties / response content / properties / how to get test results about a page
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "URL": {
      +      "description": "URL template; replace {identifier} with the identifier of the latest report about the page.",
      +      "type": "string"
      +    },
      +    "method": {
      +      "const": "GET",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "method",
      +    "URL"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / response content / properties / web users can get test results about a page at
      Added value: +{
      +  "description": "URL template; replace {identifier} with the identifier of the latest report about the page.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / response content / required
      Previous value: -[
      -  "basics about all tested pages",
      -  "how to request that a page with no report be tested",
      -  "how a web user can request that the page be tested"
      -]New value: +[
      +  "how to get test results about a page",
      +  "web users can get test results about a page at",
      +  "basics about all tested pages",
      +  "how to request that a page with no report be tested",
      +  "how a web user can request that the page be tested"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / properties / response content / properties / basics about all tested pages / items / properties / basics about the latest report / properties / identifier / description
      Previous value: -"timeStamp-jobID identifier of the report."New value: +"Identifier of the report (example: 260503T0432-x9z)."
  5. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds the ordering guarantee ('sorted by page name') and the shape of the grouped sites array, which annotations do not provide. It does not discuss rate limits or failure modes, but this is a simple read.

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?

Purpose is front-loaded, then prerequisite, then next steps – a sensible chain order. There is minor redundancy between 'Call this after listSites' and 'Requires a siteID from listSites', and the return-shape sentence overlaps with the output schema.

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?

For a one-parameter read tool with annotations and an output schema, the description covers prerequisite, purpose, ordering, and follow-up routing; nothing an agent needs to invoke it correctly is missing.

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% and includes the 's-xxxxxx' pattern and example, so the schema carries the parameter detail. The description only adds provenance ('siteID from listSites'), which is a marginal but useful pointer rather than new semantic depth.

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 ('Lists the tested pages of one site') plus scope, and explicitly distinguishes itself from listSites, listIssues, and requestNewTest, so an agent can route without opening a 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 an explicit prerequisite ('Call this after listSites', 'Requires a siteID from listSites') and names the two follow-up alternatives with the condition that selects each (listIssues for reported issues, requestNewTest for untested pages).

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