Skip to content
Questions?PaperOffice AI Phone Agent 24/7+1 415 417 0945
Overview Overview News News
Share

MCP server

One account. 300+ MCP tools. Right inside your chat tool.

The PaperOffice MCP server brings documents, search, workflows and analytics into Claude, ChatGPT and Cursor.

Choose the chat tool. The guide shows every click — OAuth 2.1, no installation.

OAuth 2.1 on first connect Remote server, no installation Processing in the EU
One account. 300+ MCP tools. Right inside your chat tool.

Quick start

Choose your chat tool

The guide shows every click in Claude, ChatGPT or Cursor. Below that is only the snippet to copy.

Snippet to copy

Claude Desktop / Claude Code

{
  "mcpServers": {
    "paperoffice": {
      "url": "https://mcp.paperoffice.ai/claude"
    }
  }
}

Claude Directory URL — OAuth 2.1. Documents Operations without TTS. Paste /claude; no bearer in the snippet.

Endpoints

Copy the URL for your AI client

Every profile points at the same server — they differ only in tool scope. Which URL fits which job is in the table below.

  • Slim /mcp

    Slim IDE subset — not the Documents Operations catalog on /cursor.

    https://mcp.paperoffice.ai/mcp
  • Full /mcp-full

    All MCP tools (300+) for power workflows.

    https://mcp.paperoffice.ai/mcp-full

/openai remains reachable as an alias of /chatgpt. Decommissioned module paths respond with HTTP 410.

Capability matrix

Which URL fits?

One row per job: the recommended URL and the reason for it. This table is the only complete path list on this page.

Task Recommended URL Why
Documents Operations (canonical) /dms Documents Operations (300+ MCP tools) — identical catalog on /dms and /cursor.
Claude Desktop / Claude Code (Directory URL) /claude Directory: Documents Operations without TTS. Title and hints on every tool.
Cursor IDE while coding /cursor The same Documents Operations catalog as /dms (including TTS).
ChatGPT connector /chatgpt ChatGPT connector — curated tools for business documents and knowledge base articles, each listed individually (see the tool reference). Alias: /openai.
Meta Muse connector /muse The /chatgpt set without the ChatGPT-only attachment upload, each tool listed in the tool reference.
Slim IDE subset /mcp Compact set for search, reading and analysis, plus upload and knowledge base articles — not the Documents Operations catalog.
Complex multi-step tasks po_agents_ask in /mcp-full The host LLM agent stays on the full surface, not on /dms.
Migration / all MCP tools /mcp-full Complete MCP surface (300+ tools) for debugging and legacy agents.

Migrating older MCP setups

Retired module paths respond with HTTP 410. Use /dms for Documents Operations.

  • Use /dms as the canonical Documents Operations URL. /cursor shares that catalog (including TTS).
  • Retired module paths now respond with HTTP 410 — switch to /dms or /mcp.
  • Use /mcp for the slim IDE subset — /cursor is full Documents Operations, same as /dms.
  • Use /chatgpt for ChatGPT (alias /openai). It lists a curated tool set individually — no discovery or generic executor tools, no TTS, OTP or unlock tools.
  • Keep /mcp-full for power users and media/CRM only.
  • Use /muse for Meta Muse (the curated tools of /chatgpt without the ChatGPT-only attachment upload).

Tool reference

Every tool of the ChatGPT and Meta Muse connectors

/chatgpt (alias /openai) lists 56 tools; /muse lists 55 — the same set without the ChatGPT-only attachment upload. Each operation is a separate tool with its own description, input schema and MCP annotations; there are no discovery tools and no generic executor.

Every tool requires OAuth 2.1 with PKCE (scope mcp:tools) or a PaperOffice user or group token (po_ut_ / po_gt_); po_sk_ and po_pk_ are refused. A call runs with the permissions of the connected PaperOffice user, and its arguments are checked against the published input schema before the tool runs.

Labels

Every tool carries the MCP annotations readOnlyHint, destructiveHint, idempotentHint and openWorldHint. The label sums up what a call does:

  • ReadReads data and changes nothing (readOnlyHint true).
  • WriteCreates or changes data in the user’s PaperOffice account, for example storing, creating, extracting, converting, moving, copying, tagging or restoring documents.
  • Sensitive writeDeletes data (documents go to the recycle bin) or overwrites it, records a final decision on an approval task, may notify another person, or can publish content in a public knowledge base. Clients should ask the user to confirm before calling these tools.

