{"name":"io.github.madamak/apache-airflow-mcp-server","slug":"madamak-apache-airflow-mcp-server","title":"Incident Response MCP for Apache Airflow","description":"Diagnose Airflow failures from UI links with bounded logs and optional recovery actions.","url":"https://mcp.market/server/madamak-apache-airflow-mcp-server","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":25,"stars":2,"forks":0,"downloads_week":31,"last_push_at":"2026-08-24T17:25:56.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/madamak/apache-airflow-mcp-server","website":"https://github.com/madamak/apache-airflow-mcp-server#readme","version":"1.0.2","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"apache-airflow-mcp-server","version":"1.0.2","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the Airflow instance.","isRequired":true,"placeholder":"https://airflow.example.com","name":"AIRFLOW_MCP_HOST"},{"description":"Bearer token. Provide this or both username and password; it takes precedence when set.","isSecret":true,"name":"AIRFLOW_MCP_TOKEN"},{"description":"Basic-auth username. Required with password when token is omitted.","name":"AIRFLOW_MCP_USERNAME"},{"description":"Basic-auth password. Required with username when token is omitted.","isSecret":true,"name":"AIRFLOW_MCP_PASSWORD"},{"description":"The directory install uses the Airflow 3 client. See the README for Airflow 2 setup.","value":"v2","name":"AIRFLOW_MCP_API_VERSION"},{"description":"Expose only read tools unless write access is deliberately selected.","format":"boolean","default":"true","choices":["true","false"],"name":"AIRFLOW_MCP_READ_ONLY"}]}],"tools":[{"name":"airflow_dataset_events","description":"List dataset events.","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_describe_instance","description":"Describe a configured Airflow instance (host + metadata, never secrets).","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_get_dag","description":"Get DAG details and a UI link.","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_get_dag_run","description":"Get a single DAG run and a UI link.","write_action":true,"price_micros":0,"input_schema":null},{"name":"airflow_get_task_instance","description":"Return task metadata, config, attempt summary, optional rendered fields, and UI URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_get_task_instance_logs","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_list_dag_runs","description":"List DAG runs (defaults to execution_date DESC) with per-run UI URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_list_dags","description":"List DAGs (pause state + UI link) for the target instance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_list_instances","description":"List configured Airflow instance keys.","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_list_task_instances","description":"List task instances within one DAG run, including state and attempt log URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"airflow_resolve_url","description":"Parse an Airflow UI URL, resolve instance and identifiers.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-25T21:43:33.467Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T21:43:33.504Z","components":{"code":{"score":25,"max":25,"notes":["24 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 32 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"apache-airflow-mcp-server","version":"1.0.2","found":true,"weeklyDownloads":31,"license":"Apache-2.0","dependencyCount":5,"publishedAt":"2026-07-16T15:49:10.659914Z","repositoryUrl":"https://github.com/madamak/apache-airflow-mcp-server"}],"repo":{"found":true,"owner":"madamak","repo":"apache-airflow-mcp-server","archived":false,"pushedAt":"2026-08-24T17:25:56Z","stars":2,"forks":0,"openIssues":10,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/29477589?v=4","ownerCreatedAt":"2017-06-16T08:02:28Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/29477589?v=4&s=128","source":"github"},"presence":{"stars":2,"forks":0,"downloadsWeek":31,"license":"Apache-2.0","lastPushAt":"2026-08-24T17:25:56.000Z","score":25}}}},"grade_history":[],"reviews":[]}