The fileAI MCP server exposes 31 tools. Each one calls the fileAI API on the instance your connection points at: as you when you signed in, or with the key’s project access when you connect with an API key (see How you connect). 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

  • project_id (string, optional): the project to work in, as a 24-character id from list_projects. Required when you connected by signing in to fileAI (Claude). If it’s left out, the tool replies with the list of projects so your assistant can ask you which one to use. If the project isn’t in your connection, the tool replies with the projects you can reach and how to add it. 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.
  • 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.
Ids that go into a URL path (fileId, uploadId, workflowId, directoryId, run_id, analysis_id) accept only letters, digits, _ and -.

Account and projects

Files and uploads

delete_files with isHardDelete: true deletes files permanently.

Uploading a file

1

Upload the file

Call upload_file with either sourceUrl, a public https link to the file (up to 50 MB), or contentBase64, the file’s bytes in base64 (up to 10 MB). The MCP server downloads the link, or decodes the bytes, and stores the file in fileAI for you, so these bytes do pass through the server. The link must point to the file itself: a share page (such as Google Drive or OneDrive) returns a web page and is rejected. Links to private or internal addresses are blocked.
2

Wait for processing

Call wait_for_upload with the uploadId until status is processed, action_required or failed.
3

Read the results

Call get_file_values and get_file_ocr for each fileId in the result. Values exist only once processing has finished.
If your client can send an HTTP PUT itself, for example an agent that can run curl, it can use request_file_upload instead: call it with fileName and fileType, PUT the raw file to the returned presignedUploadURL within 5 minutes (the URL is already signed, so don’t add x-api-key), then call wait_for_upload. Those bytes go straight to fileAI storage and don’t pass through the MCP server. In Claude, a PUT from the code sandbox needs network access to your instance’s storage domain. See Claude: file uploads.

Values and schemas

The full get_file_values view adds every field definition, citations and validation reasoning, often tens of thousands of tokens. The compact result estimates its size. Your assistant should tell you the cost and ask before it calls again with view: "full" and confirmFullView: true.

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.

Folders

Forensics

fileForensics checks a stored file for signs of editing, AI generation, reuse and hidden content. See fileForensics for what it does and Detectors for what each check looks for. Accepted checks values: 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, ai_pdf_detection, ai_office_detection, heatmap and document_integrity_decisions, plus layout_parse, a separate layout parse. document_integrity_decisions runs only when it is enabled; otherwise it reports skip with “disabled”. Every run also reports the 18 file checks. See Detectors for what each key does. Results also carry a billing field. It is a placeholder: don’t rely on it to track usage or cost.

Workflows

Workspace

Guided prompts

The server also offers ready-made prompts, which most clients show as slash commands: show_file_values, validate_document, summarize_folder, project_inventory and find_duplicates for extracted data, and check_ai_generated, check_tampering, verify_authenticity, screen_safety, check_duplicate and full_forensic_audit for fileForensics. Each one runs the right tools for that task.

Limits and errors

  • Long results are cut. A tool result over 100,000 characters is cut off and ends with [truncated: N chars total, use pagination or narrower filters]. This mostly affects get_file_values with includeFullTableData: true or view: "full", and get_file_ocr on long documents. Ask for one page of results at a time, or narrower filters.
  • Expired or invalid credential. When the API returns 401, the tool replies “Your fileAI connection has expired or is no longer valid. Reconnect fileAI in your Claude connector settings, then try again.” You get this wording in every client. With an API key (Codex, Cursor, ChatGPT, VS Code), check the key in your client’s config instead, and that it was issued by the same instance as your server URL.
  • Project not in this connection. When you signed in and a tool is called with a project_id your connection can’t reach, the result has projectNotInConnection: true, the projectId and the projects you can reach. Either the project’s workspace wasn’t selected when you signed in, or your account can’t open the project. To add it, disconnect and reconnect fileAI, and select that workspace when you sign in. See Choosing a project.
  • Read-only keys. A read-only API key can only call tools that read. Anything that uploads, edits, deletes or starts a forensics run is refused.

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.