Windmill · Capability

Windmill API — helpers

Windmill API — helpers. 22 operations. Lead operation: Check if S3 Path Exists and is a Folder. Self-contained Naftiko capability covering one Windmill business surface.

Run with Naftiko Windmillhelpers

What You Can Do

GET
Checks3folderexists — Check if S3 Path Exists and is a Folder
/v1/w/{workspace}/job-helpers/check-s3-folder-exists
DELETE
Deletes3file — Permanently Delete File from S3
/v1/w/{workspace}/job-helpers/delete-s3-file
GET
Filedownload — Download File from S3 Bucket
/v1/w/{workspace}/job-helpers/download-s3-file
GET
Filedownloadparquetascsv — Download File to S3 Bucket
/v1/w/{workspace}/job-helpers/download-s3-parquet-file-as-csv
POST
Duckdbconnectionsettings — Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket
/v1/w/{workspace}/job-helpers/duckdb-connection-settings
GET
Listgitrepofiles — List the File Keys Available in Instance Object Storage with Resource-based Access Control
/v1/w/{workspace}/job-helpers/list-git-repo-files
GET
Liststoredfiles — List the File Keys Available in a Workspace Object Storage
/v1/w/{workspace}/job-helpers/list-stored-files
GET
Loadcsvpreview — Load a Preview of a Csv File
/v1/w/{workspace}/job-helpers/load-csv-preview/{path}
GET
Loadfilemetadata — Load Metadata of the File
/v1/w/{workspace}/job-helpers/load-file-metadata
GET
Loadfilepreview — Load a Preview of the File
/v1/w/{workspace}/job-helpers/load-file-preview
GET
Loadgitrepofilemetadata — Load File Metadata from Instance Storage with Resource-based Access Control
/v1/w/{workspace}/job-helpers/load-git-repo-file-metadata
GET
Loadgitrepofilepreview — Load a Preview of a File from Instance Storage with Resource-based Access Control
/v1/w/{workspace}/job-helpers/load-git-repo-file-preview
GET
Loadparquetpreview — Load a Preview of a Parquet File
/v1/w/{workspace}/job-helpers/load-parquet-preview/{path}
GET
Loadtablerowcount — Load the Table Row Count
/v1/w/{workspace}/job-helpers/load-table-count/{path}
GET
Moves3file — Move a S3 File from One Path to the Other Within the Same Bucket
/v1/w/{workspace}/job-helpers/move-s3-file
POST
Polarsconnectionsettings — Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket
/v1/w/{workspace}/job-helpers/polars-connection-settings
GET
Datasetstoragetestconnection — Test Connection to the Workspace Object Storage
/v1/w/{workspace}/job-helpers/test-connection
POST
Gitrepoviewerfileupload — Upload a File to the Instance Storage Gitrepos Section for Viewing
/v1/w/{workspace}/job-helpers/upload-git-repo-file-to-instance-storage
POST
Fileupload — Upload File to S3 Bucket
/v1/w/{workspace}/job-helpers/upload-s3-file
POST
Duckdbconnectionsettingsv2 — Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket
/v1/w/{workspace}/job-helpers/v2/duckdb-connection-settings
POST
Polarsconnectionsettingsv2 — Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket
/v1/w/{workspace}/job-helpers/v2/polars-connection-settings
POST
S3resourceinfo — Returns the S3 Resource Associated to the Provided Path, or the workspace default S3 resource
/v1/w/{workspace}/job-helpers/v2/s3-resource-info

MCP Tools

check-if-s3-path-exists

Check if S3 Path Exists and is a Folder

read-only idempotent
permanently-delete-file-s3

Permanently Delete File from S3

idempotent
download-file-s3-bucket

Download File from S3 Bucket

read-only idempotent
download-file-s3-bucket-2

Download File to S3 Bucket

read-only idempotent
converts-s3-resource-set-instructions

Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket

list-file-keys-available-instance

List the File Keys Available in Instance Object Storage with Resource-based Access Control

read-only idempotent
list-file-keys-available-workspace

List the File Keys Available in a Workspace Object Storage

read-only idempotent
load-preview-csv-file

Load a Preview of a Csv File

read-only idempotent
load-metadata-file

Load Metadata of the File

