> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gc.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get vault columns

> List the columns of a vault: what GC AI extracts from every document in it.

<Note>
  The MCP server is in public beta. It is open to use and still being refined, so tools and behavior may change.
</Note>

<Info>
  **Tool** `get_vault_columns` · **Behavior** Read-only
</Info>

List the columns of a vault: what GC AI extracts from every document in it. Read this before `get_vault_documents` so you know which `field_key` to filter and sort on and what each value means. `kind` says who owns the column: `built_in` and `system` columns come from GC AI and cannot be changed, and `custom` columns belong to this vault. Only a column with `editable: true` can be changed with `update_vault_column`.

## Input parameters

<ParamField body="vault_id" type="string (uuid)" required>
  The vault to read, from `get_vaults`.
</ParamField>

## Response

<ResponseField name="columns" type="object[]">
  <Expandable title="properties">
    <ResponseField name="id" type="string | null" />

    <ResponseField name="field_key" type="string" />

    <ResponseField name="label" type="string" />

    <ResponseField name="field_type" type="string" />

    <ResponseField name="kind" type="'built_in' | 'system' | 'custom'" />

    <ResponseField name="editable" type="boolean" />

    <ResponseField name="extraction_mode" type="string" />

    <ResponseField name="instructions" type="string" />

    <ResponseField name="field_meta" type="object | null">
      <Expandable title="properties">
        <ResponseField name="type" type="string" />

        <ResponseField name="options" type="string[]" />

        <ResponseField name="legacy_options" type="string[]" />
      </Expandable>
    </ResponseField>

    <ResponseField name="sort_order" type="number" />
  </Expandable>
</ResponseField>
