Dokumentbehandlingens Superkræfter til din AI-assistent

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.
Dokumentbehandlingens Superkræfter til din AI-assistent

Forbind Claude, Cursor eller enhver MCP‑kompatibel klient til 28+ dokumentværktøjer gennem naturligt sprog.

Forbind Claude, Cursor eller enhver MCP-kompatibel klient til mere end 28 dokumentværktøjer. Konverter, komprimer, underskriv, udtræk tekst, kør OCR og generér AI‑opsummeringer — alt via naturligt sprog.

Hvordan Documentize MCP fungerer

1. Tilslut din MCP-klient

Tilføj Documentize MCP-server til Claude Desktop, Cursor, VS Code eller enhver MCP-kompatibel klient. Én linje konfiguration.

2. Initialiser session

Din klient sender automatisk en initialiseringsanmodning og modtager et sessions-ID. Alle efterfølgende kald bruger denne session til sporing (perfekt til brug-baseret monetisering).

3. Spørg naturligt

"Konvertér denne PDF til DOCX" — din AI-assistent kalder det passende værktøj med dit dokument. Ingen API-dokumentation nødvendig.

4. Hent resultater

Serveren behandler asynkront, kontrollerer status og leverer det konverterede dokument eller de udtrukne data direkte til din AI-assistent.

FAQs

Model Context Protocol (MCP) er en åben standard, der lader AI-assistenter som Claude og Cursor kalde værktøjer direkte. I stedet for at skrive API‑kode, spørger du blot naturligt. Documentize leverer en MCP‑server med 28 dokumentbehandlingsværktøjer, som din AI kan bruge med det samme.
Tilstandstilstand gør det muligt at spore per session, måle forbrug og isolere klienter — essentielt for indtjening. Hver klient får et unikt session‑ID efter initialisering, som du kan bruge til at fakturere efter forbrug, håndhæve ratebegrænsninger eller spore kundens aktivitet. Din AI‑klient håndterer session‑ID'et automatisk.
Ja! Brug file:// URI'er (f.eks. file:///home/user/document.pdf). Din MCP-klient sender filstien, og Documentize læser den direkte fra dit lokale filsystem. Perfekt til følsomme dokumenter, som ikke bør uploades til skyen.
Claude Desktop (med Agent-tilstand), Cursor IDE, VS Code med Copilot, Continue.dev og enhver MCP-kompatibel klient. Vi tilbyder også direkte HTTP-adgang for tilpassede integrationer.
Documentize kører på din egen infrastruktur, når det er selvhostet, eller på vores EU-baserede servere for cloud‑versionen. For MCP‑serveren kan du vælge: selvhost for fuld datakontrol, eller bruge vores cloud‑API for bekvemmelighed. Dokumentdata bruges aldrig til at træne AI‑modeller.
Documentize leverer behandlingsmotoren. Du tilføjer godkendelses-middleware, brugssporing og fakturering. Den tilstandsfulde sessionsmodel giver dig Mcp-Session-Id-headers, som du kan korrelere med API-nøgler eller brugerkonti. Vi tilbyder licensering til kommerciel videredistribution.

AI MCP-server

Lagdelt SVG-arkitektur

Hvert SVG er sammensat af baggrunds-, mellemgrunds- og forgrundslag med Z-index-ordning og afhængighedssporing. AI'en styrer lagrelationerne og fjerner automatisk underpræsterende lag for at holde outputtet rent og sammenhængende.

Iterativ SVG-redigering

Forbedr og modificer SVG-designs gennem kontinuerlig AI-chat.

Hurtig vektoroprettelse

Opret ikoner, logoer og illustrationer på sekunder.

Enkel, forbrugsbaseret prisfastsættelse

Gratis niveau

$0
  • 50 dokumentoperationer pr. måned
Choose Gratis niveau

Premiumplan

$4 pr. måned (faktureres årligt)
  • Fuld adgang til alle Documentize AI-applikationer
  • Udvidede daglige behandlingsgrænser
  • Prioriteret behandling og gratis support
Choose Premiumplan

Premiumplan

$7/måned
  • Fuld adgang til Documentize-applikationer
  • Mere avancerede værktøjer og funktioner
  • Udvidede filbehandlingsgrænser
  • Gratis support
Choose Premiumplan