read-only idempotent
load-preview-file

Load a Preview of the File

read-only idempotent
load-file-metadata-instance-storage

Load File Metadata from Instance Storage with Resource-based Access Control

read-only idempotent
load-preview-file-instance-storage

Load a Preview of a File from Instance Storage with Resource-based Access Control

read-only idempotent
load-preview-parquet-file

Load a Preview of a Parquet File

read-only idempotent
load-table-row-count

Load the Table Row Count

read-only idempotent
move-s3-file-one-path

Move a S3 File from One Path to the Other Within the Same Bucket

read-only idempotent
converts-s3-resource-set-arguments

Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket

test-connection-workspace-object-storage

Test Connection to the Workspace Object Storage

read-only idempotent
upload-file-instance-storage-gitrepos

Upload a File to the Instance Storage Gitrepos Section for Viewing

upload-file-s3-bucket

Upload File to S3 Bucket

converts-s3-resource-set-instructions-2

Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket

converts-s3-resource-set-arguments-2

Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket

returns-s3-resource-associated-provided

Returns the S3 Resource Associated to the Provided Path, or the workspace default S3 resource

Capability Spec

windmill-helpers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Windmill API — helpers
  description: 'Windmill API — helpers. 22 operations. Lead operation: Check if S3 Path Exists and is a Folder. Self-contained
    Naftiko capability covering one Windmill business surface.'
  tags:
  - Windmill
  - helpers
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WINDMILL_API_KEY: WINDMILL_API_KEY
capability:
  consumes:
  - type: http
    namespace: windmill-helpers
    baseUri: ''
    description: Windmill API — helpers business capability. Self-contained, no shared references.
    resources:
    - name: w-workspace-job_helpers-check_s3_folder_exists
      path: /w/{workspace}/job_helpers/check_s3_folder_exists
      operations:
      - name: checks3folderexists
        method: GET
        description: Check if S3 Path Exists and is a Folder
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          description: S3 file key to check (e.g., gitrepos/{workspace_id}/u/user/resource/{commit_hash})
          required: true
        - name: marker_file
          in: query
          type: string
          description: If provided, the folder is only considered to exist when this exact
    - name: w-workspace-job_helpers-delete_s3_file
      path: /w/{workspace}/job_helpers/delete_s3_file
      operations:
      - name: deletes3file
        method: DELETE
        description: Permanently Delete File from S3
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          required: true
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-download_s3_file
      path: /w/{workspace}/job_helpers/download_s3_file
      operations:
      - name: filedownload
        method: GET
        description: Download File from S3 Bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          required: true
        - name: s3_resource_path
          in: query
          type: string
        - name: resource_type
          in: query
          type: string
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-download_s3_parquet_file_as_csv
      path: /w/{workspace}/job_helpers/download_s3_parquet_file_as_csv
      operations:
      - name: filedownloadparquetascsv
        method: GET
        description: Download File to S3 Bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          required: true
        - name: s3_resource_path
          in: query
          type: string
        - name: resource_type
          in: query
          type: string
    - name: w-workspace-job_helpers-duckdb_connection_settings
      path: /w/{workspace}/job_helpers/duckdb_connection_settings
      operations:
      - name: duckdbconnectionsettings
        method: POST
        description: Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-job_helpers-list_git_repo_files
      path: /w/{workspace}/job_helpers/list_git_repo_files
      operations:
      - name: listgitrepofiles
        method: GET
        description: List the File Keys Available in Instance Object Storage with Resource-based Access Control
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: max_keys
          in: query
          type: integer
          required: true
        - name: marker
          in: query
          type: string
        - name: prefix
          in: query
          type: string
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-list_stored_files
      path: /w/{workspace}/job_helpers/list_stored_files
      operations:
      - name: liststoredfiles
        method: GET
        description: List the File Keys Available in a Workspace Object Storage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: max_keys
          in: query
          type: integer
          required: true
        - name: marker
          in: query
          type: string
        - name: prefix
          in: query
          type: string
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-load_csv_preview-path
      path: /w/{workspace}/job_helpers/load_csv_preview/{path}
      operations:
      - name: loadcsvpreview
        method: GET
        description: Load a Preview of a Csv File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: number
        - name: limit
          in: query
          type: number
        - name: sort_col
          in: query
          type: string
        - name: sort_desc
          in: query
          type: boolean
        - name: search_col
          in: query
          type: string
        - name: search_term
          in: query
          type: string
        - name: storage
          in: query
          type: string
        - name: csv_separator
          in: query
          type: string
    - name: w-workspace-job_helpers-load_file_metadata
      path: /w/{workspace}/job_helpers/load_file_metadata
      operations:
      - name: loadfilemetadata
        method: GET
        description: Load Metadata of the File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          required: true
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-load_file_preview
      path: /w/{workspace}/job_helpers/load_file_preview
      operations:
      - name: loadfilepreview
        method: GET
        description: Load a Preview of the File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          required: true
        - name: file_size_in_bytes
          in: query
          type: integer
        - name: file_mime_type
          in: query
          type: string
        - name: csv_separator
          in: query
          type: string
        - name: csv_has_header
          in: query
          type: boolean
        - name: read_bytes_from
          in: query
          type: integer
        - name: read_bytes_length
          in: query
          type: integer
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-load_git_repo_file_metadata
      path: /w/{workspace}/job_helpers/load_git_repo_file_metadata
      operations:
      - name: loadgitrepofilemetadata
        method: GET
        description: Load File Metadata from Instance Storage with Resource-based Access Control
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          required: true
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-load_git_repo_file_preview
      path: /w/{workspace}/job_helpers/load_git_repo_file_preview
      operations:
      - name: loadgitrepofilepreview
        method: GET
        description: Load a Preview of a File from Instance Storage with Resource-based Access Control
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
          required: true
        - name: file_size_in_bytes
          in: query
          type: integer
        - name: file_mime_type
          in: query
          type: string
        - name: csv_separator
          in: query
          type: string
        - name: csv_has_header
          in: query
          type: boolean
        - name: read_bytes_from
          in: query
          type: integer
        - name: read_bytes_length
          in: query
          type: integer
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-load_parquet_preview-path
      path: /w/{workspace}/job_helpers/load_parquet_preview/{path}
      operations:
      - name: loadparquetpreview
        method: GET
        description: Load a Preview of a Parquet File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: number
        - name: limit
          in: query
          type: number
        - name: sort_col
          in: query
          type: string
        - name: sort_desc
          in: query
          type: boolean
        - name: search_col
          in: query
          type: string
        - name: search_term
          in: query
          type: string
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-load_table_count-path
      path: /w/{workspace}/job_helpers/load_table_count/{path}
      operations:
      - name: loadtablerowcount
        method: GET
        description: Load the Table Row Count
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: search_col
          in: query
          type: string
        - name: search_term
          in: query
          type: string
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-move_s3_file
      path: /w/{workspace}/job_helpers/move_s3_file
      operations:
      - name: moves3file
        method: GET
        description: Move a S3 File from One Path to the Other Within the Same Bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: src_file_key
          in: query
          type: string
          required: true
        - name: dest_file_key
          in: query
          type: string
          required: true
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-polars_connection_settings
      path: /w/{workspace}/job_helpers/polars_connection_settings
      operations:
      - name: polarsconnectionsettings
        method: POST
        description: Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-job_helpers-test_connection
      path: /w/{workspace}/job_helpers/test_connection
      operations:
      - name: datasetstoragetestconnection
        method: GET
        description: Test Connection to the Workspace Object Storage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: storage
          in: query
          type: string
    - name: w-workspace-job_helpers-upload_git_repo_file_to_instance_storage
      path: /w/{workspace}/job_helpers/upload_git_repo_file_to_instance_storage
      operations:
      - name: gitrepoviewerfileupload
        method: POST
        description: Upload a File to the Instance Storage Gitrepos Section for Viewing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
        - name: file_extension
          in: query
          type: string
        - name: s3_resource_path
          in: query
          type: string
        - name: resource_type
          in: query
          type: string
        - name: storage
          in: query
          type: string
        - name: content_type
          in: query
          type: string
        - name: content_disposition
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-job_helpers-upload_s3_file
      path: /w/{workspace}/job_helpers/upload_s3_file
      operations:
      - name: fileupload
        method: POST
        description: Upload File to S3 Bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_key
          in: query
          type: string
        - name: file_extension
          in: query
          type: string
        - name: s3_resource_path
          in: query
          type: string
        - name: resource_type
          in: query
          type: string
        - name: storage
          in: query
          type: string
        - name: content_type
          in: query
          type: string
        - name: content_disposition
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-job_helpers-v2-duckdb_connection_settings
      path: /w/{workspace}/job_helpers/v2/duckdb_connection_settings
      operations:
      - name: duckdbconnectionsettingsv2
        method: POST
        description: Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-job_helpers-v2-polars_connection_settings
      path: /w/{workspace}/job_helpers/v2/polars_connection_settings
      operations:
      - name: polarsconnectionsettingsv2
        method: POST
        description: Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-job_helpers-v2-s3_resource_info
      path: /w/{workspace}/job_helpers/v2/s3_resource_info
      operations:
      - name: s3resourceinfo
        method: POST
        description: Returns the S3 Resource Associated to the Provided Path, or the workspace default S3 resource
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.WINDMILL_API_KEY}}'
  exposes:
  - type: rest
    namespace: windmill-helpers-rest
    port: 8080
    description: REST adapter for Windmill API — helpers. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/w/{workspace}/job-helpers/check-s3-folder-exists
      name: w-workspace-job-helpers-check-s3-folder-exists
      description: REST surface for w-workspace-job_helpers-check_s3_folder_exists.
      operations:
      - method: GET
        name: checks3folderexists
        description: Check if S3 Path Exists and is a Folder
        call: windmill-helpers.checks3folderexists
        with:
          file_key: rest.file_key
          marker_file: rest.marker_file
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/delete-s3-file
      name: w-workspace-job-helpers-delete-s3-file
      description: REST surface for w-workspace-job_helpers-delete_s3_file.
      operations:
      - method: DELETE
        name: deletes3file
        description: Permanently Delete File from S3
        call: windmill-helpers.deletes3file
        with:
          file_key: rest.file_key
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/download-s3-file
      name: w-workspace-job-helpers-download-s3-file
      description: REST surface for w-workspace-job_helpers-download_s3_file.
      operations:
      - method: GET
        name: filedownload
        description: Download File from S3 Bucket
        call: windmill-helpers.filedownload
        with:
          file_key: rest.file_key
          s3_resource_path: rest.s3_resource_path
          resource_type: rest.resource_type
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/download-s3-parquet-file-as-csv
      name: w-workspace-job-helpers-download-s3-parquet-file-as-csv
      description: REST surface for w-workspace-job_helpers-download_s3_parquet_file_as_csv.
      operations:
      - method: GET
        name: filedownloadparquetascsv
        description: Download File to S3 Bucket
        call: windmill-helpers.filedownloadparquetascsv
        with:
          file_key: rest.file_key
          s3_resource_path: rest.s3_resource_path
          resource_type: rest.resource_type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/duckdb-connection-settings
      name: w-workspace-job-helpers-duckdb-connection-settings
      description: REST surface for w-workspace-job_helpers-duckdb_connection_settings.
      operations:
      - method: POST
        name: duckdbconnectionsettings
        description: Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket
        call: windmill-helpers.duckdbconnectionsettings
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/list-git-repo-files
      name: w-workspace-job-helpers-list-git-repo-files
      description: REST surface for w-workspace-job_helpers-list_git_repo_files.
      operations:
      - method: GET
        name: listgitrepofiles
        description: List the File Keys Available in Instance Object Storage with Resource-based Access Control
        call: windmill-helpers.listgitrepofiles
        with:
          max_keys: rest.max_keys
          marker: rest.marker
          prefix: rest.prefix
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/list-stored-files
      name: w-workspace-job-helpers-list-stored-files
      description: REST surface for w-workspace-job_helpers-list_stored_files.
      operations:
      - method: GET
        name: liststoredfiles
        description: List the File Keys Available in a Workspace Object Storage
        call: windmill-helpers.liststoredfiles
        with:
          max_keys: rest.max_keys
          marker: rest.marker
          prefix: rest.prefix
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/load-csv-preview/{path}
      name: w-workspace-job-helpers-load-csv-preview-path
      description: REST surface for w-workspace-job_helpers-load_csv_preview-path.
      operations:
      - method: GET
        name: loadcsvpreview
        description: Load a Preview of a Csv File
        call: windmill-helpers.loadcsvpreview
        with:
          offset: rest.offset
          limit: rest.limit
          sort_col: rest.sort_col
          sort_desc: rest.sort_desc
          search_col: rest.search_col
          search_term: rest.search_term
          storage: rest.storage
          csv_separator: rest.csv_separator
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/load-file-metadata
      name: w-workspace-job-helpers-load-file-metadata
      description: REST surface for w-workspace-job_helpers-load_file_metadata.
      operations:
      - method: GET
        name: loadfilemetadata
        description: Load Metadata of the File
        call: windmill-helpers.loadfilemetadata
        with:
          file_key: rest.file_key
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/load-file-preview
      name: w-workspace-job-helpers-load-file-preview
      description: REST surface for w-workspace-job_helpers-load_file_preview.
      operations:
      - method: GET
        name: loadfilepreview
        description: Load a Preview of the File
        call: windmill-helpers.loadfilepreview
        with:
          file_key: rest.file_key
          file_size_in_bytes: rest.file_size_in_bytes
          file_mime_type: rest.file_mime_type
          csv_separator: rest.csv_separator
          csv_has_header: rest.csv_has_header
          read_bytes_from: rest.read_bytes_from
          read_bytes_length: rest.read_bytes_length
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/load-git-repo-file-metadata
      name: w-workspace-job-helpers-load-git-repo-file-metadata
      description: REST surface for w-workspace-job_helpers-load_git_repo_file_metadata.
      operations:
      - method: GET
        name: loadgitrepofilemetadata
        description: Load File Metadata from Instance Storage with Resource-based Access Control
        call: windmill-helpers.loadgitrepofilemetadata
        with:
          file_key: rest.file_key
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/load-git-repo-file-preview
      name: w-workspace-job-helpers-load-git-repo-file-preview
      description: REST surface for w-workspace-job_helpers-load_git_repo_file_preview.
      operations:
      - method: GET
        name: loadgitrepofilepreview
        description: Load a Preview of a File from Instance Storage with Resource-based Access Control
        call: windmill-helpers.loadgitrepofilepreview
        with:
          file_key: rest.file_key
          file_size_in_bytes: rest.file_size_in_bytes
          file_mime_type: rest.file_mime_type
          csv_separator: rest.csv_separator
          csv_has_header: rest.csv_has_header
          read_bytes_from: rest.read_bytes_from
          read_bytes_length: rest.read_bytes_length
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/load-parquet-preview/{path}
      name: w-workspace-job-helpers-load-parquet-preview-path
      description: REST surface for w-workspace-job_helpers-load_parquet_preview-path.
      operations:
      - method: GET
        name: loadparquetpreview
        description: Load a Preview of a Parquet File
        call: windmill-helpers.loadparquetpreview
        with:
          offset: rest.offset
          limit: rest.limit
          sort_col: rest.sort_col
          sort_desc: rest.sort_desc
          search_col: rest.search_col
          search_term: rest.search_term
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/load-table-count/{path}
      name: w-workspace-job-helpers-load-table-count-path
      description: REST surface for w-workspace-job_helpers-load_table_count-path.
      operations:
      - method: GET
        name: loadtablerowcount
        description: Load the Table Row Count
        call: windmill-helpers.loadtablerowcount
        with:
          search_col: rest.search_col
          search_term: rest.search_term
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/move-s3-file
      name: w-workspace-job-helpers-move-s3-file
      description: REST surface for w-workspace-job_helpers-move_s3_file.
      operations:
      - method: GET
        name: moves3file
        description: Move a S3 File from One Path to the Other Within the Same Bucket
        call: windmill-helpers.moves3file
        with:
          src_file_key: rest.src_file_key
          dest_file_key: rest.dest_file_key
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/polars-connection-settings
      name: w-workspace-job-helpers-polars-connection-settings
      description: REST surface for w-workspace-job_helpers-polars_connection_settings.
      operations:
      - method: POST
        name: polarsconnectionsettings
        description: Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket
        call: windmill-helpers.polarsconnectionsettings
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/test-connection
      name: w-workspace-job-helpers-test-connection
      description: REST surface for w-workspace-job_helpers-test_connection.
      operations:
      - method: GET
        name: datasetstoragetestconnection
        description: Test Connection to the Workspace Object Storage
        call: windmill-helpers.datasetstoragetestconnection
        with:
          storage: rest.storage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/upload-git-repo-file-to-instance-storage
      name: w-workspace-job-helpers-upload-git-repo-file-to-instance-storage
      description: REST surface for w-workspace-job_helpers-upload_git_repo_file_to_instance_storage.
      operations:
      - method: POST
        name: gitrepoviewerfileupload
        description: Upload a File to the Instance Storage Gitrepos Section for Viewing
        call: windmill-helpers.gitrepoviewerfileupload
        with:
          file_key: rest.file_key
          file_extension: rest.file_extension
          s3_resource_path: rest.s3_resource_path
          resource_type: rest.resource_type
          storage: rest.storage
          content_type: rest.content_type
          content_disposition: rest.content_disposition
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/upload-s3-file
      name: w-workspace-job-helpers-upload-s3-file
      description: REST surface for w-workspace-job_helpers-upload_s3_file.
      operations:
      - method: POST
        name: fileupload
        description: Upload File to S3 Bucket
        call: windmill-helpers.fileupload
        with:
          file_key: rest.file_key
          file_extension: rest.file_extension
          s3_resource_path: rest.s3_resource_path
          resource_type: rest.resource_type
          storage: rest.storage
          content_type: rest.content_type
          content_disposition: rest.content_disposition
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/v2/duckdb-connection-settings
      name: w-workspace-job-helpers-v2-duckdb-connection-settings
      description: REST surface for w-workspace-job_helpers-v2-duckdb_connection_settings.
      operations:
      - method: POST
        name: duckdbconnectionsettingsv2
        description: Converts an S3 resource to the set of instructions necessary to connect DuckDB to an S3 bucket
        call: windmill-helpers.duckdbconnectionsettingsv2
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/v2/polars-connection-settings
      name: w-workspace-job-helpers-v2-polars-connection-settings
      description: REST surface for w-workspace-job_helpers-v2-polars_connection_settings.
      operations:
      - method: POST
        name: polarsconnectionsettingsv2
        description: Converts an S3 resource to the set of arguments necessary to connect Polars to an S3 bucket
        call: windmill-helpers.polarsconnectionsettingsv2
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/job-helpers/v2/s3-resource-info
      name: w-workspace-job-helpers-v2-s3-resource-info
      description: REST surface for w-workspace-job_helpers-v2-s3_resource_info.
      operations:
      - method: POST
        name: s3resourceinfo
        description: Returns the S3 Resource Associated to the Provided Path, or the workspace default S3 resource
        call: windmill-helpers.s3resourceinfo
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: windmill-helpers-mcp
    port: 9090
    transport: http
    description: MCP adapter for Windmill API — helpers. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: check-if-s3-path-exists
      description: Check if S3 Path Exists and is a Folder
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: windmill-helpers.checks3folderexists
      with:
        file_key: tools.file_key
        marker_file: tools.marker_file
      outputParameters:
      - type: object
        mapping: $.
    - name: permanently-delete-file-s3
      description: Permanently Delete File from S3
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: windmill-helpers.deletes3file
      with:
        file_key: tools.file_key
        storage: tools.storage
      outputParameters:
      - type: object
        mapping: $.
    - name: download-file-s3-bucket
      description: Download File from S3 Bucket
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: windmill-helpers.filedownload
      with:
        file_key: tools.file_key
        s3_resource_path: tools.s3_resource_path
        resource_type: tools.resource_type
        storage: tools.storage
      outputParameters:
      - type: object
        mapping: $.
    - name: download-file-s3-bucket-2
      description: Download File to S3 Bucket
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: windmill-helpers.filedownloadparquetascsv
      with:
        file_key: tools.file_key
        s3_resource_path: tools.s3_resource_path
        resource_type: tools.resource_type
      outputParameters:
      - type: object
        mapping: $.
    - name: converts-s3-resource-set-instructions
      description: Converts an S3 resource to the set of instru

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/capabilities/windmill-helpers.yaml