Tool: get_dag_source_code
Retrieves the DAG source code from a Managed Airflow environment.
Use this tool when you want to understand DAG implementation details, for example to understand why a DAG run has failed, or to debug DAG's behavior. The tool returns the latest version of the source code.
The following code sample shows how to use curl to call the get_dag_source_code 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": "get_dag_source_code", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Parameters of the get_dag_source_code tool.
GetDagSourceCodeRequestMCP
| JSON representation |
|---|
{ "environment": string, "dagId": string } |
| Fields | |
|---|---|
environment |
Required. The name of the environment. Format: |
dagId |
Required. The Airflow DAG ID. |
Output Schema
A source code of a DAG.
SourceCode
| JSON representation |
|---|
{ "code": string } |
| Fields | |
|---|---|
code |
The source code of the user-defined DAG. |
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