Skip to main content
Glama

GetCheckResults

Read-onlyIdempotent

Read the outcome of one schema check run: the overall status, and for each task in the run the composition errors, lint diagnostics, schema changes with the client operations they affect, downstream variant results, and custom check violations. Use this after GetSchemaChecks gives you a check ID. Provide the graph ID and the check ID. The affected operations are paged with affectedOperationsLimit and affectedOperationsOffset; the change list is capped by the server, and areChangesTruncated reports when that happened.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
checkIdYes
graphIdYes
affectedOperationsLimitNoThe maximum number of affected queries to return. Must be 50 or fewer.#The maximum number of affected queries to return. Must be 50 or fewer.#The maximum number of affected queries to return. Must be 50 or fewer.#The maximum number of affected queries to return. Must be 50 or fewer.
affectedOperationsOffsetNoHow many items to skip before starting to return results. For example, with `limit: 10` and `offset: 10`, you get items 11–20.#How many items to skip before starting to return results. For example, with `limit: 10` and `offset: 10`, you get items 11–20.#How many items to skip before starting to return results. For example, with `limit: 10` and `offset: 10`, you get items 11–20.#How many items to skip before starting to return results. For example, with `limit: 10` and `offset: 10`, you get items 11–20.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
errorsNo
extensionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / data / properties / graph / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "checkWorkflow": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "baseVariant": {
      -                "anyOf": [
      -                  {
      -                    "properties": {
      -                      "name": {
      -                        "description": "The variant's name (e.g., `staging`).",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "name"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "The variant provided as a base to check against. Only the differences from the\nbase schema will be tested in operations checks."
      -              },
      -              "completedAt": {
      -                "anyOf": [
      -                  {
      -                    "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "The timestamp when the check workflow completed."
      -              },
      -              "createdAt": {
      -                "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      -              },
      -              "gitContext": {
      -                "anyOf": [
      -                  {
      -                    "properties": {
      -                      "commit": {
      -                        "anyOf": [
      -                          {
      -                            "oneOf": [
      -                              {
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "integer"
      -                              }
      -                            ]
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "Contextual parameters supplied by the runtime environment where the check was run."
      -              },
      -              "id": {
      -                "oneOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "integer"
      -                  }
      -                ]
      -              },
      -              "implementingServiceName": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "The name of the implementing service that was responsible for triggering the validation."
      -              },
      -              "startedAt": {
      -                "anyOf": [
      -                  {
      -                    "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "The timestamp when the check workflow started."
      -              },
      -              "status": {
      -                "$ref": "#/definitions/CheckWorkflowStatus",
      -                "description": "Overall status of the workflow, based on the underlying task statuses."
      -              },
      -              "tasks": {
      -                "description": "The set of check tasks associated with this workflow, e.g. composition, operations, etc.",
      -                "items": {
      -                  "properties": {
      -                    "__typename": {
      -                      "description": "The typename of this object",
      -                      "type": "string"
      -                    },
      -                    "coreSchemaModified": {
      -                      "description": "Whether the build's output supergraph core schema differs from that of the active publish for\nthe workflow's variant at the time this field executed (NOT at the time the check workflow\nstarted).",
      -                      "type": "boolean"
      -                    },
      -                    "hasWarnings": {
      -                      "description": "True if this Proposal check passed with warnings, otherwise false.",
      -                      "type": "boolean"
      -                    },
      -                    "id": {
      -                      "oneOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "integer"
      -                        }
      -                      ]
      -                    },
      -                    "proposalCoverage": {
      -                      "$ref": "#/definitions/ProposalCoverage",
      -                      "description": "Indicates the level of coverage a check's changeset is in approved Proposals. PENDING while Check is still running."
      -                    },
      -                    "result": {
      -                      "anyOf": [
      -                        {
      -                          "properties": {
      -                            "violations": {
      -                              "items": {
      -                                "properties": {
      -                                  "coordinate": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ],
      -                                    "description": "The schema coordinate of this rule violation as defined by RFC:\n\t\thttps://github.com/graphql/graphql-wg/blob/main/rfcs/SchemaCoordinates.md\n\t\tOptional for violations that aren't specific to a single schema element"
      -                                  },
      -                                  "level": {
      -                                    "$ref": "#/definitions/ViolationLevel",
      -                                    "description": "The violation level for the rule."
      -                                  },
      -                                  "message": {
      -                                    "description": "A human-readable message describing the rule violation, rendered as markdown in Apollo Studio. Maximum length: 512 characters.",
      -                                    "type": "string"
      -                                  },
      -                                  "rule": {
      -                                    "description": "The rule being violated. This is used to group multiple violations together in Studio. Max character length is 128.",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "level",
      -                                  "message",
      -                                  "rule"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "type": "array"
      -                            }
      -                          },
      -                          "required": [
      -                            "violations"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "results": {
      -                      "anyOf": [
      -                        {
      -                          "items": {
      -                            "properties": {
      -                              "blocking": {
      -                                "description": "Whether the downstream check workflow blocks the upstream check workflow from completing.",
      -                                "type": "boolean"
      -                              },
      -                              "downstreamGraphID": {
      -                                "description": "The ID of the graph that the downstream variant belongs to.",
      -                                "type": "string"
      -                              },
      -                              "downstreamVariantName": {
      -                                "description": "The name of the downstream variant.",
      -                                "type": "string"
      -                              },
      -                              "failsUpstreamWorkflow": {
      -                                "anyOf": [
      -                                  {
      -                                    "type": "boolean"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ],
      -                                "description": "Whether the downstream check workflow is causing the upstream check workflow to fail. This occurs\nwhen the downstream check workflow is both blocking and failing. This may be null while the\ndownstream check workflow is pending."
      -                              }
      -                            },
      -                            "required": [
      -                              "blocking",
      -                              "downstreamGraphID",
      -                              "downstreamVariantName"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          "type": "array"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "A list of results for all downstream checks triggered as part of the source variant's checks workflow.\nThis value is null if the task hasn't been initialized yet, or if the build task fails (the build task is a\nprerequisite to this task). This value is _not_ null _while_ the task is running. The returned list is empty\nif the source variant has no downstream variants."
      -                    },
      -                    "severityLevel": {
      -                      "$ref": "#/definitions/ProposalChangeMismatchSeverity",
      -                      "description": "The configured severity at the time the check was run. If the check failed, this is the severity that should be shown. While this Check is PENDING defaults to Service's severityLevel."
      -                    },
      -                    "status": {
      -                      "$ref": "#/definitions/CheckWorkflowTaskStatus",
      -                      "description": "The status of this task. All tasks start with the PENDING status while initializing. If any\n prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite\n tasks pass, then this task runs (still having the PENDING status). Once the task completes, the\n task status will become either PASSED or FAILED."
      -                    },
      -                    "targetURL": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "A studio UI url to view the details of this check workflow task"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "status"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "status",
      -              "createdAt",
      -              "tasks"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Get a check workflow for this graph by its ID"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "checkWorkflow": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "baseVariant": {
      +                "anyOf": [
      +                  {
      +                    "properties": {
      +                      "name": {
      +                        "description": "The variant's name (e.g., `staging`).",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "name"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "The variant provided as a base to check against. Only the differences from the\nbase schema will be tested in operations checks."
      +              },
      +              "completedAt": {
      +                "anyOf": [
      +                  {
      +                    "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "The timestamp when the check workflow completed."
      +              },
      +              "createdAt": {
      +                "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      +              },
      +              "gitContext": {
      +                "anyOf": [
      +                  {
      +                    "properties": {
      +                      "commit": {
      +                        "anyOf": [
      +                          {
      +                            "oneOf": [
      +                              {
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "integer"
      +                              }
      +                            ]
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ]
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Contextual parameters supplied by the runtime environment where the check was run."
      +              },
      +              "id": {
      +                "oneOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "integer"
      +                  }
      +                ]
      +              },
      +              "implementingServiceName": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "The name of the implementing service that was responsible for triggering the validation."
      +              },
      +              "startedAt": {
      +                "anyOf": [
      +                  {
      +                    "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "The timestamp when the check workflow started."
      +              },
      +              "status": {
      +                "$ref": "#/definitions/CheckWorkflowStatus",
      +                "description": "Overall status of the workflow, based on the underlying task statuses."
      +              },
      +              "tasks": {
      +                "description": "The set of check tasks associated with this workflow, e.g. composition, operations, etc.",
      +                "items": {
      +                  "properties": {
      +                    "__typename": {
      +                      "description": "The typename of this object",
      +                      "type": "string"
      +                    },
      +                    "compositionResult": {
      +                      "anyOf": [
      +                        {
      +                          "properties": {
      +                            "errors": {
      +                              "description": "A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated.",
      +                              "items": {
      +                                "properties": {
      +                                  "code": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ],
      +                                    "description": "A machine-readable error code."
      +                                  },
      +                                  "locations": {
      +                                    "description": "Source locations related to the error.",
      +                                    "items": {
      +                                      "anyOf": [
      +                                        {
      +                                          "properties": {
      +                                            "column": {
      +                                              "description": "Column number.",
      +                                              "type": "integer"
      +                                            },
      +                                            "line": {
      +                                              "description": "Line number.",
      +                                              "type": "integer"
      +                                            }
      +                                          },
      +                                          "required": [
      +                                            "line",
      +                                            "column"
      +                                          ],
      +                                          "type": "object"
      +                                        },
      +                                        {
      +                                          "type": "null"
      +                                        }
      +                                      ]
      +                                    },
      +                                    "type": "array"
      +                                  },
      +                                  "message": {
      +                                    "description": "A human-readable message describing the error.",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "message",
      +                                  "locations"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "type": "array"
      +                            },
      +                            "graphCompositionID": {
      +                              "description": "The unique ID for this instance of composition.",
      +                              "oneOf": [
      +                                {
      +                                  "type": "string"
      +                                },
      +                                {
      +                                  "type": "integer"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "graphCompositionID",
      +                            "errors"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "description": "An old version of buildResult that returns a very old GraphQL type that generally should be\navoided. This field will soon be deprecated."
      +                    },
      +                    "coreSchemaModified": {
      +                      "description": "Whether the build's output supergraph core schema differs from that of the active publish for\nthe workflow's variant at the time this field executed (NOT at the time the check workflow\nstarted).",
      +                      "type": "boolean"
      +                    },
      +                    "customResult": {
      +                      "anyOf": [
      +                        {
      +                          "properties": {
      +                            "violations": {
      +                              "items": {
      +                                "properties": {
      +                                  "coordinate": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ],
      +                                    "description": "The schema coordinate of this rule violation as defined by RFC:\n\t\thttps://github.com/graphql/graphql-wg/blob/main/rfcs/SchemaCoordinates.md\n\t\tOptional for violations that aren't specific to a single schema element"
      +                                  },
      +                                  "level": {
      +                                    "$ref": "#/definitions/ViolationLevel",
      +                                    "description": "The violation level for the rule."
      +                                  },
      +                                  "message": {
      +                                    "description": "A human-readable message describing the rule violation, rendered as markdown in Apollo Studio. Maximum length: 512 characters.",
      +                                    "type": "string"
      +                                  },
      +                                  "rule": {
      +                                    "description": "The rule being violated. This is used to group multiple violations together in Studio. Max character length is 128.",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "level",
      +                                  "message",
      +                                  "rule"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "type": "array"
      +                            }
      +                          },
      +                          "required": [
      +                            "violations"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "hasWarnings": {
      +                      "description": "True if this Proposal check passed with warnings, otherwise false.",
      +                      "type": "boolean"
      +                    },
      +                    "id": {
      +                      "oneOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "integer"
      +                        }
      +                      ]
      +                    },
      +                    "lintResult": {
      +                      "anyOf": [
      +                        {
      +                          "properties": {
      +                            "diagnostics": {
      +                              "description": "The set of lint rule violations found in the schema.",
      +                              "items": {
      +                                "properties": {
      +                                  "coordinate": {
      +                                    "description": "The schema coordinate of this diagnostic.",
      +                                    "type": "string"
      +                                  },
      +                                  "level": {
      +                                    "$ref": "#/definitions/LintDiagnosticLevel",
      +                                    "description": "The graph's configured level for the rule."
      +                                  },
      +                                  "message": {
      +                                    "description": "The message describing the rule violation.",
      +                                    "type": "string"
      +                                  },
      +                                  "rule": {
      +                                    "$ref": "#/definitions/LintRule",
      +                                    "description": "The lint rule being violated."
      +                                  },
      +                                  "sourceLocations": {
      +                                    "description": "The human readable position in the file of the rule violation.",
      +                                    "items": {
      +                                      "properties": {
      +                                        "end": {
      +                                          "anyOf": [
      +                                            {
      +                                              "properties": {
      +                                                "column": {
      +                                                  "type": "integer"
      +                                                },
      +                                                "line": {
      +                                                  "type": "integer"
      +                                                }
      +                                              },
      +                                              "required": [
      +                                                "line",
      +                                                "column"
      +                                              ],
      +                                              "type": "object"
      +                                            },
      +                                            {
      +                                              "type": "null"
      +                                            }
      +                                          ]
      +                                        },
      +                                        "start": {
      +                                          "anyOf": [
      +                                            {
      +                                              "properties": {
      +                                                "column": {
      +                                                  "type": "integer"
      +                                                },
      +                                                "line": {
      +                                                  "type": "integer"
      +                                                }
      +                                              },
      +                                              "required": [
      +                                                "line",
      +                                                "column"
      +                                              ],
      +                                              "type": "object"
      +                                            },
      +                                            {
      +                                              "type": "null"
      +                                            }
      +                                          ]
      +                                        },
      +                                        "subgraphName": {
      +                                          "anyOf": [
      +                                            {
      +                                              "type": "string"
      +                                            },
      +                                            {
      +                                              "type": "null"
      +                                            }
      +                                          ]
      +                                        }
      +                                      },
      +                                      "type": "object"
      +                                    },
      +                                    "type": "array"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "coordinate",
      +                                  "level",
      +                                  "message",
      +                                  "rule",
      +                                  "sourceLocations"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "type": "array"
      +                            },
      +                            "stats": {
      +                              "description": "Stats generated from the resulting diagnostics.",
      +                              "properties": {
      +                                "errorsCount": {
      +                                  "description": "Total number of lint errors.",
      +                                  "type": "integer"
      +                                },
      +                                "ignoredCount": {
      +                                  "description": "Total number of lint rules ignored.",
      +                                  "type": "integer"
      +                                },
      +                                "totalCount": {
      +                                  "description": "Total number of lint rules violated.",
      +                                  "type": "integer"
      +                                },
      +                                "warningsCount": {
      +                                  "description": "Total number of lint warnings.",
      +                                  "type": "integer"
      +                                }
      +                              },
      +                              "required": [
      +                                "errorsCount",
      +                                "warningsCount",
      +                                "totalCount",
      +                                "ignoredCount"
      +                              ],
      +                              "type": "object"
      +                            }
      +                          },
      +                          "required": [
      +                            "diagnostics",
      +                            "stats"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "operationsResult": {
      +                      "anyOf": [
      +                        {
      +                          "properties": {
      +                            "affectedQueries": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "properties": {
      +                                      "displayName": {
      +                                        "anyOf": [
      +                                          {
      +                                            "type": "string"
      +                                          },
      +                                          {
      +                                            "type": "null"
      +                                          }
      +                                        ],
      +                                        "description": "Name to display to the user for the operation"
      +                                      },
      +                                      "id": {
      +                                        "oneOf": [
      +                                          {
      +                                            "type": "string"
      +                                          },
      +                                          {
      +                                            "type": "integer"
      +                                          }
      +                                        ]
      +                                      },
      +                                      "isValid": {
      +                                        "anyOf": [
      +                                          {
      +                                            "type": "boolean"
      +                                          },
      +                                          {
      +                                            "type": "null"
      +                                          }
      +                                        ],
      +                                        "description": "Determines if this query validates against the proposed schema"
      +                                      },
      +                                      "markedAsIgnored": {
      +                                        "anyOf": [
      +                                          {
      +                                            "type": "boolean"
      +                                          },
      +                                          {
      +                                            "type": "null"
      +                                          }
      +                                        ],
      +                                        "description": "Whether this operation was ignored and its severity was downgraded for that reason"
      +                                      },
      +                                      "markedAsSafe": {
      +                                        "anyOf": [
      +                                          {
      +                                            "type": "boolean"
      +                                          },
      +                                          {
      +                                            "type": "null"
      +                                          }
      +                                        ],
      +                                        "description": "Whether the changes were marked as safe and its severity was downgraded for that reason"
      +                                      },
      +                                      "name": {
      +                                        "anyOf": [
      +                                          {
      +                                            "type": "string"
      +                                          },
      +                                          {
      +                                            "type": "null"
      +                                          }
      +                                        ],
      +                                        "description": "Name provided for the operation, which can be empty string if it is an anonymous operation"
      +                                      }
      +                                    },
      +                                    "required": [
      +                                      "id"
      +                                    ],
      +                                    "type": "object"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ],
      +                              "description": "Operations affected by all changes in diff"
      +                            },
      +                            "areChangesTruncated": {
      +                              "description": "Indicates whether the changes for this operation check were truncated due to their large quantity.",
      +                              "type": "boolean"
      +                            },
      +                            "changeSummary": {
      +                              "description": "Summary/counts for all changes in diff",
      +                              "properties": {
      +                                "total": {
      +                                  "description": "Counts for all changes.",
      +                                  "properties": {
      +                                    "additions": {
      +                                      "description": "Number of changes that are additions. This includes adding types, adding fields to object, input\nobject, and interface types, adding values to enums, adding members to interfaces and unions, and\nadding arguments.",
      +                                      "type": "integer"
      +                                    },
      +                                    "deprecations": {
      +                                      "description": "Number of changes that are new usages of the @deprecated directive.",
      +                                      "type": "integer"
      +                                    },
      +                                    "edits": {
      +                                      "description": "Number of changes that are edits. This includes types changing kind, fields and arguments\nchanging type, arguments changing default value, and any description changes. This also includes\nedits to @deprecated reason strings.",
      +                                      "type": "integer"
      +                                    },
      +                                    "removals": {
      +                                      "description": "Number of changes that are removals. This includes removing types, removing fields from object,\ninput object, and interface types, removing values from enums, removing members from interfaces\nand unions, and removing arguments. This also includes removing @deprecated usages.",
      +                                      "type": "integer"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "additions",
      +                                    "removals",
      +                                    "edits",
      +                                    "deprecations"
      +                                  ],
      +                                  "type": "object"
      +                                }
      +                              },
      +                              "required": [
      +                                "total"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "changes": {
      +                              "description": "List of schema changes with associated affected clients and operations",
      +                              "items": {
      +                                "properties": {
      +                                  "category": {
      +                                    "$ref": "#/definitions/ChangeCategory",
      +                                    "description": "Indication of the category of the change (e.g. addition, removal, edit)."
      +                                  },
      +                                  "code": {
      +                                    "description": "Indicates the type of change that was made, and to what (e.g., 'TYPE_REMOVED').",
      +                                    "type": "string"
      +                                  },
      +                                  "description": {
      +                                    "description": "A human-readable description of the change.",
      +                                    "type": "string"
      +                                  },
      +                                  "severity": {
      +                                    "$ref": "#/definitions/ChangeSeverity",
      +                                    "description": "The severity of the change (e.g., `FAILURE` or `NOTICE`)"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "severity",
      +                                  "code",
      +                                  "category",
      +                                  "description"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "type": "array"
      +                            },
      +                            "checkSeverity": {
      +                              "$ref": "#/definitions/ChangeSeverity",
      +                              "description": "Indication of the success of the change, either failure, warning, or notice."
      +                            },
      +                            "numberOfAffectedOperations": {
      +                              "description": "Number of affected operations that are neither marked as SAFE or IGNORED.",
      +                              "type": "integer"
      +                            },
      +                            "numberOfCheckedOperations": {
      +                              "description": "Number of operations that were validated during schema diff",
      +                              "type": "integer"
      +                            },
      +                            "totalNumberOfAffectedOperations": {
      +                              "description": "Total number of affected operations including ones marked SAFE or IGNORED.",
      +                              "type": "integer"
      +                            },
      +                            "totalNumberOfChanges": {
      +                              "description": "Total number of schema changes, excluding any truncation.",
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "checkSeverity",
      +                            "numberOfCheckedOperations",
      +                            "totalNumberOfChanges",
      +                            "areChangesTruncated",
      +                            "numberOfAffectedOperations",
      +                            "totalNumberOfAffectedOperations",
      +                            "changeSummary",
      +                            "changes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "description": "The result of the operations check. This will be null when the task is initializing or running,\nor when the build task fails (which is a prerequisite task to this one)."
      +                    },
      +                    "proposalCoverage": {
      +                      "$ref": "#/definitions/ProposalCoverage",
      +                      "description": "Indicates the level of coverage a check's changeset is in approved Proposals. PENDING while Check is still running."
      +                    },
      +                    "results": {
      +                      "anyOf": [
      +                        {
      +                          "items": {
      +                            "properties": {
      +                              "blocking": {
      +                                "description": "Whether the downstream check workflow blocks the upstream check workflow from completing.",
      +                                "type": "boolean"
      +                              },
      +                              "downstreamGraphID": {
      +                                "description": "The ID of the graph that the downstream variant belongs to.",
      +                                "type": "string"
      +                              },
      +                              "downstreamVariantName": {
      +                                "description": "The name of the downstream variant.",
      +                                "type": "string"
      +                              },
      +                              "failsUpstreamWorkflow": {
      +                                "anyOf": [
      +                                  {
      +                                    "type": "boolean"
      +                                  },
      +                                  {
      +                                    "type": "null"
      +                                  }
      +                                ],
      +                                "description": "Whether the downstream check workflow is causing the upstream check workflow to fail. This occurs\nwhen the downstream check workflow is both blocking and failing. This may be null while the\ndownstream check workflow is pending."
      +                              }
      +                            },
      +                            "required": [
      +                              "blocking",
      +                              "downstreamGraphID",
      +                              "downstreamVariantName"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          "type": "array"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "description": "A list of results for all downstream checks triggered as part of the source variant's checks workflow.\nThis value is null if the task hasn't been initialized yet, or if the build task fails (the build task is a\nprerequisite to this task). This value is _not_ null _while_ the task is running. The returned list is empty\nif the source variant has no downstream variants."
      +                    },
      +                    "severityLevel": {
      +                      "$ref": "#/definitions/ProposalChangeMismatchSeverity",
      +                      "description": "The configured severity at the time the check was run. If the check failed, this is the severity that should be shown. While this Check is PENDING defaults to Service's severityLevel."
      +                    },
      +                    "status": {
      +                      "$ref": "#/definitions/CheckWorkflowTaskStatus",
      +                      "description": "The status of this task. All tasks start with the PENDING status while initializing. If any\n prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite\n tasks pass, then this task runs (still having the PENDING status). Once the task completes, the\n task status will become either PASSED or FAILED."
      +                    },
      +                    "targetURL": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "description": "A studio UI url to view the details of this check workflow task"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "status"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "status",
      +              "createdAt",
      +              "tasks"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Get a check workflow for this graph by its ID"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. 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, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description goes beyond them usefully: it explains that affected operations are paged, that the change list is server-capped, and that areChangesTruncated signals truncation. It does not discuss auth/permission requirements or latency, keeping it from a 5.

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 what the call returns before moving to how to invoke it, and each sentence carries distinct information (payload, prerequisite, paging, truncation). The middle enumeration is long and partially duplicates the output schema, but the description remains a single efficient block with no filler.

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?

Given that an output schema exists, the description need not enumerate return fields, yet it does so and also covers invocation order and paging. Combined with the annotations, an agent has everything needed to call it correctly. The mild redundancy of restating return contents keeps it from a 5.

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 description coverage is only 50% (graphId and checkId are undocumented), so the description must compensate. It names affectedOperationsLimit/affectedOperationsOffset and their paging role, and introduces the truncation concept, but omits the 'must be 50 or fewer' constraint and the default offset behavior that the schema supplies. With half the parameters bare in the schema, this is a minimum-viable 3.

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 the outcome of one schema check run') and enumerates the concrete payload contents (overall status, composition errors, lint diagnostics, schema changes, downstream variant results, custom check violations). It also distinguishes itself from siblings by tying the call to the GetSchemaChecks -> GetCheckResults workflow, so an agent can identify it without opening another 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 an explicit prerequisite and sequencing rule ('Use this after GetSchemaChecks gives you a check ID. Provide the graph ID and the check ID.'), which is clear when-to-use guidance. It does not state any exclusions or name a contrasting sibling for cases where results are not what the user wants, so it stops short of full routing guidance.

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