Claude Media
ClaudeとUnstructured Transformを連携する方法 — PDFやメールをJSONに変換

ClaudeとUnstructured Transformを連携する方法 — PDFやメールをJSONに変換

Unstructured TransformのMCPサーバーをClaudeに接続すると、PDF・Word・メール・画像を会話からMarkdownやJSONに変換できます。接続手順、無料枠と課金、上限、抽出の頼み方をまとめます。

Unstructured Transformは、PDF・Word・メール・スキャン画像などの文書を、アプリやAIが扱いやすい構造化データに変える仕組みです。MCPサーバーとして公開されていて、Claudeに接続すると「このファイルを変換して」「請求書から金額欄だけ抜いて」と会話で頼めるようになります。

接続先URLは https://mcp.transform.unstructured.io で、サインインが必要です。Claude.ai、Claude Desktop、Claude Codeのどれからでも使えますが、接続の作り方と詰まる場所が違います。

接続の前に確認する条件と料金

Transformのアカウントが要ります。持っていなければ、接続時の認証画面でRegisterから作れます。

数字

Transformの料金と上限

  • 無料枠

    10,000ページ

    アカウントごとに1回だけ付与

  • 無料枠のあと

    $0.015/ページ

    暦月ごとに請求

  • MCPの1ファイル上限

    50MB

    1リクエスト10ファイルまで

  • 同時実行

    5リクエスト

    MCP経由の上限

Unstructuredのドキュメントの記載による

無料枠の10,000ページを使い切ると、従量課金プラン(Pay-As-You-Go)に上げない限り、以降の処理はエラーになります。有料側の単価は1ページ$0.015なので、無料枠を超えた1,000ページ分は$15の計算です。

「1ページ」の数え方

ページの数え方は拡張子で変わります。

  • PDF・PPTX・TIFF: ページ、スライド、画像が1つで1ページ
  • DOCX: ページのメタデータがあればその数。なければ下の規則
  • それ以外の形式: ファイルサイズを100KBで割った数
  • ファイル以外のデータ: 100KBの入力が1ページ

たとえば約1MBのCSVは、行数に関係なく約10ページ分として数えられる計算です。画像1枚が1ページになる一方で、テキスト系の大きなファイルは意外に早く無料枠を削ります。使用量は、https://transform.unstructured.io にサインインしてBillingページで見られます。

対応形式とMCP以外の上限

MCPサーバーが受けられる拡張子は、PDF、docx/doc、pptx/ppt、xlsx/xls、eml/msg、html、md、txt、csv、rtf、epub、各種画像(png・jpg・heic・tiffなど)と、旧形式の文書ファイルまで広く並んでいます。全一覧は対応形式の表に載っています。

一覧の中で .dif だけは注記があり、改行が \r\n のファイルは UnsupportedFileFormatError で失敗します。

Transformには、MCPとは別にWebアプリとAPIの経路があります。こちらは対応する拡張子が .bmp .docx .heic .jpeg .jpg .pdf .png .pptx .tiff に絞られ、1ドキュメントの上限は100MBです。MCPの50MBとは別の数字なので、混ぜないでください。

Claude.aiとClaude Desktopでつなぐ

Claude.ai、Claude Desktop、モバイルアプリは、アカウントに紐づく1つの接続を共有します。どれかでつなげば、他でも使えます。Claude DesktopでCustomize → Connectorsを開き、検索窓に「Unstructured Transform」と入れて、チェックマークが付いていれば接続済みです。

ここで効いてくるのが、プランごとの違いです。

くらべる

プラン別の準備

自分で許可する

Pro / Max

Settings → Capabilitiesで「Code execution and file creation」と「Allow network egress」をオンにし、「Additional allowed domains」に mcp.transform.unstructured.io を足します。

Ownerが先に設定する

Team / Enterprise

OwnerまたはPrimary Ownerが、同じネットワーク許可と、Organization settingsのConnectorsからの追加(Add to your team)を済ませます。メンバーはそのあとでConnectします。

ドメインを許可できない

Free

接続はできますが、ドメインの許可ができません。変換はファイルマネージャーカード経由になります。

ネットワーク許可は、このコネクタ専用の設定ではありません。「Additional allowed domains」はアカウント全体で共有する1本のリストで、Claude.aiやモバイルにも効きます。すでに他のコネクタ用に書いたドメインがあるなら、置き換えずに追記します。

一覧にコネクタが出ないときは、CustomizeのAdd custom connectorから、名前に「Unstructured Transform」、リモートMCPサーバーURLに https://mcp.transform.unstructured.io を入れて追加できます。

試す最初の依頼

接続できたら、Chatにファイルを添付して次のように頼みます。

Use the Unstructured Transform MCP server to partition the attached files.
 
Provide the results as downloadable JSON files, one JSON file per source file.

ドキュメントの依頼文は英語です。結果は、入力1ファイルにつき出力1ファイルで返ります。Coworkモードでフォルダをプロジェクトに指定すれば、その中のファイルをまとめて頼めます。

