Need this in your own application? The full Documentize product family for C#/.NET.
Licensing Documentize

為您的 AI 助理提供文件處理超能力

Connect AI agents to Documentize with MCP

The Documentize MCP server exposes all document processing capabilities as tools for AI agents and LLM clients — convert, merge, extract, sign, and more, directly from Claude Desktop, VS Code Copilot, Cursor, or any MCP-compatible host.

🔑 Your MCP key

Requests from an MCP client count against your account the same way work you do on the website does. Without a key the server treats the client as an anonymous visitor and applies the anonymous daily limit.

Clients that support MCP's OAuth flow (protected-resource metadata, RFC 9728) can skip keys entirely — they discover the login page from the server and sign you in through the browser. Keys remain the way to connect scripts and clients without OAuth support.

No account needed to try this out — Create key below issues a free trial key on the spot, at the same limits as a free account. Sign in (top of the page) to list or revoke keys later, or to upgrade to a paid plan for full limits.

Copy this key now — it is stored only as a hash and cannot be shown again.

Paste it into your client config as an Authorization header:

This is a free trial key — it works at the same limits as a free account. Sign in to keep it listed for later, or upgrade to a paid plan for full limits.

Existing keys

LabelKeyCreatedLast used

⚡ Endpoint

The MCP server runs over Streamable HTTP at:

https://api.documentize.app/mcp

The server uses stateful sessions. After the initial initialize request the server returns an Mcp-Session-Id header; include it in every subsequent request. MCP clients handle this automatically.

🔌 Connect from Claude Desktop

Add the server to claude_desktop_config.json (%APPDATA%\Claude\ on Windows, ~/Library/Application Support/Claude/ on macOS):