/chatgpt: 56 tools (25 Read, 18 Write, 13 Sensitive write). /muse: 55 tools (25 Read, 17 Write, 13 Sensitive write).

Curated MCP tools with label, inputs, output and side effects, and parallel calls per session
ToolLabelUse it whenInputsOutput and side effectsParallel calls per session
po_workspaces_listList workspacesReadThe user names a workspace or asks which workspaces exist, or a workspace_id is needed.optionallimitoffsetsearchworkspace_idLists ID, name and document count. Locked workspaces are unlocked only in the PaperOffice app.4
po_documents_getGet document detailsReadThe user wants details of one document: type, sender, amounts, dates, summary, processing status. Stored data only; to extract invoice data use po_extraction_invoice.one ofpofiddocuments_idoptionalresolvecompactNo side effects.4
po_extraction_invoiceExtract invoice dataWriteThe user asks to extract invoice data (supplier, number, dates, line items, VAT, total). Not for personal ID numbers.one ofpofidfile_urlupload_idoptionalmodelidp_fieldsRuns a new extraction job (uses credits); poll po_job_get.1
po_job_getGet job statusReadAn extraction or PDF tool returned a job_id.requiredjob_idReturns status and, once completed, the result. Poll until completed; stop if it failed.4
po_analytics_financial_summary_getSummarize document amountsReadThe user asks for totals or a summary of invoice amounts across documents, e.g. by currency.optionalperiodworkspace_idSums extracted amounts of all documents (not only invoices) per currency, never mixing currencies.4
po_documents_create_from_contentCreate PDF from textWriteThe user asks to create or write a PDF or document (notes, letter, report).requiredcontenttitleworkspace_idoptionalcontent_typemetadatalanguageauto_classifycustom_cssheader_htmlfooter_htmlidempotency_keyPass Markdown text: PaperOffice renders and stores the PDF, returns name and pofid. Costs credits.1
po_documents_renameRename documentSensitive writeThe user wants to rename a document or change its file name.requirednew_file_nameone ofpofiddocuments_idOverwrites the file name; the original extension (e.g. .pdf) is kept.1
po_documents_text_getRead document textReadThe user needs the full text or exact wording of a document.one ofpofiddocuments_idReturns its OCR text (only after processing); emails, phone and ID numbers are masked where detected.4
po_documents_creator_agents_listList Creator AgentsReadThe user wants a quote, letter or certificate on their own template, or asks which Creator Agents exist.noneLists active agents (agent_id, name, template); then use po_documents_creator_agent_preview.4
po_documents_creator_agent_previewPreview agent documentWriteThe user asks a Creator Agent to draft a document, e.g. a quote.requiredagent_idpromptoptionalvariablessource_pofidworkspace_idFills the agent's template from the request, its knowledge bases and contacts; stores nothing, costs credits. Returns values, questions, preview_token.4
po_documents_creator_agent_runCreate agent documentWriteThe user approved a Creator Agent preview and wants the document.requiredagent_idpreview_tokenconfirmoptionalvariablesaccept_open_questionsPass preview_token, confirm=true and answers in variables. Stores the PDF in the workspace (costs credits); a repeat returns the same document.1
po_documents_upload_filesStore chat attachments/chatgpt onlyWriteThe user wants to store files they attached in this chat. To create a PDF from text use po_documents_create_from_content.requiredfilesoptionalworkspace_idai_dms_tieron_duplicateOne result per file; retries never store twice; workspace auto-processing may apply. If ChatGPT cannot pass an attachment to this tool (for example BLOCKED_FILE_REFERENCE), call it with files: [] to receive upload_url.1
po_knowledge_graph_askAsk across documentsReadA question spans many documents, e.g. which contracts have a termination clause. Best effort; not for knowledge base articles (po_knowledge_search) or totals (po_analytics_financial_summary_get).requiredquestionoptionalpofidsearch_scopeworkspace_idworkspace_idsperiodNo side effects.1
po_knowledge_get_articleRead knowledge articleReadThe user wants to read one knowledge base article in full, e.g. after a search hit.requiredidoptionallanguageReturns its title, text and summary in each language.4
po_analytics_financial_overdue_getList overdue invoicesReadThe user asks which invoices are overdue.optionalperiodworkspace_idlimitdays_overdueLists documents whose extracted due date has passed, most overdue first, with amount and currency; totals per currency, never mixed. Payment status is not checked.4
po_documents_processStart AI processingSensitive writeA stored document needs OCR and AI analysis, e.g. it has no text yet.requiredai_dms_tierone ofpofiddocuments_idoptionalconfirm_reprocessconfirm_tier_downgradeRuns in the background, costs credits; track via po_documents_get. Re-processing replaces the old analysis.1
po_documents_downloadGet download linkReadThe user wants to download or save a document's file, e.g. the PDF.one ofpofiddocuments_idReturns a temporary link to the stored file, valid for about 10 minutes.4
po_documents_update_indexUpdate index fieldsSensitive writeThe user wants to set or correct document metadata (index fields), e.g. document_type, sender_name, invoice_number, due_date, total_amount or currency.requiredfieldsone ofpofiddocuments_idoptionalidempotency_keyOnly the given fields are overwritten.1
po_documents_uploadUpload document from URLWriteThe user gives a public file URL to store, or wants a browser upload page (omit file_url).optionalupload_idfile_urlfile_nameworkspace_idai_dms_tierStores a new document; workspace auto-processing may apply.1
po_extraction_receiptExtract receipt dataWriteThe user asks to extract receipt data (merchant, date, items, tax, total), e.g. for expenses.one ofpofidfile_urlupload_idoptionalmodelidp_fieldsRuns a new extraction job (uses credits); poll po_job_get.1
po_extraction_delivery_noteExtract delivery note dataWriteThe user asks to extract delivery note data (shipper, recipient, items, quantities, delivery date).one ofpofidfile_urlupload_idoptionalmodelidp_fieldsRuns a new extraction job (uses credits); poll po_job_get.1
po_extraction_purchase_orderExtract purchase order dataWriteThe user asks to extract purchase order data (order number, vendor, buyer, items, delivery date, total).one ofpofidfile_urlupload_idoptionalmodelidp_fieldsRuns a new extraction job (uses credits); poll po_job_get.1
po_tasks_list_my_tasksList my tasksReadThe user asks about their tasks or pending approvals.optionalstatusprioritystep_typelimitoffsetLists tasks assigned to them, their role or group (default: open) with ID, status, priority and due date.4
po_tasks_get_task_detailsGet task detailsReadThe user asks what a specific task or approval is about.requiredtask_idoptionalinclude_interactionReturns description, status, due date, history and whether completing needs an approve decision.4
po_tasks_claim_taskClaim taskSensitive writeThe user explicitly wants to claim an open task. Optional; if claimed, pass claim_session_id to po_tasks_complete_task or po_tasks_reject_task.requiredtask_idLocks it to them for 15 minutes and may notify the assignee.1
po_tasks_complete_taskComplete taskSensitive writeThe user approves a task or marks it done.requiredtask_idoptionalresultcommentclaim_session_idFor approvals pass result {"decision":"approve"}. Final, cannot be undone; reject with po_tasks_reject_task. hitl_review tasks are done in the app.1
po_tasks_reject_taskReject taskSensitive writeThe user rejects or declines a task or approval.requiredtask_idreasonoptionalclaim_session_idRecords the reason; a waiting workflow continues without the requested action. Final, cannot be undone. hitl_review tasks are done in the app.1
po_documents_moveMove documentWriteThe user wants to move a document to another workspace.requiredtarget_workspace_idone ofpofiddocuments_idoptionalconfirmAll its versions move along and keep their pofids. Documents under retention or legal hold cannot be moved.1
po_documents_copyCopy documentWriteThe user wants to copy or duplicate a document into a workspace.requiredtarget_workspace_idone ofpofiddocuments_idoptionalnew_file_nameEach call creates a new copy with its own pofid; a target workspace with automatic AI processing processes it, which costs credits.1
po_documents_tags_listList document tagsReadThe user asks which tags or labels a document has.one ofpofiddocuments_idReturns tag names and colors.4
po_documents_tags_createAdd document tagWriteThe user wants to tag or label a document.requiredtag_nameone ofpofiddocuments_idoptionaltag_colorAdds one tag per call; a tag the document already has is rejected.1
po_documents_folders_listList document foldersReadThe user asks for document folders, i.e. bundles of related documents, in a workspace.requiredworkspace_idLists folders only; po_documents_search lists documents.4
po_documents_folders_createCreate document folderWriteThe user wants to bundle or staple related documents, e.g. an invoice and its delivery note, into one new document folder; the files stay separate.requiredpofidsoptionalfolder_namefolder_descriptionA document can be in only one folder.1
po_vat_validateValidate EU VAT IDReadThe user wants to check if a company's EU VAT ID is valid.requiredvat_idChecks EU VIES or a recent cached result (check date returned); returns validity and, if disclosed, company name and address.4
po_currency_convertConvert currencyReadThe user asks to convert an amount to another currency.requiredfromtooptionalamountUses the latest available rate (rate date returned); no historical rates.4
po_pdfstudio_mergeMerge PDFsWriteThe user wants to merge or combine two or more PDF documents into one file.one ofpofidsfile_urlsoptionalorderoutput_filenameStarts a job; po_job_get returns the download link.1
po_pdfstudio_splitSplit PDFWriteThe user wants to split a PDF into single pages or page ranges.one ofpofidfile_urlupload_idoptionalmodesplitsoutput_prefixStarts a job; po_job_get returns the download link(s).1
po_pdfstudio_compressCompress PDFWriteThe user wants to compress a PDF or reduce its file size.one ofpofidfile_urlupload_idoptionalqualityremove_metadataStarts a job; po_job_get returns the download link.1
po_dataripper_office2pdfConvert Office to PDFWriteThe user wants to convert a Word, Excel or PowerPoint file to PDF.one offile_urlupload_idPass a public file_url, or omit it to get an upload page, then pass the upload_id shown there. po_job_get returns the PDF link.4
po_documents_versions_listList document versionsReadThe user asks for earlier versions or the version history of a document.requiredpofidoptionalinclude_trashedReturns its versions with number, pofid, date, comment and which is current.4
po_documents_audit_trail_getGet change historyReadThe user asks what changed in a document or workspace, or for an audit trail or change log.optionalpofiddocuments_idactionworkspace_idlimitoffsetOnly revision-secure documents log changes; returns the latest entries with action, field, old and new value.4
po_documents_trash_listList recycle binReadThe user asks what is in the recycle bin or trash, or looks for a deleted document.optionalworkspace_idpageper_pageReturns deleted documents (newest first, 50 per page) with pofid and days left before permanent deletion.4
po_documents_restoreRestore documentWriteThe user wants to restore or undelete a document from the recycle bin.one ofpofiddocuments_idoptionaltarget_workspace_idPuts it back with its versions into its original workspace (a fallback one if that was deleted) or target_workspace_id.1
po_documents_deleteDelete documentSensitive writeThe user wants to delete a document and all its versions (not a tag or folder entry).one ofpofiddocuments_idoptionalconfirmPermanent in standard workspaces, recycle bin in business and compliance ones. Retention or legal hold blocks it.1
po_knowledge_list_basesList knowledge basesReadThe user asks which knowledge bases they have or a knowledge base ID is needed.optionalinclude_archivedReturns ID, name, visibility and languages of each active knowledge base.4
po_knowledge_list_articlesList knowledge articlesReadThe user wants to browse or list the articles of a knowledge base instead of searching.optionalkb_idpagelimitcategory_idlanguagesearchReturns articles (50 per page) with IDs, titles, status and content.4
po_knowledge_categoriesList knowledge categoriesReadThe user asks which categories their knowledge base articles are sorted into.optionalkb_idlanguageReturns each category's ID, name and article count.4
po_knowledge_get_baseGet knowledge baseReadThe user asks about one knowledge base's settings, visibility or languages.requiredidReturns its details with article and category counts.4
po_knowledge_add_articleCreate knowledge articleSensitive writeThe user asks to add or write a new knowledge base article.requiredkb_idtitlecontentlanguageoptionalcategory_idtypeSaves it and indexes it for search; in a public knowledge base it is published at once.1
po_knowledge_update_articleUpdate knowledge articleSensitive writeThe user asks to edit or rewrite a knowledge base article.requiredidlanguageone oftitlecontentcategory_idtypeis_activeReplaces the title and/or text of one language version and clears its summary and tags; public articles change at once.1
po_knowledge_translateTranslate knowledge articleSensitive writeThe user asks to translate a knowledge base article.requiredidtarget_languageoptionalsource_languageAI translates it and saves that language version, replacing an existing one; in a public knowledge base it goes live. Costs credits.1
po_knowledge_create_baseCreate knowledge baseSensitive writeThe user asks to create a new knowledge base for help articles.requirednameoptionaldescriptionprimary_languageenabled_languagesvisibilityBy default it is internal (team only) with primary language en; visibility public puts its articles on the help center.1
po_knowledge_update_baseUpdate knowledge baseSensitive writeThe user asks to rename a knowledge base, change its description or make it public or internal.requiredidone ofnamedescriptionvisibilityprimary_languageenabled_languagesOverwrites the given fields; public puts its published articles online, internal takes them offline.1
po_knowledge_delete_articleDelete knowledge articleSensitive writeThe user asks to delete a knowledge base article.requiredidPermanently removes it in all languages, also from search and the help center; cannot be undone.1

