Tool: find_last_failed_dag_runs
Finds failed DAG runs in a Cloud Composer environment.
Use this tool to find recent DAG run failures, for example to begin troubleshooting.
If the user wants to troubleshoot a specific DAG, provide the DAG ID to get the details of its last failed run. If the user doesn't know which DAG is failing, or wants to see recent failures across all DAGs, leave the DAG ID empty; in this case, the tool will return the last failed DAG run for every DAG in the environment that has at least one failure. If the response returns more than one DAG run and the user asked for troubleshooting or explaining the failure, ask the user which DAG run to troubleshoot.
The following sample demonstrate how to use curl to invoke the find_last_failed_dag_runs MCP tool.
| Curl Request |
|---|
curl --location 'https://composer.{region}.rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "find_last_failed_dag_runs", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Parameters of the find_last_failed_dag_runs tool.
FindLastFailedDagRunsRequestMCP
| JSON representation |
|---|
{ "environment": string, "dagId": string } |
| Fields | |
|---|---|
environment |
Required. The name of the environment. Format: |
dagId |
Optional. The Airflow DAG ID. If specified, finds a single failed DAG run of the DAG. If not specified, finds one failed DAG run for each DAG that has such a run. |
Output Schema
Response of the find_last_failed_dag_runs tool.
FindLastFailedDagRunsResponseMCP
| JSON representation |
|---|
{
"dagRuns": [
{
object ( |
| Fields | |
|---|---|
dagRuns[] |
The list of failed DAG runs. |
DagRun
| JSON representation |
|---|
{ "name": string, "dagRunId": string, "dagId": string, "state": enum ( |
| Fields | |
|---|---|
name |
The resource name of the DAG, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/dags/{dagId}/dagRuns/{dagRunId}". |
dagRunId |
The DAG run ID. |
dagId |
The DAG ID of the DAG whose execution is described by this DAG run. |
state |
DAG run state. |
type |
DAG run type (how it got created/executed). |
executionDate |
The logical date and time which the DAG run and its task instances are running for. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
startDate |
Timestamp when the DAG run started. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
endDate |
Timestamp when the DAG run ended. Set only if the DAG run has finished. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
dataIntervalStart |
Start of the data interval. Added in version 2.2. If run has been triggered manually, this field is equal to execution_date. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
dataIntervalEnd |
End of the data interval. Added in version 2.2. If run has been triggered manually, this field is equal to execution_date. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
runAfter |
Timestamp when the DAG run was scheduled to start. Added in Airflow 3. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
note |
The note content of the DAG run. Added in Airflow 2.10.0. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