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

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

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 establish readOnly/idempotent/non-destructive, so the description is not carrying the safety burden — and it correctly uses the space it has: it discloses that affected operations are paged, that the change list is server-capped, and that isChangesTruncated signals a partial result. That truncation caveat is exactly the kind of behavior an agent would otherwise misread as a complete change set.

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 purpose and return contents, then prerequisite, then paging caveat — a sensible ordering. The final sentence restates parameter names the agent can already see in the schema, which is mild redundancy but not enough to hurt.

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?

An output schema exists, so the description correctly leaves return-shape explanation aside while still flagging the one non-obvious output behavior (server-side truncation). The remaining gap is identifying what a graphId actually is and where it comes from, which matters for a tool that requires it.

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 50%: the two paging parameters are documented in the schema (including the ≤50 cap), while the required checkId and graphId have no descriptions at all. The description only names them ('Provide the graph ID and the check ID') and adds no format, provenance, or lookup guidance — e.g. whether graphId is a graph ref or an opaque ID — so it doesn't compensate for the uncovered half.

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?

Specific verb and resource ('Read the outcome of one schema check run') followed by a precise inventory of what's returned: overall status, composition errors, lint diagnostics, schema changes, downstream variant results, custom violations. It also positions itself relative to the sibling GetSchemaChecks, so an agent can distinguish the two without opening either 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?

Explicitly states the prerequisite workflow ('Use this after GetSchemaChecks gives you a check ID') and the required inputs. It does not, however, say when to prefer GetLintResults or GetSchemaChecks instead of this aggregate view, which is the one plausible confusion among a crowded sibling set.

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