Hover over an input name to see its type and description. The last column shows how many calls of a tool can run at the same time in one MCP session.

Errors

A tool error comes back as an MCP tool result with isError: true. The same JSON object is in structuredContent and in the first text content block:

{
  "error_code": "WORKSPACE_ACCESS_DENIED",
  "code": "WORKSPACE_ACCESS_DENIED",
  "message": "This connection has no access to this workspace.",
  "details": {
    "error_code": "WORKSPACE_ACCESS_DENIED",
    "workspace_id": 12345
  },
  "hint": "Use po_workspaces_list to see the workspaces this connection can access. Retrying will not change the result."
}
error_code
Stable machine-readable code. It is mirrored in code and details.error_code because some clients rewrite error_code.
message
Human-readable explanation.
details
Context such as http_status, retryable / retry_safe, suggested_backoff_ms, validation_errors or the IDs that were sent.
hint
What to do next, written for the model.
retryablehttp_status
Optional top-level fields declared in the output schemas.
CodeMeaningRetry?
INVALID_PARAMSThe arguments failed schema validation; details.validation_errors names the fields.No — fix the arguments
TOOL_UNKNOWNNo tool with this name is available on this connection — use a name from the connector’s tool list.No
TOOL_NOT_ON_THIS_CONNECTORThe tool exists in PaperOffice but is not part of this connector. The hint names the way forward: on /dms and /cursor via po_mcp_tools_call_read or po_mcp_tools_call_write, otherwise in the PaperOffice app.No — follow the hint
WORKSPACE_ACCESS_DENIEDThe connection has no access to the workspace or document.No
DOCUMENT_NOT_FOUNDUnknown pofid or documents_id.No
CONFIRMATION_REQUIREDThe action needs confirmation — for example bulk actions on 6 or more items, revoking shares or releasing a legal hold. A preview of the affected items is included; after the user confirms, repeat the call with confirm=true.After the user confirms
APP_ONLY_ACTIONINSTANT_DELETE_APP_ONLYFOLDER_DELETE_NOT_ALLOWEDFinal steps are only possible in the PaperOffice app: permanent deletion, emptying the recycle bin, deleting a workspace, changing the recycle bin retention or deleting a whole folder. Documents deleted via MCP go to the recycle bin.No — complete it in the app
LEGAL_HOLD_ACTIVEUNDER_RETENTIONWORM_PROTECTEDThe document is protected; the change was refused.No
GROUP_RESTRICTIONThe token’s group lacks this permission, for example deleting.No
PLAN_UPGRADE_REQUIREDThe feature is included from a higher plan; details.required_plan names the plan, details.plans_url the plans page in the app.No — only after a plan upgrade
INSUFFICIENT_CREDITSNot enough credits (HTTP 402); nothing was charged.After a top-up
TASK_REQUIRES_APP_REVIEWCLAIM_SESSION_MISMATCHTASK_CLAIM_EXPIREDThe decision on an approval task could not be recorded; the hint explains the next step.As the hint says
TRANSLATION_IN_PROGRESSA knowledge base translation is still running.Yes, after about 60 s with the same arguments
WRITE_OUTCOME_UNKNOWNA knowledge base write got no answer within the time limit; it was probably saved.Check first, then retry
TRANSIENT_TRANSPORT_ERRORBackend timeout (408) or HTTP 429, 502, 503 or 504; details.retryable is true, suggested_backoff_ms is 2000 and details.http_status shows the cause.Yes, with backoff
SESSION_BUSYACCOUNT_BUSYA concurrency limit was reached (see rate limits); retry_safe is true and retry_after_ms is included.Yes, after retry_after_ms
MCP_MAINTENANCEServer maintenance or restart; retry_after_ms is 2000.Yes
SECRET_ARGUMENT_REJECTEDAn argument looked like a credential; tool arguments must not contain tokens or passwords.No
TOOL_ERRORGeneric fallback when no specific code applies.Depends on the message

