Apache Airflow · Capability

Airflow API — XCom

Airflow API — XCom. 5 operations. Lead operation: Airflow Get Xcom Entries. Self-contained Naftiko capability covering one Airflow business surface.

Run with Naftiko AirflowXCom

What You Can Do

GET
Getxcomentries — Airflow Get Xcom Entries
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries
POST
Createxcomentry — Airflow Create Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries
GET
Getxcomentry — Airflow Get Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}
PATCH
Updatexcomentry — Airflow Update Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}
DELETE
Deletexcomentry — Airflow Delete Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}

MCP Tools

airflow-get-xcom-entries

Airflow Get Xcom Entries

read-only idempotent
airflow-create-xcom-entry

Airflow Create Xcom Entry

airflow-get-xcom-entry

Airflow Get Xcom Entry

read-only idempotent
airflow-update-xcom-entry

Airflow Update Xcom Entry

idempotent
airflow-delete-xcom-entry

Airflow Delete Xcom Entry

idempotent

Capability Spec

airflow-xcom.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Airflow API — XCom
  description: 'Airflow API — XCom. 5 operations. Lead operation: Airflow Get Xcom Entries. Self-contained Naftiko capability
    covering one Airflow business surface.'
  tags:
  - Airflow
  - XCom
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AIRFLOW_API_KEY: AIRFLOW_API_KEY
capability:
  consumes:
  - type: http
    namespace: airflow-xcom
    baseUri: ''
    description: Airflow API — XCom business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries
      path: /api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries
      operations:
      - name: getxcomentries
        method: GET
        description: Airflow Get Xcom Entries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dag_id
          in: path
          type: string
          required: true
        - name: dag_run_id
          in: path
          type: string
          required: true
        - name: task_id
          in: path
          type: string
          required: true
        - name: xcom_key
          in: query
          type: string
        - name: map_index
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        - name: xcom_key_pattern
          in: query
          type: string
          description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR
            logic (e.g. `dag1 | dag2`). Regular expressions are **not** '
        - name: dag_display_name_pattern
          in: query
          type: string
          description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR
            logic (e.g. `dag1 | dag2`). Regular expressions are **not** '
        - name: run_id_pattern
          in: query
          type: string
          description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR
            logic (e.g. `dag1 | dag2`). Regular expressions are **not** '
        - name: task_id_pattern
          in: query
          type: string
          description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR
            logic (e.g. `dag1 | dag2`). Regular expressions are **not** '
        - name: map_index_filter
          in: query
          type: string
        - name: logical_date_gte
          in: query
          type: string
        - name: logical_date_gt
          in: query
          type: string
        - name: logical_date_lte
          in: query
          type: string
        - name: logical_date_lt
          in: query
          type: string
        - name: run_after_gte
          in: query
          type: string
        - name: run_after_gt
          in: query
          type: string
        - name: run_after_lte
          in: query
          type: string
        - name: run_after_lt
          in: query
          type: string
      - name: createxcomentry
        method: POST
        description: Airflow Create Xcom Entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dag_id
          in: path
          type: string
          required: true
        - name: task_id
          in: path
          type: string
          required: true
        - name: dag_run_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries-xcom_key
      path: /api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}
      operations:
      - name: getxcomentry
        method: GET
        description: Airflow Get Xcom Entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dag_id
          in: path
          type: string
          required: true
        - name: task_id
          in: path
          type: string
          required: true
        - name: dag_run_id
          in: path
          type: string
          required: true
        - name: xcom_key
          in: path
          type: string
          required: true
        - name: map_index
          in: query
          type: integer
        - name: deserialize
          in: query
          type: boolean
        - name: stringify
          in: query
          type: boolean
      - name: updatexcomentry
        method: PATCH
        description: Airflow Update Xcom Entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dag_id
          in: path
          type: string
          required: true
        - name: task_id
          in: path
          type: string
          required: true
        - name: dag_run_id
          in: path
          type: string
          required: true
        - name: xcom_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletexcomentry
        method: DELETE
        description: Airflow Delete Xcom Entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dag_id
          in: path
          type: string
          required: true
        - name: task_id
          in: path
          type: string
          required: true
        - name: dag_run_id
          in: path
          type: string
          required: true
        - name: xcom_key
          in: path
          type: string
          required: true
        - name: map_index
          in: query
          type: integer
    authentication:
      type: bearer
      token: '{{env.AIRFLOW_API_KEY}}'
  exposes:
  - type: rest
    namespace: airflow-xcom-rest
    port: 8080
    description: REST adapter for Airflow API — XCom. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries
      name: api-v2-dags-dag-id-dagruns-dag-run-id-taskinstances-task-id-xcomentries
      description: REST surface for api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries.
      operations:
      - method: GET
        name: getxcomentries
        description: Airflow Get Xcom Entries
        call: airflow-xcom.getxcomentries
        with:
          dag_id: rest.dag_id
          dag_run_id: rest.dag_run_id
          task_id: rest.task_id
          xcom_key: rest.xcom_key
          map_index: rest.map_index
          limit: rest.limit
          offset: rest.offset
          xcom_key_pattern: rest.xcom_key_pattern
          dag_display_name_pattern: rest.dag_display_name_pattern
          run_id_pattern: rest.run_id_pattern
          task_id_pattern: rest.task_id_pattern
          map_index_filter: rest.map_index_filter
          logical_date_gte: rest.logical_date_gte
          logical_date_gt: rest.logical_date_gt
          logical_date_lte: rest.logical_date_lte
          logical_date_lt: rest.logical_date_lt
          run_after_gte: rest.run_after_gte
          run_after_gt: rest.run_after_gt
          run_after_lte: rest.run_after_lte
          run_after_lt: rest.run_after_lt
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createxcomentry
        description: Airflow Create Xcom Entry
        call: airflow-xcom.createxcomentry
        with:
          dag_id: rest.dag_id
          task_id: rest.task_id
          dag_run_id: rest.dag_run_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}
      name: api-v2-dags-dag-id-dagruns-dag-run-id-taskinstances-task-id-xcomentries-xcom-key
      description: REST surface for api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries-xcom_key.
      operations:
      - method: GET
        name: getxcomentry
        description: Airflow Get Xcom Entry
        call: airflow-xcom.getxcomentry
        with:
          dag_id: rest.dag_id
          task_id: rest.task_id
          dag_run_id: rest.dag_run_id
          xcom_key: rest.xcom_key
          map_index: rest.map_index
          deserialize: rest.deserialize
          stringify: rest.stringify
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatexcomentry
        description: Airflow Update Xcom Entry
        call: airflow-xcom.updatexcomentry
        with:
          dag_id: rest.dag_id
          task_id: rest.task_id
          dag_run_id: rest.dag_run_id
          xcom_key: rest.xcom_key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletexcomentry
        description: Airflow Delete Xcom Entry
        call: airflow-xcom.deletexcomentry
        with:
          dag_id: rest.dag_id
          task_id: rest.task_id
          dag_run_id: rest.dag_run_id
          xcom_key: rest.xcom_key
          map_index: rest.map_index
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: airflow-xcom-mcp
    port: 9090
    transport: http
    description: MCP adapter for Airflow API — XCom. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: airflow-get-xcom-entries
      description: Airflow Get Xcom Entries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: airflow-xcom.getxcomentries
      with:
        dag_id: tools.dag_id
        dag_run_id: tools.dag_run_id
        task_id: tools.task_id
        xcom_key: tools.xcom_key
        map_index: tools.map_index
        limit: tools.limit
        offset: tools.offset
        xcom_key_pattern: tools.xcom_key_pattern
        dag_display_name_pattern: tools.dag_display_name_pattern
        run_id_pattern: tools.run_id_pattern
        task_id_pattern: tools.task_id_pattern
        map_index_filter: tools.map_index_filter
        logical_date_gte: tools.logical_date_gte
        logical_date_gt: tools.logical_date_gt
        logical_date_lte: tools.logical_date_lte
        logical_date_lt: tools.logical_date_lt
        run_after_gte: tools.run_after_gte
        run_after_gt: tools.run_after_gt
        run_after_lte: tools.run_after_lte
        run_after_lt: tools.run_after_lt
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-create-xcom-entry
      description: Airflow Create Xcom Entry
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: airflow-xcom.createxcomentry
      with:
        dag_id: tools.dag_id
        task_id: tools.task_id
        dag_run_id: tools.dag_run_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-get-xcom-entry
      description: Airflow Get Xcom Entry
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: airflow-xcom.getxcomentry
      with:
        dag_id: tools.dag_id
        task_id: tools.task_id
        dag_run_id: tools.dag_run_id
        xcom_key: tools.xcom_key
        map_index: tools.map_index
        deserialize: tools.deserialize
        stringify: tools.stringify
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-update-xcom-entry
      description: Airflow Update Xcom Entry
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: airflow-xcom.updatexcomentry
      with:
        dag_id: tools.dag_id
        task_id: tools.task_id
        dag_run_id: tools.dag_run_id
        xcom_key: tools.xcom_key
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-delete-xcom-entry
      description: Airflow Delete Xcom Entry
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: airflow-xcom.deletexcomentry
      with:
        dag_id: tools.dag_id
        task_id: tools.task_id
        dag_run_id: tools.dag_run_id
        xcom_key: tools.xcom_key
        map_index: tools.map_index
      outputParameters:
      - type: object
        mapping: $.