# Tools reference
Source: https://docs.file.ai/mcp/tools

> Every tool the fileAI MCP server exposes, with its parameters.

MCP server

# Tools reference

Copy pageCopy page

Every tool the fileAI MCP server exposes, with its parameters.

Copy pageCopy page

The fileAI MCP server exposes 32 tools. Each one calls the fileAI API as you, on the instance your connection points at. Your assistant picks the tool and fills in the parameters; this page tells you what each tool can do so you know what to ask for.

## 

[​

](#parameters-every-tool-shares)

Parameters every tool shares

*   **`project_id`** (string, optional): the project to work in, as a 24-character id from [`list_projects`](#projects). Required when you connected by signing in to fileAI (Claude). Ignored when you connect with an API key, because the key already belongs to one project. Every tool except `list_projects` accepts it. See [Choosing a project](/mcp/overview#choosing-a-project).
*   **`confirm`** (`true`, required): only on destructive tools: `delete_files`, `delete_directory`, `delete_file_types` and `delete_forensics_run`. The call is rejected unless it is exactly `true`.
*   **Pagination**: list tools marked _paginated_ also accept `page` (integer), `limit` (integer), `sortBy` (string), `sortOrder` (`ASC` or `DESC`) and `cursor` (string, from the previous response). See [Pagination](/api/pagination).

Ids that go into a URL path (`fileId`, `uploadId`, `workflowId`, `directoryId`, `run_id`, `analysis_id`) accept only letters, digits, `_` and `-`.

## 

[​

](#projects)

Projects

Tool

What it does

Parameters

`list_projects`

Lists the projects you can work in, with their workspace. `truncated: true` in the result means more exist.

`search` (string, optional, up to 100 chars — name contains) · `limit` (integer 1–200, optional, default 100)

## 

[​

](#files-and-uploads)

Files and uploads

Tool

What it does

Parameters

`list_files`

Lists files, optionally filtered. _Paginated._

`fileIds` (string, optional — comma-separated) · `directoryId` (string, optional) · `updatedAfter` (string, optional — ISO 8601) · `createdAfter` (string, optional — ISO 8601)

`get_file_ocr`

Returns the OCR text of a file.

`fileId` (string, required)

`get_upload`

Returns the processing steps of an upload.

`uploadId` (string, required)

`request_file_upload`

Returns a presigned URL to upload one file, plus `uploadId` and `s3Path`. It does not transfer the file.

`fileName` (string, required) · `fileType` (string, required — MIME type) · `directoryId` (string, optional) · `destinationPath` (string, optional — slash-delimited, folders are created) · `isSplit`, `isSplitExcel`, `schemaLocking`, `isEphemeral`, `retainOriginalZipFileName` (boolean, optional) · `ocrModel` (string, optional) · `pageCount` (integer, optional) · `callbackURL` (string, optional)

`create_file_preview`

Returns a short-lived preview URL for a stored file.

`s3Path` (string, required — from `request_file_upload`)

`update_file_export_status`

Sets a file’s export status as reported by an integrated system.

`fileId` (string, required) · `integrationExportStatus` (`error`, `completed`, `exporting` or `empty`, required) · `integrationExportMessages` (string array, optional)

`delete_files`

Deletes files. Soft-deletes (recoverable) by default.

`fileIds` (string array, required) · `isHardDelete` (boolean, optional, default `false`) · `confirm`

`delete_files` with `isHardDelete: true` deletes files permanently.

### 

[​

](#uploading-a-file)

Uploading a file

No file bytes pass through the MCP server. Your client uploads them straight to fileAI storage.

1

Request an upload URL

Call `request_file_upload` with `fileName` and `fileType`. It returns `presignedUploadURL`, `uploadId` and `s3Path`.

2

Upload the bytes

Send the raw file with an HTTP `PUT` to `presignedUploadURL`. The URL is already signed, so don’t add `x-api-key`.

3

Wait for processing

Poll `get_upload` with the `uploadId` until processing finishes.

4

Read the results

Call `get_file_values` and `get_file_ocr`.

In Claude, the upload runs from the code sandbox, which needs network access to your instance’s storage domain. See [Connect Claude → File uploads](/mcp/claude#file-uploads).

## 

[​

](#values-and-schemas)

Values and schemas

Tool

What it does

Parameters

`get_file_values`

Returns the extracted schema values for a file. _Paginated._

`fileId` (string, required) · `includeFullTableData` (boolean, optional, default `false` — full table rows instead of a preview)

`update_file_values`

Updates extracted values: scalar fields, table cells, or both.

`fileId` (string, required) · `schemaValueId` (string, required — the `id` from `get_file_values`) · `fieldPaths` (array, required — each item has `path` plus either `value` (string) or `cells` (array of `rowIndex`, `column`, `value`), not both)

`rerun_form_filling`

Re-runs extraction for a file, optionally for specific fields.

`fileId` (string, required) · `backgroundRerun` (boolean, optional) · `rerunOptions` (object, optional — `paths` (string array, e.g. `["/discount_amount"]`), `partialRerun`, `notification`)

`list_schemas`

Lists AI schemas. _Paginated._

`schemaIds` (string, optional — comma-separated) · `uploadIds` (string, optional — comma-separated)

`export_schemas`

Exports one or more schemas by id. Import is not available.

`aiSchemaIds` (string, required — comma-separated)

## 

[​

](#file-types)

File types

A file type is the kind of document, such as Invoice or Bank statement, that an AI Schema belongs to. The API calls it a blueprint, so tool parameters use `blueprintId`. See [Concepts](/concepts).

Tool

What it does

Parameters

`list_file_types`

Lists the file types in the workspace. _Paginated._

—

`get_file_type_schemas`

Returns the schemas that belong to a file type. _Paginated._

`blueprintId` (string, required) · `blueprintMode` (string, optional)

`approve_file_type`

Approves a file type against a schema (**Verify** in the app).

`blueprintId` (string, required) · `schemaId` (string, required)

`rename_file_type`

Renames a file type.

`blueprintId` (string, required) · `name` (string, required)

`delete_file_types`

Deletes file types by id.

`blueprintIds` (string array, required) · `confirm`

## 

[​

](#folders)

Folders

Tool

What it does

Parameters

`list_directories`

Lists folders, optionally by name. _Paginated._

`search` (string, optional — case-insensitive)

`create_directory`

Creates a folder.

`name` (string, required) · `description` (string, optional) · `parentId` (string, optional — to nest it) · `isActive` (boolean, optional)

`attach_documents`

Adds existing files to a folder. Ids you can’t see come back under `rejected`.

`directoryId` (string, required) · `fileIds` (string array, required)

`move_documents`

Moves files from one folder to another.

`directoryId` (string, required — source) · `targetDirectoryId` (string, required) · `fileIds` (string array, required)

`remove_documents`

Takes files out of a folder. The files stay in the workspace and in any other folders.

`directoryId` (string, required) · `fileIds` (string array, required)

`delete_directory`

Deletes a folder. Files inside are not deleted.

`directoryId` (string, required) · `confirm`

## 

[​

](#forensics)

Forensics

fileForensics checks a stored file for signs of editing, AI generation, reuse and hidden content. See [fileForensics](/forensics/overview) for what it does and [Detectors](/verify/forensics#detectors) for what each check looks for.

Tool

What it does

Parameters

`run_file_forensics`

Starts a fileForensics run on a stored file and returns an `analysis_id`, which is the run’s id.

`file_id` (string, required, from `list_files`) · `checks` (string array, optional; omit to run all 17 checks below) · `idempotency_key` (string, optional; reuse it when retrying the same request so a second run isn’t started)

`get_file_forensics_result`

Returns the run’s status and, once it is `complete`, the report. Asking again does not re-run it.

`analysis_id` (string, required)

`retry_forensics`

Re-runs a stuck run with the same file and checks, and returns a **new** `run_id`. Use the new id from then on.

`run_id` (string, required: the `analysis_id`)

`delete_forensics_run`

Deletes a run. The file is not affected.

`run_id` (string, required: the `analysis_id`) · `confirm`

Accepted `checks` values (17): `web_presence`, `ai_gen_detection`, `ai_text_detection`, `copy_move`, `exact_duplicate`, `provenance_credentials`, `generation_toolchain`, `producer_divergence`, `encryption_permissions`, `active_content`, `digital_signature`, `attachments`, `revision_history`, `magic_byte`, `polyglot`, `trailing_data`, `entropy`. The API’s `ai_pdf_detection` and `ai_office_detection` are not offered through MCP; use [`POST /v1/forensics`](/verify/forensics) for those. Results also carry a `billing` field. It is a placeholder: don’t rely on it to track usage or cost.

## 

[​

](#workflows)

Workflows

Tool

What it does

Parameters

`get_workflow`

Returns a workflow by id.

`workflowId` (string, required)

`get_workflow_result_groups`

Returns workflow results grouped by folder or subfolder.

`executionGroupUniqueIdentifiers` (string, required — comma-separated folder or subfolder ids) · `workflowStepIds` (string, optional — comma-separated)

## 

[​

](#workspace)

Workspace

Tool

What it does

Parameters

`get_project_settings`

Returns the project settings.

—

`get_subscription`

Returns the workspace subscription.

—

## 

[​

](#related)

Related

## fileAI MCP server

Server URLs, sign-in and safety guards.

## Connect a client

Set up Claude, Codex, Cursor, ChatGPT or VS Code.

## Claude details

Projects, file uploads and troubleshooting in Claude.

[Previous](/mcp/connect)[

Claude details

What to know after you connect Claude: projects, file uploads, disconnecting and fixing problems.

Next

](/mcp/claude)

⌘I

## On this page

*   [Parameters every tool shares](#parameters-every-tool-shares)
*   [Projects](#projects)
*   [Files and uploads](#files-and-uploads)
    *   [Uploading a file](#uploading-a-file)
*   [Values and schemas](#values-and-schemas)
*   [File types](#file-types)
*   [Folders](#folders)
*   [Forensics](#forensics)
*   [Workflows](#workflows)
*   [Workspace](#workspace)
*   [Related](#related)
