Skip to main content
Glama
us-all

airflow-mcp-server

by us-all

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.4

  • Disambiguation5/5

    Each tool targets a distinct operation: listing DAGs, runs, task instances, logs, clearing tasks, triggering, health rollup, and tool search. No two tools have overlapping functionality.

    Naming Consistency3/5

    Most tools follow 'airflow-verb-noun' pattern, but 'dag-health-rollup' and 'search-tools' lack the 'airflow-' prefix, creating inconsistency in the naming convention.

    Tool Count5/5

    With 8 tools, the server covers essential Airflow operations (monitoring, triggering, clearing, health) without being bloated or too sparse.

    Completeness4/5

    Covers core lifecycle: list, trigger, monitor, clear tasks, logs, and health. Missing detailed DAG info (e.g., schedule, catchup) but sufficient for typical operational use cases.

  • Average 3.6/5 across 8 of 8 tools scored. Lowest: 2.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 11 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations, the description carries full responsibility for behavioral disclosure. It mentions 'tail (last N kB)' implying it returns a truncated portion of the log, but it does not describe permissions, rate limits, response format, or what happens if the log is smaller than tailKb. This is insufficient for safe invocation.

    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?

    The description is a single, well-structured sentence that front-loads the action and resource. It contains no extraneous information and is easily parseable by an AI agent.

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

    Completeness2/5

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

    Given the tool has 6 parameters, no output schema, and no annotations, the description is insufficiently complete. It does not explain return values (e.g., log content format), error conditions, or behavior when parameters are missing or invalid. The agent would need additional context to use the tool effectively.

    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 description coverage is low (33%, only tailKb and extractFields are described). The description adds value by explaining 'tail' and mentioning 'try_number', which relates to the tryNumber parameter. However, it does not elaborate on dagId, dagRunId, or taskId beyond their names, leaving the agent to infer their purposes from context.

    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 clearly states the action ('Fetch'), the resource ('tail of Airflow task instance log'), and the specific context ('for a specific try_number'). It effectively distinguishes itself from sibling tools like airflow-clear-task or airflow-list-dags, which handle different aspects of Airflow.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as needing a successful task run or that logs are only available after execution. The description lacks context for appropriate use cases.

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

  • Behavior3/5

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

    The description adds behavioral context not in the schema, such as 'active by default', which is useful. However, it does not disclose other important traits like rate limits, return format, or read-only nature, which are critical given no annotations.

    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?

    The description is a single, well-structured sentence that front-loads the main purpose and key features. Every word serves a clear purpose with no redundancy.

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

    Completeness2/5

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

    The description lacks completeness for a list tool with 5 parameters and no output schema. It does not mention response structure, pagination limits, or how results are ordered, leaving the agent underinformed.

    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 description coverage is 80%, so baseline is 3. The description paraphrases parameter capabilities (optional tag filter, dag_id search) without adding meaning beyond what the schema already provides.

    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?

    The description clearly states the action (List), resource (Airflow DAGs), and distinguishes from siblings by mentioning default active filtering, tag filter, and dag_id substring search. It is specific and leaves no ambiguity about what the tool does.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. While the description implies use for listing DAGs, it does not mention when to use it over sibling tools like 'dag-health-rollup' or when not to use it.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only says 'list', implying a read operation, but does not disclose any behavioral traits such as pagination, permissions, limits, or side effects. Minimal transparency.

    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?

    Single sentence, 14 words, front-loaded with action and resource. Every word earns its place.

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

    Completeness3/5

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

    For a simple listing tool with no output schema, the description adequately states the core function but lacks details on parameter usage and return format. Could be more complete with examples or constraints.

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

    Parameters2/5

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

    The description does not explain any input parameters; it only mentions output fields. Of the three parameters (dagId, dagRunId, extractFields), only dagRunId and extractFields have schema descriptions, but dagId has none. The description adds no additional meaning to the parameters.

    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 clearly states the tool lists task instances for a specific Airflow DAG run, specifying returned fields (state, try_number, duration). This distinguishes it from sibling tools like airflow-list-runs (which lists runs) and airflow-get-task-logs (which gets logs).

    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 description implies when to use the tool (to list task instances) but provides no explicit guidance on when not to use it or alternatives. The sibling list is given but the description doesn't help choose between them.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It discloses the write constraint and optional parameters, but does not mention potential side effects, error behavior, or whether the operation is synchronous.

    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?

    Two concise sentences that front-load the purpose and add a constraint. No unnecessary words, efficiently communicates key information.

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

    Completeness2/5

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

    Missing critical details: no output schema or description of return value (run ID?), no mention of asynchronous behavior, error conditions, or required permissions beyond write-gate. For a trigger action, agents need to know what to expect after invocation.

    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 description coverage is 80%, so baseline is 3. The description adds 'write-gated' context but largely repeats schema info (optional conf and note). Does not add deeper semantics for nested 'conf' object.

    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 clearly states the action (trigger) and resource (new Airflow DAG run), and mentions optional conf and note. It distinguishes from siblings, as no other sibling tool triggers a DAG run.

    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 description notes write-gating via AIRFLOW_ALLOW_WRITE, implying usage context, but does not explicitly state when to use this tool versus alternatives (e.g., when to trigger vs clear tasks). No direct comparison with sibling tools.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It mentions that tasks are cleared and re-run, and that writes are gated by an environment variable. However, it does not disclose effects on downstream dependencies, reversibility, or state changes beyond the high-level action. The transparency is adequate but not detailed.

    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?

    The description is a single, dense sentence that conveys the core action, key features, and a usage constraint. No unnecessary words or redundancy. Efficiently structured.

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

    Completeness3/5

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

    For a mutation tool with 5 parameters and no output schema or annotations, the description covers the basic purpose and two important flags. However, it lacks details on return values, prerequisites (e.g., DAG run state), and deeper behavioral context. It is minimally complete but has notable gaps.

    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 low (20%), so the description must clarify parameters. The description explains the boolean parameters (include_upstream/downstream) but does not elaborate on dagId or dagRunId beyond their names. The taskIds parameter already has a schema description. Overall, the description adds some value but leaves some parameter meanings implicit.

    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 clearly states the action (clear/re-run), the resource (specific task instances in an Airflow DAG run), and the supported flags (include_upstream/downstream). It effectively distinguishes this tool from siblings like airflow-get-task-instances (read-only) and airflow-trigger-dag (new run).

    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 description implies usage for re-running tasks but does not explicitly state when to use this tool versus alternatives like triggering a new run or reading task instances. The write gate is mentioned, which provides a usage constraint, but no exclusions or comparative guidance are provided.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses that it lists runs, filters by state, and orders newest first, but lacks details on auth needs, rate limits, or behavior when no runs exist. Adequate but not thorough.

    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?

    Single sentence that conveys key information efficiently with no wasted words. Front-loaded with action and resource.

    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?

    For a list tool with 4 parameters and no output schema, the description covers basic functionality. Lacks details on return format, pagination, and error scenarios. Could be more complete but is sufficient for a straightforward list operation.

    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 description coverage is 75%, so baseline is 3. Description adds ordering context ('ordered newest first') but otherwise does not elaborate beyond schema. The 'limit' parameter lacks full description in both schema and description.

    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?

    Clearly states verb 'list', resource 'runs of one Airflow DAG', and specifies optional filter by state and ordering. Differentiates from siblings by specifying one DAG and ordering.

    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?

    Implies usage for listing DAG runs but does not provide explicit guidance on when to use this tool vs siblings like airflow-get-task-instances or search-tools. No exclusions or alternatives mentioned.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses the tool's purpose as a discovery tool but does not mention read-only behavior, rate limits, or side effects. For a search tool, this is adequate but leaves some ambiguity.

    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?

    The description is a single, front-loaded sentence with no wasted words. It conveys the essential purpose and usage guidance efficiently.

    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?

    Given the simplicity of the tool (3 parameters, all documented, no output schema), the description covers the core purpose and entry-point guidance. Missing details about output format, but the agent can infer a list of tools.

    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%, so the baseline is 3. The description does not add new semantic info beyond the schema; it repeats 'call this first' which is already in the query parameter description.

    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 clearly states the verb 'Discover' and the resource 'available Airflow MCP tools' via natural language query. This distinguishes it from sibling tools which are specific Airflow operations (e.g., clear task, trigger DAG).

    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?

    The description explicitly advises 'call this first to find the right tool,' providing clear when-to-use guidance. It lacks explicit exclusions or alternatives but strongly implies this is the entry point.

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

  • Behavior4/5

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

    The description lists what the tool returns (success-rate, count breakdown, average duration, last-failed-run id, optional failing tasks). It implies a read-only operation but does not explicitly state safety or discuss side effects, auth needs, or rate limits. With no annotations, the description carries the full burden and covers main behavior adequately.

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

    Conciseness4/5

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

    The description is a single, information-dense sentence. It front-loads the key purpose ('Aggregated DAG health') and lists outputs efficiently. Slight improvement could be splitting into two sentences, but overall concise.

    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?

    Given no output schema and 4 parameters with 75% coverage, the description provides a good high-level overview of output. It does not specify exact field names or types, but the context of replacing a combo tool makes it fairly complete for the intended use case.

    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 description coverage is 75% (recentRuns lacks a description). The description adds no further parameter details beyond what the schema provides. Baseline 3 is appropriate given high schema coverage but no extra param guidance.

    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 clearly states the tool provides aggregated DAG health metrics (success-rate, counts, duration, last failed run, optional failing tasks) and explicitly distinguishes it from siblings by stating it replaces the airflow-list-runs + airflow-get-task-instances combo for a health check.

    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?

    The description indicates when to use: for a quick health summary ('is this DAG healthy right now?') and that it replaces a two-tool combo. It implies alternatives (the individual tools for detailed info) but does not explicitly state when not to use it. Clear context is provided.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

airflow-mcp-server MCP server

Copy to your README.md:

Score Badge

airflow-mcp-server MCP server

Copy to your README.md:

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/us-all/airflow-mcp-server'

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