chat-complex-documents ยท git:20260713.08c40c8 ยท 2026-07-13 ยท sha256 fe3b6125cf2a36b9

chat-complex-documents git:20260713.08c40c8A

Immutable. This exact content is served forever at /api/v1/blob/fe3b6125cf2a36b9.

---
name: chat-complex-documents
description: Chat with and search your complex documents โ€” ask questions, extract tables and fields, and get answers grounded in the source. Connects the hosted Unstructured Transform MCP server to parse, structure, and enrich PDFs, Word/Excel/PowerPoint, images, scanned files, emails, and 60+ other formats into clean, AI-ready text for search, Q&A, and summarization without building a custom parsing pipeline.
compatibility: "Works on both the Vellum desktop app (local daemon) and the Vellum web app (platform-hosted). Requires an Unstructured account to authorize during the OAuth step."
metadata:
  icon: assets/icon.svg
  emoji: "๐Ÿ“„"
  vellum:
    category: "integrations"
    display-name: "Chat with Complex Documents"
    user-invocable: true
    activation-hints:
      - "User wants to pull content out of documents โ€” PDFs, Word/Excel/PowerPoint, images, emails, scanned files"
      - "User wants to make a set of documents searchable, or answer questions / ground summaries against them (RAG, Q&A, knowledge base)"
      - "User mentions Unstructured, Unstructured Transform, document parsing, partitioning, table extraction, or OCR"
    avoid-when:
      - "User just needs the plain text of one small local file (use built-in file reading instead)"
---

## What this does (in plain terms)

You have documents โ€” contracts, reports, slide decks, scanned PDFs, spreadsheets, emails, images โ€” and you want the assistant to reliably get the content _out_ of them and make it usable: searchable, answerable, summarizable, or ready to feed a knowledge base or another tool.

**Unstructured Transform** does exactly that. Hand it files and it turns them into clean, structured, AI-ready data across 60+ formats with one pipeline โ€” no custom parsing or OCR to build and maintain. See the [Transform overview](https://docs.unstructured.io/transform/overview).

Under the hood it:

- **Partitions** each document into structured elements (titles, paragraphs, tables, lists), adjusting extraction per page for accuracy and cost.
- **Enriches** the result with metadata, table and image descriptions, and entity recognition.

The result is structured JSON that's ready for search, Q&A, summarization, and agents.

## Why people use it

- **Make documents searchable and answerable.** Transform extracts clean, structured text and tables from your files so the assistant can search them and answer questions grounded in the source.
- **Handle messy, varied files.** One integration covers 60+ formats (scanned PDFs, tables, images, Office files) instead of a per-format parser.

## When to use

USE THIS SKILL WHEN:

- The user wants to extract or structure content from documents (PDF, Office, images, emails, scanned files).
- The user wants documents made searchable or ready for RAG / Q&A / a knowledge base.
- The user asks to connect Unstructured or Unstructured Transform.
- A Transform tool returns an auth error โ†’ re-run the `auth` step below.

## Prerequisites

- An **Unstructured account** to sign in with during the OAuth step (a free tier is available). See [pricing](https://docs.unstructured.io/transform/billing).
- Nothing to install locally โ€” Transform is a hosted MCP server.

## Setup

### Step 1 โ€” Detect your environment

Determine which command tool to use for every command in this skill:

- If `host_bash` is available โ†’ you are on the **desktop app**. Use `host_bash` for all commands (the `auth` step opens your local browser).
- If it is unavailable โ†’ you are on the **web app**. Use `bash` for all commands (the platform handles the browser redirect).

### Step 2 โ€” Add the server

Add Transform as a remote `streamable-http` MCP server. Keep the default risk level (`high`) โ€” Transform ingests file content, so per-call approval is the safe default.

```
assistant mcp add unstructured-transform -t streamable-http -u https://mcp.transform.unstructured.io
```

The server is registered under the id `unstructured-transform` โ€” that's the name shown by `assistant mcp list` and used in the commands below, even though this skill is titled "Chat with Complex Documents".

### Step 3 โ€” Authenticate via OAuth

```
assistant mcp auth unstructured-transform
```

This opens Unstructured's authorization page. After sign-in, the assistant handles the callback and caches the tokens.

- On **desktop** โ†’ run via `host_bash` (opens your local browser).
- On **web app** โ†’ run via `bash` (the platform handles the redirect).

### Step 4 โ€” Verify

```
assistant mcp list
```

Confirm `unstructured-transform` shows `โœ“ Connected`. If it shows `! Needs authentication`, re-run Step 3. If its tools don't appear within ~10 seconds, run `assistant mcp reload`.

## Using Transform

Once connected, ask the assistant in plain language, e.g. _"Use Unstructured Transform to parse these files and return one JSON file per source file,"_ or _"Extract the tables from this PDF."_ Transform partitions each file and returns structured output; to tune partitioning and enrichment behavior, see [Control Transform output](https://docs.unstructured.io/transform/output).

Per-request limits (Transform enforces these; plan around them):

- Each file must be a [supported file type](https://docs.unstructured.io/transform/supported-file-types).
- Each file must be **50 MB or less**.
- Each request may include **10 files or fewer**.
- At most **5 requests** may run at a time.

## Disconnecting

```
assistant mcp remove unstructured-transform
```

This removes the config entry and cleans up the stored OAuth credentials.

## SKILL COMPLETE WHEN

- **Connect:** `unstructured-transform` appears in `assistant mcp list` as `โœ“ Connected` and the user confirms its tools are available in the conversation.
- **Disconnect:** `assistant mcp remove unstructured-transform` succeeds and the server no longer appears in `assistant mcp list`.