Not an error: when a file input is missing, the file-based tools (extraction, PDF) return a normal text result that starts with FILE_UPLOAD_REQUIRED and names the accepted inputs or a browser upload page.

On the transport level, a missing, invalid, expired or revoked token gets HTTP 401 with a WWW-Authenticate header (run OAuth again). While authentication or the tool catalog is briefly unavailable, the server answers HTTP 503 with Retry-After (2–5 s).

Rate limits and quotas

  • Per MCP session (Mcp-Session-Id): at most 8 tool calls in flight. Tools with 1 in the last column run one at a time: a second concurrent call returns SESSION_BUSY at once (retry after about 300 ms, or 500 ms for po_knowledge_graph_ask). The other tools run up to 4 in parallel and wait up to 15 s for a free slot.
  • Per access token across all sessions: at most 24 tool calls in flight (ACCOUNT_BUSY).
  • The request limits of the PaperOffice API apply to every tool call: free and visitor tokens get at least 5 requests per second, 30 per minute, 100 per hour and 500 per day; plan values can be higher. Paid plans with remaining credits are limited by credits, not by a request rate. Rate-limited calls are not charged; they return TRANSIENT_TRANSPORT_ERROR with details.http_status 429 and the wait time in the message.
  • Time limits: a backend call is abandoned after 90 s (knowledge base writes then return WRITE_OUTCOME_UNKNOWN or TRANSLATION_IN_PROGRESS instead of retrying blindly); po_knowledge_graph_ask stops after 120 s.
  • Limits stated in the tool descriptions: up to 10 files per po_documents_upload_files call (/chatgpt only), 2 or more PDFs per merge, up to 500 search hits per page, up to 200 workspaces per page and 10–200 recycle-bin entries per page. Download links expire after about 10 minutes, and a claimed task stays locked for 15 minutes.
  • Billing: MCP calls are billed in credits like REST API calls. Tools whose description says “costs credits” or “uses credits” start AI processing and use more credits.

