A FastMCP server for Apache Airflow integration that provides access to Airflow's REST API through MCP tools. Can run standalone or as an Airflow 2/3 plugin.
The Airflow MCP server exposes 9 read-only tools for querying Airflow state. However, critical information is missing from the provided source code: actual input schemas, parameter definitions, and detailed descriptions are not visible. Tool definitions appear to exist in src/astro_airflow_mcp/tools/__init__.py, but the source snippet does not include the actual tool registration code, parameter schemas, or return type documentation. This forces conservative scoring. The tool names follow a reasonable verb_noun pattern (list_*, get_*), and descriptions are present but brief (30-60 chars, below the 194-char baseline). Without seeing the actual schemas, parameter types, and constraints, it is impossible to verify compliance with critical pattern requirements. The Dockerfile and Makefile show good development hygiene, but do not contain tool definitions.
Inspect Airflow connections
Monitor DAG statistics
Inspect Airflow pools
Inspect Airflow variables
View system configuration and version information
View system warnings and configuration
View DAG runs and their execution status
List and inspect DAGs (Directed Acyclic Graphs / workflows)
Input schemas not visible in provided source code. Cannot verify parameter types, constraints, or descriptions. Per Hard Scoring Rule: if input schema is not visible, schema score MUST be 0.
Tool descriptions are very brief (30-60 characters). Rubric baseline is 194 chars average; descriptions under 20 chars score 0-40. Current descriptions like 'List and inspect DAGs' are under the minimum guidance threshold for LLM tool selection. Should answer WHAT, WHEN to use, and any prerequisites.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | <=2025-11-25 | v2 |
| 2026-03-09 | C | 65 | - | v1 |
Check task instances and their states
No documented return/output schemas visible. LLMs need to know what fields to expect to plan downstream tool calls. Rubric requires 100% of A+ tools to have documented return types.
No pagination parameters or limits visible for list_* tools. Rubric pattern requires paginated results accept page/offset and limit parameters. Without pagination, large DAG/run lists could exhaust context window.
No error handling guidance documented. Errors must tell the LLM what to do next ('User not found. Try search_users() first.') and categorize as retryable/user-fixable/fatal. No recovery patterns visible.