remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Allows interaction with Apache Airflow through a Model Context Protocol server that wraps Airflow's REST API. Supports DAG management (listing, viewing details, pausing/unpausing), DAG runs (listing, creating), task management (listing tasks and task instances), and system information (health status, version, import errors).
mcp-server-apache-airflow
Apache Airflow용 MCP(Model Context Protocol) 서버 구현으로, MCP 클라이언트와의 원활한 통합을 지원합니다. 이 프로젝트는 MCP(Model Context Protocol)를 통해 Apache Airflow와 상호 작용하는 표준화된 방법을 제공합니다.
에 대한
이 프로젝트는 Apache Airflow의 REST API를 래핑하는 모델 컨텍스트 프로토콜( MPP) 서버를 구현하여 MCP 클라이언트가 표준화된 방식으로 Airflow와 상호 작용할 수 있도록 합니다. 호환성과 유지 관리를 위해 공식 Apache Airflow 클라이언트 라이브러리를 사용합니다.
기능 구현 상태
특징 | API 경로 | 상태 |
---|---|---|
DAG 관리 | ||
DAG 목록 | /api/v1/dags | ✅ |
DAG 세부 정보 가져오기 | /api/v1/dags/{dag_id} | ✅ |
DAG 일시 정지 | /api/v1/dags/{dag_id} | ✅ |
DAG 일시 정지 해제 | /api/v1/dags/{dag_id} | ✅ |
DAG 업데이트 | /api/v1/dags/{dag_id} | ✅ |
DAG 삭제 | /api/v1/dags/{dag_id} | ✅ |
DAG 소스 가져오기 | /api/v1/dagSources/{file_token} | ✅ |
여러 DAG 패치 | /api/v1/dags | ✅ |
DAG 파일 재분석 | /api/v1/dagSources/{file_token}/reparse | ✅ |
DAG 실행 | ||
DAG 실행 목록 | /api/v1/dags/{dag_id}/dagRuns | ✅ |
DAG 실행 만들기 | /api/v1/dags/{dag_id}/dagRuns | ✅ |
DAG 실행 세부 정보 가져오기 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG 실행 업데이트 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG 실행 삭제 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG 실행 배치 가져오기 | /api/v1/dags/~/dagRuns/list | ✅ |
클리어 DAG 런 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear | ✅ |
DAG 실행 참고 사항 설정 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote | ✅ |
업스트림 데이터 세트 이벤트 가져오기 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | ✅ |
작업 | ||
DAG 작업 목록 | /api/v1/dags/{dag_id}/tasks | ✅ |
작업 세부 정보 가져오기 | /api/v1/dags/{dag_id}/tasks/{task_id} | ✅ |
작업 인스턴스 가져오기 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
작업 인스턴스 나열 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | ✅ |
작업 인스턴스 업데이트 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
작업 인스턴스 지우기 | /api/v1/dags/{dag_id}/clearTaskInstances | ✅ |
작업 인스턴스 상태 설정 | /api/v1/dags/{dag_id}/updateTaskInstancesState | ✅ |
변수 | ||
변수 목록 | /api/v1/variables | ✅ |
변수 생성 | /api/v1/variables | ✅ |
변수 가져오기 | /api/v1/variables/{variable_key} | ✅ |
변수 업데이트 | /api/v1/variables/{variable_key} | ✅ |
변수 삭제 | /api/v1/variables/{variable_key} | ✅ |
사이 | ||
연결 목록 | /api/v1/connections | ✅ |
연결 생성 | /api/v1/connections | ✅ |
연결 받기 | /api/v1/connections/{connection_id} | ✅ |
연결 업데이트 | /api/v1/connections/{connection_id} | ✅ |
연결 삭제 | /api/v1/connections/{connection_id} | ✅ |
테스트 연결 | /api/v1/connections/test | ✅ |
풀 | ||
풀 목록 | /api/v1/pools | ✅ |
풀 만들기 | /api/v1/pools | ✅ |
풀을 얻으세요 | /api/v1/pools/{pool_name} | ✅ |
풀 업데이트 | /api/v1/pools/{pool_name} | ✅ |
풀 삭제 | /api/v1/pools/{pool_name} | ✅ |
엑스컴 | ||
XCom 목록 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries | ✅ |
XCom Entry 받기 | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} | ✅ |
데이터 세트 | ||
데이터 세트 목록 | /api/v1/datasets | ✅ |
데이터 세트 가져오기 | /api/v1/datasets/{uri} | ✅ |
데이터 세트 이벤트 가져오기 | /api/v1/datasetEvents | ✅ |
데이터 세트 이벤트 생성 | /api/v1/datasetEvents | ✅ |
DAG 데이터 세트 대기 이벤트 가져오기 | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
DAG 데이터 세트 대기 이벤트 가져오기 | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
DAG 데이터 세트 대기 이벤트 삭제 | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
DAG 데이터 세트 대기 이벤트 삭제 | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
데이터 세트 대기 이벤트 가져오기 | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
데이터 세트 대기 이벤트 삭제 | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
모니터링 | ||
건강을 얻으세요 | /api/v1/health | ✅ |
DAG 통계 | ||
DAG 통계 가져오기 | /api/v1/dags/statistics | ✅ |
구성 | ||
구성 가져오기 | /api/v1/config | ✅ |
플러그인 | ||
플러그인 받기 | /api/v1/plugins | ✅ |
제공자 | ||
제공자 목록 | /api/v1/providers | ✅ |
이벤트 로그 | ||
이벤트 로그 나열 | /api/v1/eventLogs | ✅ |
이벤트 로그 가져오기 | /api/v1/eventLogs/{event_log_id} | ✅ |
체계 | ||
가져오기 오류 가져오기 | /api/v1/importErrors | ✅ |
가져오기 오류 세부 정보 가져오기 | /api/v1/importErrors/{import_error_id} | ✅ |
건강 상태 가져오기 | /api/v1/health | ✅ |
버전 받기 | /api/v1/version | ✅ |
설정
종속성
이 프로젝트는 공식 Apache Airflow 클라이언트 라이브러리( apache-airflow-client
)에 의존합니다. 이 패키지를 설치하면 자동으로 설치됩니다.
환경 변수
다음 환경 변수를 설정하세요.
지엑스피1
Claude Desktop과 함께 사용
claude_desktop_config.json
에 다음을 추가하세요:
uv
사용한 대체 구성:
/path/to/mcp-server-apache-airflow
저장소를 복제한 실제 경로로 바꾸세요.
API 그룹 선택
--apis
플래그를 설정하여 사용할 API 그룹을 선택할 수 있습니다.
기본적으로 모든 API를 사용합니다.
허용되는 값은 다음과 같습니다.
- 설정
- 사이
- 가리비
- 다그런
- 다그스탯
- 데이터 세트
- 이벤트로그
- 수입 오류
- 모니터링
- 플러그인
- 수영장
- 공급자
- 작업 인스턴스
- 변하기 쉬운
- 엑스컴
수동 실행
서버를 수동으로 실행할 수도 있습니다.
make run
다음 옵션을 허용합니다.
옵션:
--port
: SSE를 수신할 포트(기본값: 8000)--transport
: 전송 유형(stdio/sse, 기본값: stdio)
또는 동일한 매개변수를 허용하는 sse 서버를 직접 실행할 수도 있습니다.
Smithery를 통해 설치
Smithery를 통해 Claude Desktop에 Apache Airflow MCP 서버를 자동으로 설치하려면:
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
You must be authenticated.
Tools
MCP 클라이언트가 Apache Airflow의 REST API와 상호 작용할 수 있는 표준화된 방법을 제공하여 DAG 관리 및 Airflow 시스템 상태 모니터링과 같은 작업을 지원합니다.