A side-by-side look at the Dbt MCP and Incident Response MCP for Apache Airflow MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Dbt MCP for data platforms work; choose Incident Response MCP for Apache Airflow for data platforms as a local process. You can also run both side by side in one mcpServers block.
execute_sql, text_to_sql, get_dimension_values.AIRFLOW_MCP_HOST, AIRFLOW_MCP_USERNAME, AIRFLOW_MCP_PASSWORD, AIRFLOW_MCP_API_VERSION, AIRFLOW_MCP_READ_ONLY, AIRFLOW_MCP_TOKEN_REFRESH_SECONDS.airflow_list_instances, airflow_describe_instance, airflow_resolve_url.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Platforms | Data Platforms |
| Quality signal | 77/100 · Great | 53/100 · Good |
| Install command | Not confirmed yet | Confirmed |
| Transport | — | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | None listed | AIRFLOW_MCP_HOSTAIRFLOW_MCP_USERNAMEAIRFLOW_MCP_PASSWORDAIRFLOW_MCP_API_VERSIONAIRFLOW_MCP_READ_ONLYAIRFLOW_MCP_TOKEN_REFRESH_SECONDS |
| Verified owner | Verified | Community listing |
| GitHub stars | 607 | 2 |
| Directory activity | 3 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 62 | 15 |
| Full listing | View Dbt MCP | View Incident Response MCP for Apache Airflow |
execute_sqlExecutes SQL on dbt Platform infrastructure with Semantic Layer support.text_to_sqlGenerates SQL from natural language using project context.get_dimension_valuesGets distinct values for a dimension; option to scope to specific metrics.get_dimensionsGets dimensions for specified metrics.get_entitiesGets entities for specified metrics.get_metrics_compiled_sqlReturns compiled SQL for metrics without executing the query.list_metricsRetrieves all defined metrics.list_saved_queriesRetrieves all saved queries.query_metricsExecutes metric queries with filtering and grouping options.get_all_macrosRetrieves macros; option to filter by package or return package names only.get_all_modelsRetrieves name and description of all models.get_all_sourcesGets all sources with freshness status; option to filter by source name.airflow_list_instancesList configured instance keys and the defaultairflow_describe_instanceHost, API version, auth type (secrets redacted)airflow_resolve_urlParse an Airflow UI URL into instance + dag/run/task identifiersairflow_list_dagsDAGs with pause state and UI linksairflow_get_dagDAG detailsairflow_list_dag_runsRuns with state filters and ordering (latest first by default)airflow_get_dag_runSingle run detailsairflow_list_task_instancesTask attempts for a run; filter by `state` / `task_ids` server-sideairflow_get_task_instanceTask metadata, retries, timings, optional rendered template fieldsairflow_get_task_instance_logsLogs with level filtering, tailing, context lines, and byte capsairflow_dataset_eventsDataset (Airflow 2) / asset (Airflow 3) eventsairflow_trigger_dagTrigger a run with optional conf/logical date/notePaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
No confirmed install command for Dbt MCP yet — follow the setup steps linked from its listing page rather than a guessed package name.
{
"mcpServers": {
"incident-response-mcp-for-apache-airflow": {
"command": "uvx",
"args": [
"--from",
"apache-airflow-mcp-server",
"--with",
"apache-airflow-client==3.3.0",
"airflow-mcp"
],
"env": {
"AIRFLOW_MCP_HOST": "YOUR_AIRFLOW_MCP_HOST_HERE",
"AIRFLOW_MCP_USERNAME": "YOUR_AIRFLOW_MCP_USERNAME_HERE",
"AIRFLOW_MCP_PASSWORD": "YOUR_AIRFLOW_MCP_PASSWORD_HERE",
"AIRFLOW_MCP_API_VERSION": "YOUR_AIRFLOW_MCP_API_VERSION_HERE",
"AIRFLOW_MCP_READ_ONLY": "YOUR_AIRFLOW_MCP_READ_ONLY_HERE",
"AIRFLOW_MCP_TOKEN_REFRESH_SECONDS": "YOUR_AIRFLOW_MCP_TOKEN_REFRESH_SECONDS_HERE"
}
}
}
}