Skip to main content
Glama

inspect_requests

Read the project's request inspector: the most recent requests that hit the mock API (method, path, query, status, origin, captured headers incl. x-* — authorization redacted to its scheme — and a body snippet for writes). Use it to VERIFY what your app / tests / webhook sender actually sent: point code at the mock, run it, then inspect. Pairs with custom_route catch-all bins (e.g. /webhooks/*) for webhook payload + signature debugging. TRAJECTORY ASSERTIONS: filters (method / path / status / status_gte / status_lte / since) return {count} of matches in the retained window, so a grader can assert the agent never called DELETE (method:"DELETE" → count 0), stayed inside /tasks, or produced no 4xx/5xx (status_gte:400 → count 0). Fork per run and the log is exactly one episode's trace. Requires the adminKey, except project "demo" whose inspector is public.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoFilter: segment-aware path prefix ("/tasks" matches /tasks and /tasks/5, not /tasksomething).
limitNoNewest N entries to return (default 20, max 50).
sinceNoFilter: only requests at/after this time (epoch ms or ISO-8601) — record the episode start, assert about only that episode.
methodNoFilter: HTTP method, comma-list ok (e.g. "DELETE" or "PUT,PATCH,DELETE").
statusNoFilter: exact response status (comma-list ok as a string via status_gte/lte for ranges).
projectYesProject id.
adminKeyNoProject adminKey (not needed for demo).
status_gteNoFilter: status >= this (400 = any error).
status_lteNoFilter: status <= this.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / method
      Added value: +{
      +  "description": "Filter: HTTP method, comma-list ok (e.g. \"DELETE\" or \"PUT,PATCH,DELETE\").",
      +  "type": "string"
      +}
    • addedInput schema / properties / path
      Added value: +{
      +  "description": "Filter: segment-aware path prefix (\"/tasks\" matches /tasks and /tasks/5, not /tasksomething).",
      +  "type": "string"
      +}
    • addedInput schema / properties / since
      Added value: +{
      +  "description": "Filter: only requests at/after this time (epoch ms or ISO-8601) — record the episode start, assert about only that episode.",
      +  "type": "string"
      +}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "Filter: exact response status (comma-list ok as a string via status_gte/lte for ranges).",
      +  "type": "number"
      +}
    • addedInput schema / properties / status_gte
      Added value: +{
      +  "description": "Filter: status >= this (400 = any error).",
      +  "type": "number"
      +}
    • addedInput schema / properties / status_lte
      Added value: +{
      +  "description": "Filter: status <= this.",
      +  "type": "number"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries full responsibility, and it delivers: authorization redaction, body snippet limitation to writes, retained-window semantics, per-run fork isolation, segment-aware path matching, and admin/auth exceptions for the demo project. This exceeds what a typical tool description discloses.

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?

The description is front-loaded (purpose first) and every sentence serves a purpose: verification, companion tool, trajectory assertion examples, per-run isolation, and auth. It is dense but not bloated; its length is justified by the lack of structured annotations or an output schema. Slight redundancy in participant examples like 'DELETE' and 'status_gte:400' could be trimmed, so not a perfect 5.

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 tool with no output schema, the description thoroughly explains what is returned (fields listed, redaction, body snippet), how the log relates to episodes ('fork per run'), the retained window, and auth requirements. An agent has enough to call it correctly and reason about its results without additional lookups.

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?

Even though the schema already covers all 100% of parameters, the description adds meaningful usage context: filters return a {count} of matches, they are for trajectory assertions, since should capture episode start, and demo requires no adminKey. This adds value beyond the bare schema definitions.

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?

The description clearly identifies the tool's action and target: 'Read the project's request inspector' and describes precisely what is returned (method, path, query, status, origin, headers, body snippet). It also specifies the intended use—verifying what clients actually sent—which distinguishes it from siblings like query_records or project_info without ambiguity.

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?

It gives an explicit when-to-use ('Use it to VERIFY what your app / tests / webhook sender actually sent') and a concrete workflow: point code at the mock, run, inspect. It also mentions pairing with custom_route for webhooks. It does not name alternatives or exclusion cases, so it gets a 4 rather than 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