ドメインを許可できないとき

Freeプランや、組織がネットワーク外向き通信を許可していない環境では、Claudeがチャット内にファイルマネージャーカードを出します。手順は次のとおりです。

手順

ファイルマネージャーカードでの変換

  1. 1

    許可を出す

    「ファイルマネージャーカードを使ってよいか」と聞かれるので、Allow onceかAlways allowを選びます。

  2. 2

    ファイルを選んでアップロード

    カードで変換したいファイルを選びます。ファイルはブラウザから直接転送されます。

  3. 3

    参照をコピーして貼る

    Done uploadingを押し、Copy refsで参照の一覧をコピーし、チャットの入力欄に貼ります。

  4. 4

    結果をダウンロード

    変換が終わるとカードが再表示されます。ほしいファイルにチェックを入れてDownloadを押すと、ZIPで届きます。

ドメインの許可ができる環境なら、そちらが推奨です。許可したほうが速く、自動化にも向くとされています。

Claude Codeでつなぐ

Claude Codeの接続は、Claude.aiやClaude Desktopとは別に持ちます。デスクトップ側でつないでいても、Claude Codeには引き継がれません。

claude mcp add --transport http --scope user \
  unstructured-transform https://mcp.transform.unstructured.io
claude mcp login unstructured-transform
claude mcp get unstructured-transform

login でブラウザが開き、Transformにサインインします。get で接続状態を確かめます。HTTPで直接つながない環境では、mcp-remote を経由する代替手順が用意されています。

sandboxとツール許可を設定する

Bashのsandboxを有効にしているなら、settings.json の許可ドメインにTransformを足します。

{
  "sandbox": {
    "enabled": true,
    "network": {
      "allowedDomains": ["mcp.transform.unstructured.io"]
    }
  }
}

allowedDomains は許可リストなので、既存の項目があれば置き換えずに追記します。sandbox自体の考え方はClaude Codeのサンドボックスの選び方で整理しています。

Claude Codeはツール呼び出しのたびに承認を求めます。Transformのツールをまとめて承認済みにするには、次の1行を permissions.allow に足します。

{
  "permissions": {
    "allow": ["mcp__unstructured-transform"]
  }
}

この記述は、サーバー名で全ツールを許可する書き方です。許可の幅が広いため、機密文書を扱う作業用のプロジェクト設定に限る運用も選べます。

変換の頼み方 — 既定値と変えられる項目

何も指定せずに頼んだときの既定は、次のとおりです。

  • 分割戦略は auto
  • OCRの言語指定なし
  • 全ページを処理
  • 補強処理(エンリッチメント)なし、チャンク分割なし、埋め込みなし
  • 出力形式は md

つまり既定のままだと、素のMarkdownが返ります。RAG用に使うなら、チャンクや埋め込みを自分で頼む必要があります。

項目値頼み方の例
分割戦略値auto / fast / hi_res / vlm頼み方の例Partition using the hi_res strategy.
言語値ISO-639コード頼み方の例Bias for OCR for en, es, and fr.
ページ範囲値複数指定可頼み方の例Partition only pages 1 through 5 and page 10.
補強処理値image_description table_description table_to_html ner generative_ocr頼み方の例Add the table_to_html enrichment.
チャンク値chunk_by_character chunk_by_title chunk_by_page chunk_by_similarity頼み方の例Chunk by title.
出力形式値md json html txt頼み方の例Return the results as json.

補強処理は、先に hi_res で分割しているときだけ使えます。vlm には似た機能が内蔵されていて、fast は補強処理に対応しません。

出力形式で中身も変わります。json は文書要素とメタデータを返します。md と html は先頭にファイル名・種別・更新日時のHTMLコメントが付き、txt にはメタデータが付きません。

利用できるオプションの全容は、接続後にClaude自身に聞くのが早いです。ドキュメントも、次のような質問を勧めています。

What are all of the available options that I can specify when asking the
Unstructured Transform MCP server to partition my files? Give me an example
prompt for each of these options.

段階を分けて試す

1回の依頼にすべてを詰めず、前の出力を次の入力にする連鎖も使えます。たとえば次の順です。

  1. hi_res でJSONに分割する
  2. 前の出力に画像説明や表のHTML化を足す
  3. チャンク分割と埋め込みを足してRAG向けにする

途中の結果を見ながら調整できるので、分割の質が悪いときに、あとの段階までやり直さずに済みます。

欄だけを抜き出す — 抽出の頼み方

文書全体ではなく、請求金額や日付のような特定の欄だけがほしい場合は、「抽出(extraction)」を頼みます。スキーマが分からなければ、Transform側に提案させる依頼が使えます。

Use the Unstructured Transform MCP server to extract structured data from these files.
 
I don't have a schema — suggest one based on what's in the document, show it to me, and then run the extraction with it.

この依頼では、スキーマ提案用のツール suggest_extraction_schema_for_file が呼ばれます。提案を見て直してから実行できます。欄が決まっているなら、欄名と型を依頼文に書けば、提案ステップを飛ばしてClaudeが直接スキーマを組みます。