Tools

Six families, one catalog

The MCP tools are grouped by job. Your client sees them with a title and short description and picks the right tool itself.

  • Document AI

    Documents, OCR, IDP, search, PDF operations, signatures and AI-DMS.

    document-ai
  • Workflow AI

    Workflows, jobs, tasks, HITL, approvals and process automation.

    workflow-ai
  • Relations AI

    CRM, partners, leads, helpdesk and appointments.

    relations-ai
  • Analytics AI

    Analytics, BI, knowledge graph, entities and RAG.

    analytics-ai
  • Media AI

    Image Studio, TTS, STT and translation.

    media-ai
  • Data AI

    Validation, VAT, currency, geodata and security lookups.

    data-ai

Covered areas

  • Document Management Search, read, upload, edit, move, copy, delete
  • Smart Search Full-text, semantic similarity, advanced search, statistics
  • E-Signature Signature requests, templates, verification, mobile links
  • AI Processing AI-OCR, document analysis, PII detection, anonymization
  • AI Document Operations Entities, relations, summaries, meta fields, embeddings
  • Analytics Trends, financials, heatmaps, audit center
  • Knowledge Graph Business cases, timelines, references, relations
  • CRM Intelligence Accounts, leads, opportunities, sentiment
  • Business Intelligence Dashboards, field analysis, workspace metrics
  • Webhooks & Events Subscribe, test, manage, job subscriptions
  • Notes, Tags & Comments Text comments and notes — create, list, resolve, delete
  • Versioning & Audit Revisions, legal hold, audit trail

