MCP Tools Reference: composer.googleapis.com

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

string

Required. The name of the environment. Format: projects/{projectId}/locations/{locationId}/environments/{environmentId}

dagId

string

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 (DagRun)
    }
  ]
}
Fields
dagRuns[]

object (DagRun)

The list of failed DAG runs.

DagRun

JSON representation
{
  "name": string,
  "dagRunId": string,
  "dagId": string,
  "state": enum (State),
  "type": enum (Type),
  "executionDate": string,
  "startDate": string,
  "endDate": string,
  "dataIntervalStart": string,
  "dataIntervalEnd": string,
  "runAfter": string,
  "note": string
}
Fields
name

string

The resource name of the DAG, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/dags/{dagId}/dagRuns/{dagRunId}".

dagRunId

string

The DAG run ID.

dagId

string

The DAG ID of the DAG whose execution is described by this DAG run.

state

enum (State)

DAG run state.

type

enum (Type)

DAG run type (how it got created/executed).

executionDate

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

startDate

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

endDate

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

dataIntervalStart

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

dataIntervalEnd

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

runAfter

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

note

string

The note content of the DAG run. Added in Airflow 2.10.0.

Timestamp

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

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

integer

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: ❌