Skip to main content
Glama

GetGraphArtifact

Read-onlyIdempotent

Fetch a graph artifact by its digest, the same lookup that rover graph-artifact fetch --digest performs. A graph artifact is the build output, such as the composed supergraph schema, that GraphOS Router fetches from Apollo's OCI registry. Returns the artifact's ID, digest, status (GRAPH_ARTIFACT_COMPLETED, GRAPH_ARTIFACT_PENDING, or GRAPH_ARTIFACT_FAILED), build errors, timestamps, variant, the launch that produced it, its registry URI, and the tags assigned to it. To find a digest from a tag name, use GetGraphArtifactTags. Provide the graph ID and the digest.

Input Schema

NameRequiredDescriptionDefault
digestYesThe digest (SHA) of the graph artifact
graphIdYesThe ID of the graph the graph artifact belongs to

Output Schema

NameRequiredDescriptionDefault
dataNo
errorsNo
extensionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered; the description adds real context beyond that by explaining the artifact's origin (composed supergraph schema fetched by GraphOS Router from Apollo's OCI registry) and enumerating the status values GRAPH_ARTIFACT_COMPLETED/PENDING/FAILED, which tells the agent partial builds and failures are representable results. It does not discuss auth scope or whether pending artifacts resolve differently, but with annotations covering behavior the added detail is substantive.

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 action and concept definition, followed by the return contents, then the alternative and the required inputs — a sensible order. The return-field enumeration is somewhat lengthy and partly overlaps the output schema, but it is not padding at the start.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, concept definition, required inputs, and the one sibling an agent would confuse it with, and an output schema exists so return values need no further explanation. What is missing is minor: no note on behavior when the digest is unknown or the artifact is still pending, which matters given the PENDING status it advertises.

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% with both parameters documented in-schema, so baseline is 3. The description echoes the required inputs and adds the useful hint that a digest can be derived from a tag via GetGraphArtifactTags, but it adds no format or syntax detail (e.g. digest string shape, graph ID format) beyond the schema.

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 ('Fetch a graph artifact by its digest') and immediately defines what a graph artifact is, so the agent knows the exact object being retrieved rather than a generic schema. The CLI equivalence ('the same lookup that `rover graph-artifact fetch --digest` performs') anchors it further and the sibling GetGraphArtifactTags is named as the different lookup path, so it is distinguishable from neighbors.

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?

Explicitly routes the tag-to-digest case to GetGraphArtifactTags and states the required inputs ('Provide the graph ID and the digest'), which is the main decision an agent faces here. No exclusion against related reads like GetSupergraphSchema or GetLatestLaunch, so the sibling disambiguation is not fully exhaustive.

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