抽出の仕組みで押さえておく点は2つです。

  • 抽出ツールは元ファイルでなく、先に分割した出力を読みます。そのため、抽出の前に分割が走ります
  • 結果は、スキーマに沿ったJSONで、元のファイル名が付いて返ります。複数ファイルの結果を区別できます

画像・PDF・PPTでは、依頼文に「read」や「summarize」ではなく「extract」と書くと、抽出機能が選ばれやすくなります。最初の結果が薄ければ、分割をやり直すよう頼みます。

That result seems incomplete. Try again with a higher-fidelity partition.

変換結果を仕事に取り込む

変換そのものより、Claudeに続けて何をさせるかが運用の分かれ目です。公式の手順は変換までなので、ここからは設定の一例です。

CLAUDE.mdに「変換の約束事」を書く

同じ種類の書類を何度も変換するなら、プロジェクトの CLAUDE.md に前提を書いておくと、毎回の依頼文が短くなります。

## 書類の変換(Unstructured Transform)
 
- 変換は `unstructured-transform` MCPサーバーを使う
- 出力は `converted/` に、元ファイルと同じ名前で保存する
- 表が多いPDFは `hi_res` で、出力形式は `md`
- 1回の依頼は10ファイルまで。50MBを超えるファイルは先に知らせる
- 変換後、ページ数を数えて報告する(無料枠の消費を追うため)

上の約束は一例です。10ファイルと50MBは、MCPサーバーがClaude側に伝える上限と揃えてあります。ページ数の報告は、無料枠の残りを意識するための項目です。

変換後の検算はコードで

変換結果が正しいかは、変換したTransform自身ではなく、別の手段で確かめます。たとえば請求書なら、抽出した明細の合計をスクリプトで再計算し、抽出した合計欄と一致するかを見ます。この考え方は、見積書PDFをClaude APIで品目表に構造化する手順と同じです。

大量処理はサンプルコードに移す

試行の段階はClaudeに任せ、件数が増えたらコードに移す流れも用意されています。変換のあとで次のように頼むと、直前に走らせた処理の再現スクリプトが出ます。

Provide a complete set of Python code that shows how to perform the partitioning
process that the Unstructured Transform MCP server just ran on these source files.
Provide exactly four downloadable Python script (.py) files: one to create a single
job containing all source files, one to poll its status, one to download all results,
and one combined script that performs all three steps.

curl版のシェルスクリプトも同様に頼めます。生成されるのはジョブの作成・状態確認・結果取得の3段で、変換が非同期のジョブとして動くことが分かります。

詰まりやすい点

落とし穴

Freeプランで依頼しても、ファイルが渡せない

ドメインを許可できない環境では、Claudeがファイルを直接送れません。ファイルマネージャーカードを経由する手順に切り替えます。

落とし穴

Claude Codeだけ接続されていない

デスクトップでつないでも、Claude Codeには反映されません。claude mcp get unstructured-transform で、Claude Code側の接続を別に確かめます。

落とし穴

1回の依頼が失敗する

1リクエストは10ファイルまで、同時実行は5リクエストまでです。大きなフォルダは、Claudeに分割して頼ませます。MCPサーバーはこの上限をClaudeに伝える作りなので、分け方はClaudeが考えます。

もう1つ、結果の保存期間にも注意があります。Transformのドキュメントには、アップロードしたファイルはAPIでは24時間で期限切れになること、変換結果の保持期間は固定の値が公開されていないことが書かれています。変換結果は、受け取った時点で自分の保存先に置くのが安全です。

機密性の高い文書では、ファイルがTransformのサービスに送られて処理される点を前提に、社内の取り扱いルールと照らしてから使ってください。

Claudeに直接PDFを読ませる場合との使い分け

Claudeの会話にPDFを添付して読ませる方法は、コネクタなしで使えます。たとえば自動車保険の見積書PDFを比較する手順のように、数通の書類を読んで比べるだけなら、それで足ります。

Transformを挟む価値が出るのは、次のような場面です。

  • .doc や .msg など、対応形式の表に載る旧形式の文書やメールをそのまま渡したい
  • 分割戦略やチャンク、埋め込みを指定して、RAG用のデータを作りたい
  • 同じ構造の書類を大量に、同じスキーマで抜きたい

逆に、1〜2通の書類を読んで要約するだけなら、課金が発生するTransformを挟む意味は薄くなります。

まとめ

接続は、URLの https://mcp.transform.unstructured.io に、Claude.ai系ならコネクタとネットワーク許可、Claude Codeなら claude mcp add で行います。落とし穴は、Freeプランの許可できないドメインと、Claude Codeの別接続の2点です。

料金は無料の10,000ページのあと$0.015/ページで、ページの数え方は形式で変わります。何を変換するかより先に、「どの形式がどう数えられるか」を見ておくと、無料枠の消費を読み違えません。

この記事を共有:XはてブLinkedIn