Examples

What you say — which tool runs

Four everyday sentences and the MCP tool your client calls for them. Permissions come from your workspace, not from the chat.

  • Extract all data from the attached invoice.

    MCP tool po_aiocr_analyze

    Invoice analyzed — extracted data:

  • Rename this document to Invoice-2026-0042.

    MCP tool po_documents_rename

    Document renamed successfully:

  • Add a review comment on page 2.

    MCP tool po_documents_comments_create

    Comment created:

  • How has our document volume developed?

    MCP tool po_analytics_trends_get

    Trend analysis for the last 6 months:

Highlights

What sets the MCP server apart

The MCP server is not a wrapper around the REST API — it is the same core with your account permissions, workspaces and credits.

  • OAuth 2.1 and user tokens

    OAuth for Claude and ChatGPT; user tokens (po_ut_ / po_gt_) for Cursor — po_sk_ is blocked.

  • Hybrid search with embeddings

    PaperOffice embeddings and full text work together so your client finds the right tool.

  • File staging and upload

    Presigned upload URLs — no base64 in the chat.

  • Knowledge graph

    Business cases, timelines and document relations in natural language.

  • Analytics and BI

    Trends, finance, heatmaps and workspace metrics on request.

  • EU processing

    Processing in our own EU infrastructure — the same permissions and workspaces as in the app.