{
  "mcpServers": {
    "documentize": {
      "type": "http",
      "url": "https://api.documentize.app/mcp",
      "headers": {
        "Authorization": "Bearer dmk_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. The Documentize tools will appear in the tool list. Omit the headers block to connect anonymously — the tools still work, but under the anonymous daily limit.

🔌 Connect from VS Code (GitHub Copilot)

Create .vscode/mcp.json in your workspace (or add to User Settings):

{
  "servers": {
    "documentize": {
      "type": "http",
      "url": "https://api.documentize.app/mcp",
      "headers": {
        "Authorization": "Bearer dmk_your_key_here"
      }
    }
  }
}

Open GitHub Copilot Chat, switch to Agent mode, and click the Tools button — Documentize tools will be listed there.

🔌 Connect from Cursor / Cline

In Cursor, open Settings → MCP and add a new server:

{
  "name": "documentize",
  "type": "http",
  "serverUrl": "https://api.documentize.app/mcp"
}

Cline users can add the same entry under MCP Servers in its settings panel.

⚙️ How tasks work

All processing tools are asynchronous. Each call starts a background job and returns a JSON object with a folderName field — that is your task ID.

  1. Call a processing tool (e.g. ConvertDocument) → receive a task ID (folderName).
  2. Call GetTaskStatus with that task ID and poll until statusCode is 200.
  3. When complete, the response contains a sharedFiles array. Each entry has a fileName (display name) and an uploadFileName (a pre-signed S3 download URL). Open any uploadFileName URL in your browser to download the result file.
// 1. Start a task
ConvertDocument(fileUrl: "C:\\Users\\Alice\\Documents\\report.pdf",
                inputType: "pdf", outputType: "docx")
// → { "folderName": "abc123", "statusCode": 204 }

// 2. Poll until done (statusCode 204/202/203 = still processing)
GetTaskStatus(taskId: "abc123")
// → {
//     "statusCode": 200,
//     "sharedFiles": [
//       {
//         "fileName": "report.docx",
//         "uploadFileName": "https://s3.amazonaws.com/...presigned-url..."
//       }
//     ]
//   }

// 3. Download the result
// Open uploadFileName in a browser, or tell the agent:
//   "Download https://s3.amazonaws.com/...presigned-url... and save it as report.docx"

Use GetNextAppSuggestions after any operation to get recommended follow-up tools based on the output format.

📂 Providing your files

Most users are pointing the agent at a file on their own machine, so lead with that — a plain local path or a file:// URI works directly, no upload step required. The server also accepts remote URLs when that's where the file actually lives.

Local file path (most common)

File paths are resolved by the server, not by the client. They work whenever the MCP server can see the path you give it — Documentize SelfHost, a local development instance, or an agent running alongside the server. Just point it at the file:

// Windows absolute path
ConvertDocument(fileUrl: "C:\\Users\\Alice\\Documents\\report.pdf",
                inputType: "pdf", outputType: "docx")

// macOS / Linux absolute path
ConvertDocument(fileUrl: "/home/alice/documents/report.pdf",
                inputType: "pdf", outputType: "docx")

You can also use the standard file:// URI format:

// file:// URI — Windows
ConvertDocument(fileUrl: "file:///C:/Users/Alice/Documents/report.pdf",
                inputType: "pdf", outputType: "docx")

// file:// URI — macOS / Linux
ConvertDocument(fileUrl: "file:///home/alice/documents/report.pdf",
                inputType: "pdf", outputType: "docx")

Remote URL

Pass any publicly accessible https:// or http:// URL instead, and the server fetches the file automatically before processing.

ConvertDocument(fileUrl: "https://example.com/report.pdf",
                inputType: "pdf", outputType: "docx")

Supported file-source schemes

The server recognizes these URL schemes for fileUrl / fileUrls — anything else is rejected before a task is started:

private static readonly HashSet<string> SupportedSchemes = new(StringComparer.OrdinalIgnoreCase)
{
    "http", "https", "ftp", "ftps", "file", "local"
};
  • file / local — a path on disk, either as a bare path (C:\..., /home/...) or a file:// URI.
  • http / https — a remote URL the server downloads before processing.
  • ftp / ftps — a file served from an FTP/FTPS host.

Practical agent prompts

Refer to files the way you naturally would — a path on your machine works directly:

// In Claude Desktop or Cursor chat:
"Convert my file C:\Users\Alice\Downloads\invoice.pdf to Word format"

"Compress file:///home/alice/documents/thesis.pdf and send me the download link"

"Extract all the text from /home/alice/documents/Q1.pdf"

If the file isn't local — it's already hosted somewhere — pass its URL instead: "Convert https://example.com/invoice.pdf to Word format".

👤 Accounts, limits & quotas

Usage is metered per account, and an MCP client is metered exactly like the website: one operation = one processing call, whatever the file count. Checking task status and asking about your own account are free.

TierWhoOperations / day
anonymousNo Authorization header3 — enough to try a tool, not to work
freeRegistered account, no subscription5, resets midnight UTC
paidActive subscriptionUnlimited — the tier built for bulk and unattended agents

Three tools let an agent manage this itself. None of them consume quota:

  • GetAccountStatus — current tier, plan, operations used and remaining, reset time, and the safe parallelism for batch work.
  • GetSignInInstructions — the exact steps to register, issue a key, and configure the client. The agent relays these to you; it cannot sign in on your behalf.
  • SignOut — how to disconnect. Pass revokeKey: true to also revoke the key this connection uses (permanent, and it breaks every client sharing that key).

A healthy, signed-in connection looks like this:

GetAccountStatus()
// → {
//     "ok": true,
//     "account": {
//       "authenticated": true,
//       "authMethod": "mcp_key",
//       "credentialRejected": false,
//       "tier": "paid",
//       "plan": "Business",
//       "unlimited": true,
//       "maxParallelRequests": 8
//     },
//     "advice": "Unlimited plan. Mass processing is supported; use ProcessBatch
//                with up to 8 parallel requests."
//   }

A free account running low looks like this:

GetAccountStatus()
// → {
//     "account": {
//       "authenticated": true, "tier": "free", "unlimited": false,
//       "used": 4, "limit": 5, "remaining": 1,
//       "resetsAtUtc": "2026-08-28T00:00:00Z",
//       "maxParallelRequests": 2
//     },
//     "advice": "1 of 5 operations left today (resets 2026-08-28 00:00:00Z)..."
//   }

When a call is refused

Refusals come back as a structured object with a machine-readable error and a nextStep for the agent to follow, so it stops instead of retrying blindly. Each code means something different:

errorWhat happenedWhat to do
credential_rejectedThe key in your client config was revoked, deleted or mistyped, and the connection silently fell back to anonymous.Issue a new key above, replace it in the config, restart the client. Retrying will not help.
auth_requiredAnonymous allowance spent.Sign in and add a key — the agent can read you the steps.
quota_exceededSigned in, but out of operations for today.Wait for retryAfterUtc (midnight UTC), or subscribe.
billing_unavailableSubscription service unreachable.Nothing — advisory only. The work was still accepted.
// Example refusal — note that it is explicitly not retryable
CompressDocument(fileUrl: "C:\\Users\\Alice\\Documents\\big.pdf")
// → {
//     "ok": false,
//     "error": "credential_rejected",
//     "statusCode": 401,
//     "message": "The Documentize API key in this MCP client's configuration was
//                 refused — it has been revoked, deleted, or was copied incorrectly...",
//     "nextStep": "Tell the user to sign in ... issue a new one, and replace the value
//                  in this MCP client's configuration (then restart the client).",
//     "retryable": false
//   }

📦 Mass processing

A subscription removes the daily cap, so the real limit on bulk work is round trips: pushing 200 files through ConvertDocument costs 200 turns of the agent's attention, and any one of them can derail the run. Two tools collapse that into two calls.

  1. ProcessBatch — one operation, many files. Submits them concurrently server-side (8 at a time on an unlimited plan, 2 otherwise), up to 200 files per call, and returns one task ID per file.
  2. WaitForTasks — polls all of those task IDs server-side and returns every download link at once. Free, and it hands back any still-pending IDs at the timeout so a long run resumes instead of restarting.

ListBatchOperations returns the supported operation names and their parameters — the agent should call it rather than guess.

// 1. Submit 3 files (a real batch would be hundreds)
ProcessBatch(operation: "convert",
             fileUrls: "C:\\Docs\\a.pdf,C:\\Docs\\b.pdf,C:\\Docs\\c.pdf",
             parametersJson: "{\"inputType\":\"pdf\",\"outputType\":\"docx\"}")
// → {
//     "ok": true, "operation": "convert",
//     "requested": 3, "submittedCount": 3, "failedCount": 0,
//     "parallelism": 8,
//     "taskIds": ["abc123", "def456", "ghi789"],
//     "nextStep": "Call WaitForTasks with taskIds to collect the download links..."
//   }

// 2. Collect every result in one call
WaitForTasks(taskIds: "abc123,def456,ghi789", timeoutSeconds: 300)
// → {
//     "ok": true, "total": 3, "completedCount": 3, "pendingCount": 0,
//     "completed": [
//       { "taskId": "abc123",
//         "files": [{ "fileName": "a.docx",
//                     "uploadFileName": "https://s3...presigned..." }] },
//       ...
//     ]
//   }

Prompts that take this path:

"Convert all these PDFs to Word: <list of 40 local file paths>"

"OCR every scan in this list and give me the searchable PDFs"

"Compress these 120 invoices at high compression and collect the links"

What batching does and does not change

  • Every file is still metered individually. A batch of 50 costs 50 operations — it saves round trips, it is not a way around the free tier.
  • A batch that cannot finish is refused before anything runs. Ask for 40 files with 5 operations left and you get insufficient_quota carrying remaining and retryAfterUtc — and not one file is processed. Half-finished bulk work is worse than none.
  • One bad file never aborts the batch. An unreachable URL comes back as a single items[].status = "failed" entry; the rest proceed.
  • Batching is one operation applied to many files. Merging (many files → one result) is not batchable — use MergeDocuments.

🧰 Available Tools

Document Operations

  • ConvertDocument — Convert between PDF, DOCX, PPTX, HTML, JPG, PNG, and more.
  • MergeDocuments — Combine multiple files into a single document.
  • SplitDocument — Split a PDF by page ranges, bookmarks, or fixed size.
  • CompressDocument — Reduce PDF file size (low / medium / high).
  • RotateDocument — Rotate all or selected pages by 90°, 180°, or 270°.
  • ResizeDocument — Resize PDF pages to A4, Letter, A3, etc.
  • RemovePages — Delete specific pages from a PDF.

Security

  • LockDocument — Encrypt a PDF with a password.
  • UnlockDocument — Remove a password from a protected PDF.
  • SignDocument — Digitally sign a document.
  • VerifySignature — Verify existing digital signatures.

Content Extraction

  • ExtractText — Pull all text from a document (Pure or Raw mode).
  • ExtractImages — Export all embedded images.
  • ExtractMetadata — Read author, title, creation date, keywords, etc.
  • ExtractFormData — Export data from fillable PDF form fields.
  • ParseDocument — Parse annotations, bookmarks, tables, and more.
  • SearchInDocument — Find text occurrences inside a document.
  • MakeSearchable — Add a text layer to a scanned PDF via OCR.
  • RunOcr — Run OCR on a scanned file or image to produce a searchable PDF.

Form & Structure

  • FlattenDocument — Flatten form fields and annotations (make non-editable).
  • AddTable — Embed a table from an Excel or CSV file into a PDF.
  • AddToc — Add a table of contents to a PDF based on its headings.

AI-Powered

  • GenerateTableOfContents — AI-structured TOC from document headings.
  • GenerateAbstract — Summarize a document (academic / professional / casual style).
  • GenerateChecklist — Extract tasks, requirements, or compliance items from a document.
  • AnalyzeResume — Extract, analyze, or compare a CV against a job description.
  • ChatWithDocument — Ask questions about document content (RAG).
  • GenerateSvg — Create an SVG illustration from a text prompt.
  • AddIllustrations — Generate AI illustrations and embed them in a document.

Bulk Processing

  • ProcessBatch — Apply one operation to up to 200 files in a single call.
  • WaitForTasks — Wait for many tasks and return all download links at once.
  • ListBatchOperations — List the operations ProcessBatch accepts and their parameters.

Account & Quota

  • GetAccountStatus — Tier, plan, operations remaining today, safe parallelism.
  • GetSignInInstructions — How to register, issue a key, and configure the client.
  • SignOut — Disconnect, and optionally revoke this connection's key.

Status & Utility

  • GetTaskStatus — Check task progress; returns download link when ready.
  • GetNextAppSuggestions — Get recommended follow-up operations for a given output.

📋 Notes

  • File sources can be a local path (C:\file.pdf, /home/user/file.pdf), a file:// URI, or a public https:// URL. Supported schemes: http, https, ftp, ftps, file, local.
  • For MergeDocuments, pass file URLs as a comma-separated string.
  • Status codes: 202/203 = still processing, 200 = done, 500 = error.
  • MCP protocol version reported by the server: 2025-11-25.
  • OAuth: the server publishes protected-resource metadata at /.well-known/oauth-protected-resource/mcp and answers unauthorized requests with WWW-Authenticate: Bearer resource_metadata="…", so clients implementing MCP authorization sign you in through the browser.
  • Authentication is optional but recommended: send Authorization: Bearer dmk_… to have calls counted against your account instead of the anonymous limit. Keys are created above, shown once, and can be revoked at any time.

Quick Reference

MCP Endpoint

https://api.documentize.app/mcp

claude_desktop_config.json

{
  "mcpServers": {
    "documentize": {
      "type": "http",
      "url": "https://api.documentize.app/mcp"
    }
  }
}

.vscode/mcp.json

{
  "servers": {
    "documentize": {
      "type": "http",
      "url": "https://api.documentize.app/mcp"
    }
  }
}

Key Facts

  • Protocol: MCP 2025-11-25 (Streamable HTTP)
  • Sessions: stateful — Mcp-Session-Id header required after init
  • Tasks are async — poll GetTaskStatus; download via sharedFiles[].uploadFileName (S3 pre-signed URL)
  • File inputs accept local paths / file:// URIs (most common) or public URLs — schemes: http, https, ftp, ftps, file, local
  • Auth: optional Authorization: Bearer dmk_… key ties usage to your account
  • Metering: 1 operation = 1 processing call; status checks and account tools are free

Common Cases

What to type in the agent's chat. It picks the tools itself.

One file

"Convert C:\Docs\a.pdf
 to Word"

Agent calls ConvertDocument, then GetTaskStatus until done, then gives you the link.

Many files

"OCR all 60 of these
 scans and give me the
 searchable PDFs"

ProcessBatch + WaitForTasks — two calls, not 120. Needs an unlimited plan to be practical.

Before a big job

"How many Documentize
 operations do I have
 left today?"

GetAccountStatus — free, and it reports the safe parallelism too.

Chained work

"Convert this to PDF,
 compress it high, then
 password-protect it"

Three operations, charged as three. The agent feeds each result URL into the next step.

Setting up

"How do I sign in to
 Documentize?"

GetSignInInstructions — the agent reads you the steps; the login itself happens in your browser.

Edge Cases

The situations that actually cost people an afternoon.

Tools work, but you are told to sign up
You are connected anonymously. Check the headers block really is in the config — many clients silently ignore a malformed one.
credential_rejected
Your key was revoked or mistyped and the connection quietly dropped to anonymous. Issue a new key, replace it, restart the client — config is read at startup. Retrying changes nothing.
Key edited but nothing changed
Same cause: the client is still holding the old session. Restart it, then ask the agent to run GetAccountStatus to confirm the tier.
Batch refused, nothing processed
insufficient_quota — the batch needed more operations than you have left, so none ran. Submit remaining files now, or subscribe.
Quota gone faster than expected
Each file in a batch is one operation, and each step of a chained job is another. The website shares the same daily counter.
Task never reaches 200
204/203 mean it is still running — large scans and AI tools can take minutes. Call WaitForTasks again with the pending IDs; waiting is never charged.
Download link stopped working
uploadFileName is a pre-signed URL and expires. Re-run GetTaskStatus for a fresh one.
Local file path fails
Paths are resolved by the server. Against the hosted endpoint your disk is not visible — use a public URL, or run SelfHost.
Merging a folder
Not a batch: ProcessBatch is one operation per file. MergeDocuments takes the comma-separated list instead.
More than 200 files
Split into chunks of 200. The agent can loop ProcessBatch — one chunk per call.
Two agents on one account
They share the daily counter, so a batch can be refused mid-run. Submitted files still come back with their task IDs — nothing you were charged for is lost.
Key leaked
Revoke it here, or ask the agent for SignOut with revokeKey: true. Every client using that key drops to anonymous immediately.
為您的 AI 助理提供文件處理超能力

將 Claude、Cursor 或任何相容 MCP 的客戶端透過自然語言連接至 28 種以上的文件工具。

將 Claude、Cursor 或任何相容 MCP 的客戶端連接至超過 28 種文件工具。轉換、壓縮、簽署、提取文字、執行 OCR,並產生 AI 摘要——全部透過自然語言操作。

Documentize MCP 的運作方式

1. 連接您的 MCP 客戶端

將 Documentize MCP 伺服器新增至 Claude Desktop、Cursor、VS Code 或任何相容 MCP 的客戶端。只需一行設定。

2. 初始化會話

您的客戶端會自動發送初始化請求並取得會話 ID。之後的所有呼叫皆使用此會話進行追蹤(非常適合基於使用量的營收模式)。

3. 自然提問

「將此 PDF 轉換為 DOCX」— 您的 AI 助手會使用您的文件呼叫相應工具。無需 API 文件說明。

4. 獲取結果

伺服器以非同步方式處理,輪詢狀態,並將轉換後的文件或提取的資料直接傳送至您的 AI 助理。

FAQs

模型上下文協議(MCP)是一項開放標準,讓像 Claude 和 Cursor 這樣的 AI 助手能直接呼叫工具。您不需要編寫 API 程式碼,只需自然地提出請求。Documentize 提供一個 MCP 伺服器,內含 28 種文件處理工具,您的 AI 可立即使用。
有狀態模式可實現每個會話的追蹤、使用量計量與客戶隔離——這對營收化至關重要。每個客戶在初始化後會獲得唯一的會話 ID,您可以利用它依使用量計費、執行速率限制或追蹤客戶活動。您的 AI 客戶端會自動處理此會話 ID。
可以!使用 file:// URI(例如 file:///home/user/document.pdf)。您的 MCP 客戶端會傳送檔案路徑,Documentize 會直接從本機檔案系統讀取。這對不該上傳至雲端的敏感文件非常適合。
Claude Desktop(含 Agent 模式)、Cursor IDE、內建 Copilot 的 VS Code、Continue.dev,以及任何相容 MCP 的客戶端。我們亦提供直接的 HTTP 存取,以供自訂整合使用。
Documentize 在自行託管時會運行於您的基礎設施上,或在雲端版本時使用我們位於歐盟的伺服器。對於 MCP 伺服器,您可自行選擇:自行託管以完全掌控資料,或使用我們的雲端 API 以獲得便利。文件資料絕不會被用於訓練 AI 模型。
Documentize 提供處理引擎。您可以添加身份驗證中介軟體、使用情況追蹤與計費。狀態式會話模型會提供 Mcp-Session-Id 標頭,您可以將其對應到 API 金鑰或使用者帳戶。我們提供商業再分發的授權許可。

AI MCP 伺服器

⬡

深度分層 SVG 架構

每個 SVG 由背景層、中景層和前景層組成,具備 Z 索引排序與依賴追蹤。AI 會管理圖層關係,並自動移除表現不佳的圖層,以保持輸出清晰且一致。

↻

迭代式 SVG 編輯

透過持續的 AI 對話,改進與修改 SVG 設計。

✦

快速向量創建

在秒內創建圖示、標誌和插圖。

簡單、依使用量計費的定價

免費方案

$0
  • 每月 50 次文件操作
Choose 免費方案

高級方案

$4/月(每年收費)
  • 完整存取所有 Documentize AI 應用程式
  • 擴充每日處理上限
  • 優先處理與免費支援
Choose 高級方案

高級方案

$7/月
  • 對 Documentize 應用程式的完整存取權限
  • 更進階的工具與功能
  • 擴充檔案處理限制
  • 免費支援
Choose 高級方案