Skip to main content
Glama

GetLatestLaunch

Read-onlyIdempotent

Inspect the most recent launch for a graph variant: status, completion time, subgraph changes, composition errors, and a schema diff summary vs the previous launch (additions/removals/edits/deprecations plus affected operations). Use to assess schema composition health and the impact of recent schema changes. Also returns the latest approved launch for comparison. Provide the graph ID and variant name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
graphIdYes
variantYes

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": {
      -      "variant": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "latestApprovedLaunch": {
      -                "anyOf": [
      -                  {
      -                    "properties": {
      -                      "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 launch completed. This value is null until the launch completes."
      -                      },
      -                      "id": {
      -                        "description": "The unique identifier for this launch.",
      -                        "oneOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "integer"
      -                          }
      -                        ]
      -                      },
      -                      "status": {
      -                        "$ref": "#/definitions/LaunchStatus",
      -                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "status"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "Latest approved launch for the variant, and what is served through Uplink."
      -              },
      -              "latestLaunch": {
      -                "anyOf": [
      -                  {
      -                    "properties": {
      -                      "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 launch completed. This value is null until the launch completes."
      -                      },
      -                      "id": {
      -                        "description": "The unique identifier for this launch.",
      -                        "oneOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "integer"
      -                          }
      -                        ]
      -                      },
      -                      "publication": {
      -                        "anyOf": [
      -                          {
      -                            "properties": {
      -                              "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"
      -                                      }
      -                                    },
      -                                    "required": [
      -                                      "errors"
      -                                    ],
      -                                    "type": "object"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ],
      -                                "description": "The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph."
      -                              },
      -                              "diffToPrevious": {
      -                                "anyOf": [
      -                                  {
      -                                    "properties": {
      -                                      "affectedQueries": {
      -                                        "anyOf": [
      -                                          {
      -                                            "items": {
      -                                              "properties": {
      -                                                "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 the diff."
      -                                      },
      -                                      "changeSummary": {
      -                                        "description": "Numeric summaries for each type of change in the diff.",
      -                                        "properties": {
      -                                          "field": {
      -                                            "description": "Counts for changes to fields of objects, input objects, and interfaces.",
      -                                            "properties": {
      -                                              "additions": {
      -                                                "description": "Number of changes that are additions of fields to object, interface, and input types.",
      -                                                "type": "integer"
      -                                              },
      -                                              "edits": {
      -                                                "description": "Number of changes that are field edits. This includes fields changing type and any field\ndeprecation and description changes, but also includes any argument changes and any input object\nfield changes.",
      -                                                "type": "integer"
      -                                              },
      -                                              "removals": {
      -                                                "description": "Number of changes that are removals of fields from object, interface, and input types.",
      -                                                "type": "integer"
      -                                              }
      -                                            },
      -                                            "required": [
      -                                              "additions",
      -                                              "removals",
      -                                              "edits"
      -                                            ],
      -                                            "type": "object"
      -                                          },
      -                                          "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",
      -                                          "field"
      -                                        ],
      -                                        "type": "object"
      -                                      }
      -                                    },
      -                                    "required": [
      -                                      "changeSummary"
      -                                    ],
      -                                    "type": "object"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ],
      -                                "description": "A schema diff comparing against the schema from the most recent previous successful publication."
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "A specific publication of a graph variant pertaining to this launch."
      -                      },
      -                      "status": {
      -                        "$ref": "#/definitions/LaunchStatus",
      -                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      -                      },
      -                      "subgraphChanges": {
      -                        "anyOf": [
      -                          {
      -                            "items": {
      -                              "properties": {
      -                                "name": {
      -                                  "description": "The subgraph's name.",
      -                                  "oneOf": [
      -                                    {
      -                                      "type": "string"
      -                                    },
      -                                    {
      -                                      "type": "integer"
      -                                    }
      -                                  ]
      -                                }
      -                              },
      -                              "required": [
      -                                "name"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "type": "array"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "A list of subgraph changes that are included in this launch."
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "status"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "Latest launch for the variant, whether successful or not."
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "variant": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "latestApprovedLaunch": {
      +                "anyOf": [
      +                  {
      +                    "properties": {
      +                      "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 launch completed. This value is null until the launch completes."
      +                      },
      +                      "id": {
      +                        "description": "The unique identifier for this launch.",
      +                        "oneOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "integer"
      +                          }
      +                        ]
      +                      },
      +                      "status": {
      +                        "$ref": "#/definitions/LaunchStatus",
      +                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "status"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Latest approved launch for the variant, and what is served through Uplink."
      +              },
      +              "latestLaunch": {
      +                "anyOf": [
      +                  {
      +                    "properties": {
      +                      "build": {
      +                        "anyOf": [
      +                          {
      +                            "properties": {
      +                              "result": {
      +                                "anyOf": [
      +                                  {
      +                                    "properties": {
      +                                      "errorMessages": {
      +                                        "description": "A list of all errors that occurred during the failed build.",
      +                                        "items": {
      +                                          "properties": {
      +                                            "code": {
      +                                              "anyOf": [
      +                                                {
      +                                                  "type": "string"
      +                                                },
      +                                                {
      +                                                  "type": "null"
      +                                                }
      +                                              ]
      +                                            },
      +                                            "failedStep": {
      +                                              "anyOf": [
      +                                                {
      +                                                  "type": "string"
      +                                                },
      +                                                {
      +                                                  "type": "null"
      +                                                }
      +                                              ]
      +                                            },
      +                                            "locations": {
      +                                              "items": {
      +                                                "properties": {
      +                                                  "column": {
      +                                                    "description": "Column number.",
      +                                                    "type": "integer"
      +                                                  },
      +                                                  "line": {
      +                                                    "description": "Line number.",
      +                                                    "type": "integer"
      +                                                  }
      +                                                },
      +                                                "required": [
      +                                                  "line",
      +                                                  "column"
      +                                                ],
      +                                                "type": "object"
      +                                              },
      +                                              "type": "array"
      +                                            },
      +                                            "message": {
      +                                              "type": "string"
      +                                            }
      +                                          },
      +                                          "required": [
      +                                            "message",
      +                                            "locations"
      +                                          ],
      +                                          "type": "object"
      +                                        },
      +                                        "type": "array"
      +                                      }
      +                                    },
      +                                    "required": [
      +                                      "errorMessages"
      +                                    ],
      +                                    "type": "object"
      +                                  },
      +                                  {
      +                                    "type": "null"
      +                                  }
      +                                ],
      +                                "description": "The result of the build. This value is null until the build completes."
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "description": "The associated build for this launch (a build includes schema composition and contract filtering). This value is null until the build is initiated."
      +                      },
      +                      "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 launch completed. This value is null until the launch completes."
      +                      },
      +                      "id": {
      +                        "description": "The unique identifier for this launch.",
      +                        "oneOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "integer"
      +                          }
      +                        ]
      +                      },
      +                      "publication": {
      +                        "anyOf": [
      +                          {
      +                            "properties": {
      +                              "diffToPrevious": {
      +                                "anyOf": [
      +                                  {
      +                                    "properties": {
      +                                      "affectedQueries": {
      +                                        "anyOf": [
      +                                          {
      +                                            "items": {
      +                                              "properties": {
      +                                                "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 the diff."
      +                                      },
      +                                      "changeSummary": {
      +                                        "description": "Numeric summaries for each type of change in the diff.",
      +                                        "properties": {
      +                                          "field": {
      +                                            "description": "Counts for changes to fields of objects, input objects, and interfaces.",
      +                                            "properties": {
      +                                              "additions": {
      +                                                "description": "Number of changes that are additions of fields to object, interface, and input types.",
      +                                                "type": "integer"
      +                                              },
      +                                              "edits": {
      +                                                "description": "Number of changes that are field edits. This includes fields changing type and any field\ndeprecation and description changes, but also includes any argument changes and any input object\nfield changes.",
      +                                                "type": "integer"
      +                                              },
      +                                              "removals": {
      +                                                "description": "Number of changes that are removals of fields from object, interface, and input types.",
      +                                                "type": "integer"
      +                                              }
      +                                            },
      +                                            "required": [
      +                                              "additions",
      +                                              "removals",
      +                                              "edits"
      +                                            ],
      +                                            "type": "object"
      +                                          },
      +                                          "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",
      +                                          "field"
      +                                        ],
      +                                        "type": "object"
      +                                      }
      +                                    },
      +                                    "required": [
      +                                      "changeSummary"
      +                                    ],
      +                                    "type": "object"
      +                                  },
      +                                  {
      +                                    "type": "null"
      +                                  }
      +                                ],
      +                                "description": "A schema diff comparing against the schema from the most recent previous successful publication."
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "description": "A specific publication of a graph variant pertaining to this launch."
      +                      },
      +                      "status": {
      +                        "$ref": "#/definitions/LaunchStatus",
      +                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      +                      },
      +                      "subgraphChanges": {
      +                        "anyOf": [
      +                          {
      +                            "items": {
      +                              "properties": {
      +                                "name": {
      +                                  "description": "The subgraph's name.",
      +                                  "oneOf": [
      +                                    {
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "integer"
      +                                    }
      +                                  ]
      +                                }
      +                              },
      +                              "required": [
      +                                "name"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "type": "array"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "description": "A list of subgraph changes that are included in this launch."
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "status"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Latest launch for the variant, whether successful or not."
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead."
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / data / properties / graph / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "variant": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "latestApprovedLaunch": {
      +                "anyOf": [
      +                  {
      +                    "properties": {
      +                      "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 launch completed. This value is null until the launch completes."
      +                      },
      +                      "id": {
      +                        "description": "The unique identifier for this launch.",
      +                        "oneOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "integer"
      +                          }
      +                        ]
      +                      },
      +                      "status": {
      +                        "$ref": "#/definitions/LaunchStatus",
      +                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "status"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Latest approved launch for the variant, and what is served through Uplink."
      +              },
      +              "latestLaunch": {
      +                "anyOf": [
      +                  {
      +                    "properties": {
      +                      "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 launch completed. This value is null until the launch completes."
      +                      },
      +                      "id": {
      +                        "description": "The unique identifier for this launch.",
      +                        "oneOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "integer"
      +                          }
      +                        ]
      +                      },
      +                      "publication": {
      +                        "anyOf": [
      +                          {
      +                            "properties": {
      +                              "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"
      +                                      }
      +                                    },
      +                                    "required": [
      +                                      "errors"
      +                                    ],
      +                                    "type": "object"
      +                                  },
      +                                  {
      +                                    "type": "null"
      +                                  }
      +                                ],
      +                                "description": "The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph."
      +                              },
      +                              "diffToPrevious": {
      +                                "anyOf": [
      +                                  {
      +                                    "properties": {
      +                                      "affectedQueries": {
      +                                        "anyOf": [
      +                                          {
      +                                            "items": {
      +                                              "properties": {
      +                                                "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 the diff."
      +                                      },
      +                                      "changeSummary": {
      +                                        "description": "Numeric summaries for each type of change in the diff.",
      +                                        "properties": {
      +                                          "field": {
      +                                            "description": "Counts for changes to fields of objects, input objects, and interfaces.",
      +                                            "properties": {
      +                                              "additions": {
      +                                                "description": "Number of changes that are additions of fields to object, interface, and input types.",
      +                                                "type": "integer"
      +                                              },
      +                                              "edits": {
      +                                                "description": "Number of changes that are field edits. This includes fields changing type and any field\ndeprecation and description changes, but also includes any argument changes and any input object\nfield changes.",
      +                                                "type": "integer"
      +                                              },
      +                                              "removals": {
      +                                                "description": "Number of changes that are removals of fields from object, interface, and input types.",
      +                                                "type": "integer"
      +                                              }
      +                                            },
      +                                            "required": [
      +                                              "additions",
      +                                              "removals",
      +                                              "edits"
      +                                            ],
      +                                            "type": "object"
      +                                          },
      +                                          "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",
      +                                          "field"
      +                                        ],
      +                                        "type": "object"
      +                                      }
      +                                    },
      +                                    "required": [
      +                                      "changeSummary"
      +                                    ],
      +                                    "type": "object"
      +                                  },
      +                                  {
      +                                    "type": "null"
      +                                  }
      +                                ],
      +                                "description": "A schema diff comparing against the schema from the most recent previous successful publication."
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "description": "A specific publication of a graph variant pertaining to this launch."
      +                      },
      +                      "status": {
      +                        "$ref": "#/definitions/LaunchStatus",
      +                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      +                      },
      +                      "subgraphChanges": {
      +                        "anyOf": [
      +                          {
      +                            "items": {
      +                              "properties": {
      +                                "name": {
      +                                  "description": "The subgraph's name.",
      +                                  "oneOf": [
      +                                    {
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "integer"
      +                                    }
      +                                  ]
      +                                }
      +                              },
      +                              "required": [
      +                                "name"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "type": "array"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "description": "A list of subgraph changes that are included in this launch."
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "status"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Latest launch for the variant, whether successful or not."
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead."
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / data / properties / graph / oneOf
      Removed value: -[
      -  {
      -    "properties": {
      -      "variant": {
      -        "description": "Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.",
      -        "oneOf": [
      -          {
      -            "properties": {
      -              "latestApprovedLaunch": {
      -                "description": "Latest approved launch for the variant, and what is served through Uplink.",
      -                "oneOf": [
      -                  {
      -                    "properties": {
      -                      "completedAt": {
      -                        "description": "The timestamp when the launch completed. This value is null until the launch completes.",
      -                        "oneOf": [
      -                          {
      -                            "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      },
      -                      "id": {
      -                        "description": "The unique identifier for this launch.",
      -                        "oneOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "integer"
      -                          }
      -                        ]
      -                      },
      -                      "status": {
      -                        "$ref": "#/definitions/LaunchStatus",
      -                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "status"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "latestLaunch": {
      -                "description": "Latest launch for the variant, whether successful or not.",
      -                "oneOf": [
      -                  {
      -                    "properties": {
      -                      "completedAt": {
      -                        "description": "The timestamp when the launch completed. This value is null until the launch completes.",
      -                        "oneOf": [
      -                          {
      -                            "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      },
      -                      "id": {
      -                        "description": "The unique identifier for this launch.",
      -                        "oneOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "integer"
      -                          }
      -                        ]
      -                      },
      -                      "publication": {
      -                        "description": "A specific publication of a graph variant pertaining to this launch.",
      -                        "oneOf": [
      -                          {
      -                            "properties": {
      -                              "compositionResult": {
      -                                "description": "The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph.",
      -                                "oneOf": [
      -                                  {
      -                                    "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": {
      -                                              "description": "A machine-readable error code.",
      -                                              "oneOf": [
      -                                                {
      -                                                  "type": "string"
      -                                                },
      -                                                {
      -                                                  "type": "null"
      -                                                }
      -                                              ]
      -                                            },
      -                                            "locations": {
      -                                              "description": "Source locations related to the error.",
      -                                              "items": {
      -                                                "oneOf": [
      -                                                  {
      -                                                    "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"
      -                                      }
      -                                    },
      -                                    "required": [
      -                                      "errors"
      -                                    ],
      -                                    "type": "object"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ]
      -                              },
      -                              "diffToPrevious": {
      -                                "description": "A schema diff comparing against the schema from the most recent previous successful publication.",
      -                                "oneOf": [
      -                                  {
      -                                    "properties": {
      -                                      "affectedQueries": {
      -                                        "description": "Operations affected by all changes in the diff.",
      -                                        "oneOf": [
      -                                          {
      -                                            "items": {
      -                                              "properties": {
      -                                                "id": {
      -                                                  "oneOf": [
      -                                                    {
      -                                                      "type": "string"
      -                                                    },
      -                                                    {
      -                                                      "type": "integer"
      -                                                    }
      -                                                  ]
      -                                                },
      -                                                "isValid": {
      -                                                  "description": "Determines if this query validates against the proposed schema",
      -                                                  "oneOf": [
      -                                                    {
      -                                                      "type": "boolean"
      -                                                    },
      -                                                    {
      -                                                      "type": "null"
      -                                                    }
      -                                                  ]
      -                                                },
      -                                                "markedAsIgnored": {
      -                                                  "description": "Whether this operation was ignored and its severity was downgraded for that reason",
      -                                                  "oneOf": [
      -                                                    {
      -                                                      "type": "boolean"
      -                                                    },
      -                                                    {
      -                                                      "type": "null"
      -                                                    }
      -                                                  ]
      -                                                },
      -                                                "markedAsSafe": {
      -                                                  "description": "Whether the changes were marked as safe and its severity was downgraded for that reason",
      -                                                  "oneOf": [
      -                                                    {
      -                                                      "type": "boolean"
      -                                                    },
      -                                                    {
      -                                                      "type": "null"
      -                                                    }
      -                                                  ]
      -                                                },
      -                                                "name": {
      -                                                  "description": "Name provided for the operation, which can be empty string if it is an anonymous operation",
      -                                                  "oneOf": [
      -                                                    {
      -                                                      "type": "string"
      -                                                    },
      -                                                    {
      -                                                      "type": "null"
      -                                                    }
      -                                                  ]
      -                                                }
      -                                              },
      -                                              "required": [
      -                                                "id"
      -                                              ],
      -                                              "type": "object"
      -                                            },
      -                                            "type": "array"
      -                                          },
      -                                          {
      -                                            "type": "null"
      -                                          }
      -                                        ]
      -                                      },
      -                                      "changeSummary": {
      -                                        "description": "Numeric summaries for each type of change in the diff.",
      -                                        "properties": {
      -                                          "field": {
      -                                            "description": "Counts for changes to fields of objects, input objects, and interfaces.",
      -                                            "properties": {
      -                                              "additions": {
      -                                                "description": "Number of changes that are additions of fields to object, interface, and input types.",
      -                                                "type": "integer"
      -                                              },
      -                                              "edits": {
      -                                                "description": "Number of changes that are field edits. This includes fields changing type and any field\ndeprecation and description changes, but also includes any argument changes and any input object\nfield changes.",
      -                                                "type": "integer"
      -                                              },
      -                                              "removals": {
      -                                                "description": "Number of changes that are removals of fields from object, interface, and input types.",
      -                                                "type": "integer"
      -                                              }
      -                                            },
      -                                            "required": [
      -                                              "additions",
      -                                              "removals",
      -                                              "edits"
      -                                            ],
      -                                            "type": "object"
      -                                          },
      -                                          "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",
      -                                          "field"
      -                                        ],
      -                                        "type": "object"
      -                                      }
      -                                    },
      -                                    "required": [
      -                                      "changeSummary"
      -                                    ],
      -                                    "type": "object"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ]
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      },
      -                      "status": {
      -                        "$ref": "#/definitions/LaunchStatus",
      -                        "description": "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."
      -                      },
      -                      "subgraphChanges": {
      -                        "description": "A list of subgraph changes that are included in this launch.",
      -                        "oneOf": [
      -                          {
      -                            "items": {
      -                              "properties": {
      -                                "name": {
      -                                  "description": "The subgraph's name.",
      -                                  "oneOf": [
      -                                    {
      -                                      "type": "string"
      -                                    },
      -                                    {
      -                                      "type": "integer"
      -                                    }
      -                                  ]
      -                                }
      -                              },
      -                              "required": [
      -                                "name"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "type": "array"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "status"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: it discloses that the tool also returns the latest approved launch for comparison, which an agent could not infer from annotations or schema.

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?

Purpose and scope are front-loaded in the first clause, followed by a valid usage cue and the input requirement. It is dense but not padded; the mid-sentence enumeration of returned fields is the only part that could be trimmed.

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

Completeness5/5

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

With an output schema present, return values need not be explained, and annotations carry the safety profile, so the remaining burden is purpose, usage, and inputs — all addressed. Nothing required to call this two-parameter read tool correctly is missing.

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 0% and there are two required parameters, so the description carries the whole burden. 'Provide the graph ID and variant name' names both and hints at the variant's meaning, but adds no format, syntax, or constraint details (e.g., whether variant can be 'current'). Marginal compensation for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Inspect the most recent launch for a graph variant') and enumerates exactly what is surfaced (status, completion time, subgraph changes, composition errors, schema diff). Adding 'most recent' and the diff-vs-previous-launch scope distinguishes it from the sibling GetLaunch and GetLaunchHistory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear intent: 'Use to assess schema composition health and the impact of recent schema changes,' which tells the agent the motivating scenario. It does not, however, state when to prefer GetLaunch or GetLaunchHistory instead, nor any exclusion conditions, 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