Use Cases

See PaperOffice MCP in 30 seconds

Four real workflows with Claude — one short video each. Deep-dive articles linked below.

Build your document workflow

Connect document processing to your workflows and AI assistants. Choose the guide for your next step.

FAQ

Everything about the PaperOffice MCP server

How does MCP authentication work?
Claude and ChatGPT start with OAuth 2.1. Alternatively a User or Group token (po_ut_ / po_gt_) — po_sk_ and po_pk_ are blocked for MCP.
What does MCP usage cost?
MCP calls bill credits like the REST API. Balance and usage can be queried via billing endpoints.
Which endpoint offers which tools?
/mcp is the slim IDE subset. /dms and /cursor share Documents Operations including capture, workflow and TTS. /claude is Directory without TTS. /chatgpt (alias /openai) lists a curated tool set for ChatGPT; /muse lists the same tools except the ChatGPT-only attachment upload. The tool reference on this page marks every curated tool as Read, Write or Sensitive write.
Is OAuth 2.1 supported?
Yes. OAuth 2.1 starts on first connect. Alternatively a User or Group token (po_ut_ / po_gt_) — po_sk_ and po_pk_ are blocked.
What is an MCP-native AI-DMS?
An AI-DMS whose capabilities are natively reachable via the Model Context Protocol — same permissions and workspaces as in the app.
Which clients are supported?
Including Claude, ChatGPT, Cursor and headless DMS profiles — see the connect pages.
How fast is connect?
In minutes: OAuth 2.1 on the first connect or a user/group token (po_ut_ / po_gt_), then enable tools. po_sk_ is blocked for MCP.
Do profiles differ?
Yes — the tool scope depends on the endpoint. What a call may do is set by the permissions of the connected user; a Group token (po_gt_) has exactly the permissions of its user group.
Where is the documentation?
In the developer MCP documentation, plus llms.txt and the live Postman collection.
Is there EU hosting?
Yes — processing in PaperOffice EU infrastructure.

PaperOffice AI · Problem Solver

Tell us what costs you time every day.

Just describe it. No technical terms needed.

Or start with an example

How would you like to use PaperOffice?

Computer and smartphone are connected: workspace on the computer, capture on the phone.

Where would you like to start?

The full workspace is optimized for the computer. The mobile version is for capturing, reviewing, and approving documents.

Register free app.paperoffice.ai

Start on the computer

A personal access link will be sent to the email address provided.

Open PaperOffice Mobile

Capture and work with documents directly on the smartphone.

Open mobile version