Skip to main content
Glama

Read complete job report pages

job_report
Read-onlyIdempotent

Read bounded pages from a completed job's immutable report_json artifact. section=summary returns complete aggregate counts and actual coverage without loading all object details. Default is issues for validation and summary for scene_apply/export. Sections issues, objects (basic evaluated topology), printObjects, operationResults, operationEffects, operationWarnings, exportMaterials, and exportObjects return ordered records: offset counts records, limit caps each page (the byte budget may return fewer). section=report retrieves ALL original JSON as UTF-8 text chunks: offset then counts bytes; concatenate jsonText in order. Follow continuation verbatim, including artifactId, until complete=true for that section. An oversized record returns reportState=truncated with a section=report continuation; no record is silently shortened. Only ready + complete + total=0 means an empty section. Pending, failed, cancelled, missing, incomplete and truncated are distinct and never mean validation passed. The response pins project/revision/artifact identity. artifact_get remains available to download the complete file.

Input Schema

NameRequiredDescriptionDefault
jobIdYesDurable job ID returned when an asynchronous operation is queued.
limitNoMaximum records in this report page.
offsetNoStarting offset for the selected report section or byte stream.
filtersNoIssues only. Match severity, any listed object, and any listed code; original issue order is retained.
sectionNoReport section to page; report streams the full JSON by byte offset.
filterIdNoContinuation filter identity; follow the returned continuation verbatim.
artifactIdNoPin continuation to the preceding page's immutable artifactId.

Output Schema

NameRequiredDescriptionDefault
jobIdYesDurable job ID returned when an asynchronous operation is queued.
totalNo
offsetYes
entriesNo
sectionYes
completeYes
jsonTextNo
jobStatusYes
projectIdYes
artifactIdNoArtifact ID returned by a completed job or artifacts_list.
nextOffsetNo
revisionIdYes
reportStateYes
continuationNo
artifactRevisionIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedOutput schema / properties / artifactRevisionId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / artifactRevisionId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / revisionId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / revisionId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed3 schema fields changed
    • addedInput schema / properties / filterId
      Added value: +{
      +  "description": "Continuation filter identity; follow the returned continuation verbatim.",
      +  "pattern": "^[0-9a-f]{64}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / filters
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Issues only. Match severity, any listed object, and any listed code; original issue order is retained.",
      +  "properties": {
      +    "codes": {
      +      "items": {
      +        "maxLength": 80,
      +        "type": "string"
      +      },
      +      "maxItems": 32,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "objectIds": {
      +      "items": {
      +        "maxLength": 64,
      +        "type": "string"
      +      },
      +      "maxItems": 100,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "severity": {
      +      "enum": [
      +        "error",
      +        "warning",
      +        "info",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedOutput schema / properties / continuation / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "artifactId": {
      -        "description": "Artifact ID returned by a completed job or artifacts_list.",
      -        "type": "string"
      -      },
      -      "jobId": {
      -        "description": "Durable job ID returned when an asynchronous operation is queued.",
      -        "type": "string"
      -      },
      -      "offset": {
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "section": {
      -        "enum": [
      -          "summary",
      -          "issues",
      -          "objects",
      -          "printObjects",
      -          "operationResults",
      -          "operationEffects",
      -          "operationWarnings",
      -          "exportMaterials",
      -          "exportObjects",
      -          "report"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "jobId",
      -      "section",
      -      "offset",
      -      "artifactId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "artifactId": {
      +        "description": "Artifact ID returned by a completed job or artifacts_list.",
      +        "type": "string"
      +      },
      +      "filterId": {
      +        "type": "string"
      +      },
      +      "filters": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "codes": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "objectIds": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "severity": {
      +            "enum": [
      +              "error",
      +              "warning",
      +              "info",
      +              "unknown"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "jobId": {
      +        "description": "Durable job ID returned when an asynchronous operation is queued.",
      +        "type": "string"
      +      },
      +      "offset": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "section": {
      +        "enum": [
      +          "summary",
      +          "issues",
      +          "objects",
      +          "printObjects",
      +          "operationResults",
      +          "operationEffects",
      +          "operationWarnings",
      +          "exportMaterials",
      +          "exportObjects",
      +          "report"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "jobId",
      +      "section",
      +      "offset",
      +      "artifactId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, and the description adds substantial non-obvious behavior: continuation identity pinning (artifactId, filterId), byte-budget short pages, truncation semantics for oversized records, and the distinction between pending/failed/cancelled/incomplete/truncated states versus real validation results.

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-loaded with the core operation, then ordered detail on sections, paging, and states. Dense but nearly every clause carries operational information; some sentences (state enumeration) run long and could be tightened.

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-shape detail is unnecessary, and the description still covers what an agent needs to page correctly and to interpret terminal states. Nothing critical for a correct call 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?

Schema coverage is 100%, so the baseline is 3, but the description adds a genuinely important semantic the schema only hints at: offset counts records for list sections but counts bytes for section=report, and limit may return fewer due to the byte budget. Filters are left to the schema, which already documents them fully.

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 ('Read bounded pages from a completed job's immutable report_json artifact') and names the sibling it differs from (artifact_get for the complete file). The section enumeration makes the scope concrete without requiring the 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?

Gives explicit routing advice: use section=summary for cheap aggregates, note that issues is the default for validation and summary for scene_apply/export, and points to artifact_get for full download. It stops short of saying when this tool should be avoided in favour of job_get or job_wait, so not a full 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