Skip to main content
Glama

impact_analysis

Read-onlyIdempotent

Analyze the blast radius of a proposed schema change: FK dependencies, affected views, row count, risk score. [ARCHITECT tier]

Input Schema

NameRequiredDescriptionDefault
intentYesDescribe the change: 'rename vehicle_id to vehicle_uuid on trips', 'drop column X'
connectionNoTarget connection name from this tenant's inventory. Call `list_connections` to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named `*-analytics-*`; 'prod' → a connection with `prod-` prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from `list_connections` output.

Output Schema

NameRequiredDescriptionDefault
dataNo
metaNo
displayNo
summaryNo
insightsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "affected_views": {
      -        "items": {},
      -        "type": "array"
      -      },
      -      "analysis_scope": {
      -        "enum": [
      -          "table",
      -          "column"
      -        ],
      -        "type": "string"
      -      },
      -      "dependency_risk": {
      -        "type": "string"
      -      },
      -      "fk_dependencies": {
      -        "items": {
      -          "additionalProperties": true,
      -          "properties": {
      -            "column": {
      -              "type": "string"
      -            },
      -            "direction": {
      -              "type": "string"
      -            },
      -            "references": {
      -              "type": "string"
      -            },
      -            "references_column": {
      -              "type": "string"
      -            },
      -            "table": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "fk_dependencies_evaluated": {
      -        "type": "boolean"
      -      },
      -      "intent": {
      -        "type": "string"
      -      },
      -      "operation_risk": {
      -        "type": "string"
      -      },
      -      "recommendation": {
      -        "type": "string"
      -      },
      -      "risk": {
      -        "type": "string"
      -      },
      -      "row_count": {
      -        "type": [
      -          "number",
      -          "string"
      -        ]
      -      },
      -      "target": {
      -        "additionalProperties": true,
      -        "properties": {
      -          "action": {
      -            "type": "string"
      -          },
      -          "column": {
      -            "type": "string"
      -          },
      -          "object_type": {
      -            "type": "string"
      -          },
      -          "table": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "target_table": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "target_table"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "code": {
      -        "type": "string"
      -      },
      -      "details": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "internal_code": {
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      },
      -      "retryable": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "affected_views": {
      +        "items": {},
      +        "type": "array"
      +      },
      +      "analysis_scope": {
      +        "enum": [
      +          "table",
      +          "column"
      +        ],
      +        "type": "string"
      +      },
      +      "dependency_risk": {
      +        "type": "string"
      +      },
      +      "fk_dependencies": {
      +        "items": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "column": {
      +              "type": "string"
      +            },
      +            "direction": {
      +              "type": "string"
      +            },
      +            "references": {
      +              "type": "string"
      +            },
      +            "references_column": {
      +              "type": "string"
      +            },
      +            "table": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "fk_dependencies_evaluated": {
      +        "type": "boolean"
      +      },
      +      "intent": {
      +        "type": "string"
      +      },
      +      "operation_risk": {
      +        "type": "string"
      +      },
      +      "recommendation": {
      +        "type": "string"
      +      },
      +      "risk": {
      +        "type": "string"
      +      },
      +      "row_count": {
      +        "type": [
      +          "number",
      +          "string"
      +        ]
      +      },
      +      "target": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "action": {
      +            "type": "string"
      +          },
      +          "column": {
      +            "type": "string"
      +          },
      +          "object_type": {
      +            "type": "string"
      +          },
      +          "table": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "target_table": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "target_table"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "code": {
      +        "type": "string"
      +      },
      +      "details": {
      +        "additionalProperties": {},
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "internal_code": {
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      },
      +      "retryable": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / display / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / display / properties / chart / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / display / properties / code / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / display / properties / map / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / display / properties / metric / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / insights / items / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / meta / additionalProperties
      Previous value: -trueNew value: +{}
    • removedOutput schema / properties / meta / properties / executionTimeMs / $ref
      Removed value: -"#/properties/data/anyOf/0/properties/row_count"
    • addedOutput schema / properties / meta / properties / executionTimeMs / type
      Added value: +[
      +  "number",
      +  "string"
      +]
    • removedOutput schema / properties / meta / properties / rowCount / $ref
      Removed value: -"#/properties/data/anyOf/0/properties/row_count"
    • addedOutput schema / properties / meta / properties / rowCount / type
      Added value: +[
      +  "number",
      +  "string"
      +]
  2. Changed4 schema fields changed
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "affected_views": {
      -        "items": {},
      -        "type": "array"
      -      },
      -      "analysis_scope": {
      -        "enum": [
      -          "table",
      -          "column"
      -        ],
      -        "type": "string"
      -      },
      -      "dependency_risk": {
      -        "type": "string"
      -      },
      -      "fk_dependencies": {
      -        "items": {
      -          "additionalProperties": true,
      -          "properties": {
      -            "column": {
      -              "type": "string"
      -            },
      -            "direction": {
      -              "type": "string"
      -            },
      -            "references": {
      -              "type": "string"
      -            },
      -            "references_column": {
      -              "type": "string"
      -            },
      -            "table": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "fk_dependencies_evaluated": {
      -        "type": "boolean"
      -      },
      -      "intent": {
      -        "type": "string"
      -      },
      -      "operation_risk": {
      -        "type": "string"
      -      },
      -      "recommendation": {
      -        "type": "string"
      -      },
      -      "risk": {
      -        "type": "string"
      -      },
      -      "row_count": {
      -        "type": [
      -          "number",
      -          "string"
      -        ]
      -      },
      -      "target": {
      -        "additionalProperties": true,
      -        "properties": {
      -          "action": {
      -            "type": "string"
      -          },
      -          "column": {
      -            "type": "string"
      -          },
      -          "object_type": {
      -            "type": "string"
      -          },
      -          "table": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "target_table": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "target_table"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "code": {
      -        "type": "string"
      -      },
      -      "details": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "internal_code": {
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "affected_views": {
      +        "items": {},
      +        "type": "array"
      +      },
      +      "analysis_scope": {
      +        "enum": [
      +          "table",
      +          "column"
      +        ],
      +        "type": "string"
      +      },
      +      "dependency_risk": {
      +        "type": "string"
      +      },
      +      "fk_dependencies": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "column": {
      +              "type": "string"
      +            },
      +            "direction": {
      +              "type": "string"
      +            },
      +            "references": {
      +              "type": "string"
      +            },
      +            "references_column": {
      +              "type": "string"
      +            },
      +            "table": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "fk_dependencies_evaluated": {
      +        "type": "boolean"
      +      },
      +      "intent": {
      +        "type": "string"
      +      },
      +      "operation_risk": {
      +        "type": "string"
      +      },
      +      "recommendation": {
      +        "type": "string"
      +      },
      +      "risk": {
      +        "type": "string"
      +      },
      +      "row_count": {
      +        "type": [
      +          "number",
      +          "string"
      +        ]
      +      },
      +      "target": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "action": {
      +            "type": "string"
      +          },
      +          "column": {
      +            "type": "string"
      +          },
      +          "object_type": {
      +            "type": "string"
      +          },
      +          "table": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "target_table": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "target_table"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "code": {
      +        "type": "string"
      +      },
      +      "details": {
      +        "additionalProperties": {},
      +        "type": "object"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "internal_code": {
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      },
      +      "retryable": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • addedOutput schema / properties / meta / properties / maskedCells
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / meta / properties / maskedColumns
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / meta / properties / rowCapReached
      Added value: +{
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "affected_views": {
      -        "items": {},
      -        "type": "array"
      -      },
      -      "analysis_scope": {
      -        "enum": [
      -          "table",
      -          "column"
      -        ],
      -        "type": "string"
      -      },
      -      "dependency_risk": {
      -        "type": "string"
      -      },
      -      "fk_dependencies": {
      -        "items": {
      -          "additionalProperties": true,
      -          "properties": {
      -            "column": {
      -              "type": "string"
      -            },
      -            "direction": {
      -              "type": "string"
      -            },
      -            "references": {
      -              "type": "string"
      -            },
      -            "references_column": {
      -              "type": "string"
      -            },
      -            "table": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "fk_dependencies_evaluated": {
      -        "type": "boolean"
      -      },
      -      "intent": {
      -        "type": "string"
      -      },
      -      "operation_risk": {
      -        "type": "string"
      -      },
      -      "recommendation": {
      -        "type": "string"
      -      },
      -      "risk": {
      -        "type": "string"
      -      },
      -      "row_count": {
      -        "type": [
      -          "number",
      -          "string"
      -        ]
      -      },
      -      "target": {
      -        "additionalProperties": true,
      -        "properties": {
      -          "action": {
      -            "type": "string"
      -          },
      -          "column": {
      -            "type": "string"
      -          },
      -          "object_type": {
      -            "type": "string"
      -          },
      -          "table": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "target_table": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "target_table"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "code": {
      -        "type": "string"
      -      },
      -      "details": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "internal_code": {
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "affected_views": {
      +        "items": {},
      +        "type": "array"
      +      },
      +      "analysis_scope": {
      +        "enum": [
      +          "table",
      +          "column"
      +        ],
      +        "type": "string"
      +      },
      +      "dependency_risk": {
      +        "type": "string"
      +      },
      +      "fk_dependencies": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "column": {
      +              "type": "string"
      +            },
      +            "direction": {
      +              "type": "string"
      +            },
      +            "references": {
      +              "type": "string"
      +            },
      +            "references_column": {
      +              "type": "string"
      +            },
      +            "table": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "fk_dependencies_evaluated": {
      +        "type": "boolean"
      +      },
      +      "intent": {
      +        "type": "string"
      +      },
      +      "operation_risk": {
      +        "type": "string"
      +      },
      +      "recommendation": {
      +        "type": "string"
      +      },
      +      "risk": {
      +        "type": "string"
      +      },
      +      "row_count": {
      +        "type": [
      +          "number",
      +          "string"
      +        ]
      +      },
      +      "target": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "action": {
      +            "type": "string"
      +          },
      +          "column": {
      +            "type": "string"
      +          },
      +          "object_type": {
      +            "type": "string"
      +          },
      +          "table": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "target_table": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "target_table"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "code": {
      +        "type": "string"
      +      },
      +      "details": {
      +        "additionalProperties": {},
      +        "type": "object"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "internal_code": {
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed1 schema field changed
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "affected_views": {
      -        "items": {},
      -        "type": "array"
      -      },
      -      "fk_dependencies": {
      -        "items": {
      -          "additionalProperties": true,
      -          "properties": {
      -            "column": {
      -              "type": "string"
      -            },
      -            "references": {
      -              "type": "string"
      -            },
      -            "table": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "intent": {
      -        "type": "string"
      -      },
      -      "recommendation": {
      -        "type": "string"
      -      },
      -      "risk": {
      -        "type": "string"
      -      },
      -      "row_count": {
      -        "type": [
      -          "number",
      -          "string"
      -        ]
      -      },
      -      "target_table": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "target_table"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "code": {
      -        "type": "string"
      -      },
      -      "details": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "internal_code": {
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "affected_views": {
      +        "items": {},
      +        "type": "array"
      +      },
      +      "analysis_scope": {
      +        "enum": [
      +          "table",
      +          "column"
      +        ],
      +        "type": "string"
      +      },
      +      "dependency_risk": {
      +        "type": "string"
      +      },
      +      "fk_dependencies": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "column": {
      +              "type": "string"
      +            },
      +            "direction": {
      +              "type": "string"
      +            },
      +            "references": {
      +              "type": "string"
      +            },
      +            "references_column": {
      +              "type": "string"
      +            },
      +            "table": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "fk_dependencies_evaluated": {
      +        "type": "boolean"
      +      },
      +      "intent": {
      +        "type": "string"
      +      },
      +      "operation_risk": {
      +        "type": "string"
      +      },
      +      "recommendation": {
      +        "type": "string"
      +      },
      +      "risk": {
      +        "type": "string"
      +      },
      +      "row_count": {
      +        "type": [
      +          "number",
      +          "string"
      +        ]
      +      },
      +      "target": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "action": {
      +            "type": "string"
      +          },
      +          "column": {
      +            "type": "string"
      +          },
      +          "object_type": {
      +            "type": "string"
      +          },
      +          "table": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "target_table": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "target_table"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "code": {
      +        "type": "string"
      +      },
      +      "details": {
      +        "additionalProperties": {},
      +        "type": "object"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "internal_code": {
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  5. Changed3 schema fields changed
    • addedInput schema / properties / connection / maxLength
      Added value: +256
    • changedInput schema / properties / intent / description
      Previous value: -"Describe the change: 'rename customer_id to account_id', 'drop column X'"New value: +"Describe the change: 'rename vehicle_id to vehicle_uuid on trips', 'drop column X'"
    • addedInput schema / properties / intent / maxLength
      Added value: +500
  6. Changed2 schema fields changed
    • addedOutput schema / properties / display / properties / map
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "label": {
      +      "type": "string"
      +    },
      +    "lat": {
      +      "type": "string"
      +    },
      +    "lon": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedOutput schema / properties / display / properties / type / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "table",
      -      "chart",
      -      "metric",
      -      "code",
      -      "text",
      -      "list"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "string"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "table",
      +      "chart",
      +      "metric",
      +      "code",
      +      "text",
      +      "list",
      +      "map"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
  7. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "data": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "properties": {
      +            "affected_views": {
      +              "items": {},
      +              "type": "array"
      +            },
      +            "fk_dependencies": {
      +              "items": {
      +                "additionalProperties": true,
      +                "properties": {
      +                  "column": {
      +                    "type": "string"
      +                  },
      +                  "references": {
      +                    "type": "string"
      +                  },
      +                  "table": {
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "intent": {
      +              "type": "string"
      +            },
      +            "recommendation": {
      +              "type": "string"
      +            },
      +            "risk": {
      +              "type": "string"
      +            },
      +            "row_count": {
      +              "type": [
      +                "number",
      +                "string"
      +              ]
      +            },
      +            "target_table": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "target_table"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": true,
      +          "properties": {
      +            "code": {
      +              "type": "string"
      +            },
      +            "details": {
      +              "additionalProperties": {},
      +              "type": "object"
      +            },
      +            "error": {
      +              "type": "string"
      +            },
      +            "internal_code": {
      +              "type": "string"
      +            },
      +            "message": {
      +              "type": "string"
      +            },
      +            "retry_after_s": {
      +              "type": "number"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "display": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "chart": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "chartType": {
      +              "type": "string"
      +            },
      +            "color": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            },
      +            "x": {
      +              "type": "string"
      +            },
      +            "xLabel": {
      +              "type": "string"
      +            },
      +            "y": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              ]
      +            },
      +            "yLabel": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "code": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "executable": {
      +              "type": "boolean"
      +            },
      +            "language": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "sql",
      +                    "json",
      +                    "bash",
      +                    "typescript"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            "title": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "metric": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "label": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "good",
      +                    "warning",
      +                    "critical"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            "trend": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "up",
      +                    "down",
      +                    "neutral"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            "trendValue": {
      +              "type": "string"
      +            },
      +            "unit": {
      +              "type": "string"
      +            },
      +            "value": {
      +              "type": [
      +                "string",
      +                "number"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "table",
      +                "chart",
      +                "metric",
      +                "code",
      +                "text",
      +                "list"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "insights": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "column": {
      +            "type": "string"
      +          },
      +          "message": {
      +            "type": "string"
      +          },
      +          "severity": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "info",
      +                  "warning",
      +                  "critical"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "string"
      +              }
      +            ]
      +          },
      +          "value": {}
      +        },
      +        "required": [
      +          "severity",
      +          "message"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "meta": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "cacheHit": {
      +          "type": "boolean"
      +        },
      +        "connection": {
      +          "type": "string"
      +        },
      +        "dialect": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "postgres",
      +                "mysql",
      +                "mssql"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        "executionTimeMs": {
      +          "$ref": "#/properties/data/anyOf/0/properties/row_count"
      +        },
      +        "plan": {},
      +        "rowCount": {
      +          "$ref": "#/properties/data/anyOf/0/properties/row_count"
      +        },
      +        "tool": {
      +          "type": "string"
      +        },
      +        "truncated": {
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "summary": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  8. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so safety is covered. The description adds real value by disclosing the exact analytical outputs (FK dependencies, views, row counts, risk score), which tells the agent the operation is a multi-faceted static analysis rather than a simple lookup. Minor gap: no indication of latency or depth of the analysis.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the object of analysis front-loaded before the enumerated output list, plus a short tier tag. No filler and nothing buried.

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

Completeness4/5

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

With an output schema present and 100% parameter coverage, the description need not explain return shapes, and it correctly focuses on what the analysis covers. The only loose end is the unexplained '[ARCHITECT tier]' marker, which could confuse an agent about eligibility.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters carry detailed descriptions, including a semantic-resolution protocol for 'connection' via list_connections. The description adds nothing beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

Names a specific verb ('Analyze') and object ('blast radius of a proposed schema change') and enumerates the artifacts returned: FK dependencies, affected views, row count, risk score. This clearly distinguishes it from generate_migration, which produces DDL rather than analysis, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The phrase 'proposed schema change' implies a pre-migration safety check, so the usage window is inferable. However, there is no explicit 'use this before X, not instead of Y' guidance, and the '[ARCHITECT tier]' tag is never explained as a gating or routing condition.

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