Skip to main content
Glama

List past requests

list_requests
Read-onlyIdempotent

A project's recent requests, newest first, with each one's token.

Look here before fetching a page: if somebody already pulled it, passing that token to get_result returns the same result for nothing. A /scrape appears as one entry — its per-operation children are internal, and the scrape's own token returns all of them.

Pass labels to see only the requests made with them — every key given must match its value exactly.

Input Schema

NameRequiredDescriptionDefault
urlNoOnly requests for this exact URL.
limitNoHow many to return. Default 25, maximum 100.
labelsNoOnly requests made with all of these labels, each value matched exactly.
offsetNoSkip this many, for paging.
operationNoOnly requests running this operation.
project_idYesFrom list_projects.

Output Schema

NameRequiredDescriptionDefault
totalYes
offsetYes
requestsYes
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / operation / enum
      Previous value: -[
      -  "html",
      -  "screenshot",
      -  "markdown",
      -  "meta",
      -  "summarize",
      -  "keywords",
      -  "lighthouse",
      -  "console",
      -  "scrape"
      -]New value: +[
      +  "html",
      +  "screenshot",
      +  "markdown",
      +  "meta",
      +  "summarize",
      +  "keywords",
      +  "lighthouse",
      +  "console",
      +  "technologies",
      +  "pdf",
      +  "extract",
      +  "scrape"
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties / requests / items / properties / final_url
      Added value: +{
      +  "description": "Where the page ended up after its redirects.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "properties": {
      +    "offset": {
      +      "type": "integer"
      +    },
      +    "project_id": {
      +      "type": "integer"
      +    },
      +    "requests": {
      +      "items": {
      +        "properties": {
      +          "created_at": {
      +            "type": "string"
      +          },
      +          "credits": {
      +            "type": "integer"
      +          },
      +          "duration_ms": {
      +            "type": "integer"
      +          },
      +          "finished_at": {
      +            "type": "string"
      +          },
      +          "labels": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "operation": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "served_from_cache": {
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "status": {
      +            "type": "string"
      +          },
      +          "success": {
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "token": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "token",
      +          "url",
      +          "status"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "project_id",
      +    "total",
      +    "offset",
      +    "requests"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description clears a lower bar and then exceeds it: it discloses that results are cacheable via tokens, that a /scrape collapses into a single entry whose children are internal, and that label filtering is an AND across exact values. These are genuine behavioral traits an agent cannot recover from the schema alone.

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 paragraphs, front-loaded with what is returned and why it matters, then dedup guidance, then the scrape exception, then filtering. No sentence is filler and each adds a distinct fact.

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?

With an output schema present, return values need not be explained, and the description covers the remaining agent-facing questions: why to call it, how entries are shaped (token, scrape aggregation), and how filtering behaves. Nothing needed 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%, so every parameter including limit, offset, and the operation enum is already documented. The description's label clause ('every key given must match its value exactly') restates the schema's own 'all of these labels... matched exactly', adding no new syntax or format detail, so the baseline of 3 applies.

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 description names a specific resource (a project's requests), its ordering (newest first), and what each entry carries (a token), which is enough to separate it from get_request, get_result, and list_projects. It stops short of an explicit verb or naming a sibling, so it is clear but not maximally differentiated.

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?

It states the exact moment to call this tool ('Look here before fetching a page') and names the alternative it plays against (get_result), with the condition for choosing it: reuse an existing token and the result costs nothing. It also explains how labels narrow the list, so nothing about when/when-not to use it is left to inference.

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