Skip to main content
Glama
BrianLondon

airflow-dev-mcp

by BrianLondon

get_task_logs

Retrieve logs for a specific Airflow task instance attempt. Use to inspect output and debug failures by specifying DAG, run, task, and attempt number.

Instructions

Fetch logs for a single task instance attempt.

Args: dag_id: DAG identifier. run_id: DAG run identifier. task_id: Task identifier within the DAG. try_number: Attempt number (1-indexed). Retried tasks have multiple attempts — call get_run_status to see the latest try_number per task. map_index: Mapped task index for dynamic task mapping. Use -1 for a normal task. tail_lines: Return only the last N lines (default 500). Pass null for the full log — beware, large tasks can produce many MB of output that will blow up context.

Returns: TaskLogResult with content (log text), truncated (True if tailing dropped earlier lines), line_count (lines returned), and try_number (echoed back).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dag_idYes
run_idYes
task_idYes
map_indexNo
tail_linesNo
try_numberNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYes
truncatedYes
line_countYes
try_numberYes
Behavior5/5

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

With no annotations provided, the description fully discloses behavior: tailing (tail_lines), truncation indicator, line_count, try_number echoing, and warning about large output. Covers all safety and usage aspects.

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?

Concise yet comprehensive. Uses bullet points and clear separation of args/returns. Every sentence adds value; no redundancy. Front-loaded with purpose, then parameter explanations, then return format.

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?

Complete for a log-fetching tool. Explains all 6 parameters, output schema fields, and potential pitfalls (large output). References sibling tool for supplemental info. No gaps given the complexity and lack of annotations.

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

Parameters5/5

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

Schema coverage is 0%, so the description adds essential meaning: explains map_index (-1 for normal tasks), tail_lines (default 500, null for full log with warning), try_number (1-indexed, multiple attempts, references get_run_status). Transforms cryptic parameters into actionable knowledge.

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 'Fetch logs for a single task instance attempt,' clearly stating the verb (fetch) and resource (logs). It distinguishes from siblings by referencing get_run_status for try_number management, adding differentiation.

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?

Provides clear context for using tail_lines and warns about large logs. Mentions get_run_status to find the latest try_number. Does not explicitly state when NOT to use this tool versus other logging or status tools, but the guidance is sufficient for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BrianLondon/airflow-dev-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server