PDF Blocks for AI agents

PDF Blocks offers synchronous APIs for merging, splitting, watermarking, and securing PDF documents. Developers use it to build document assembly steps into their applications. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

DocumentsAPI keyMCP + RESTpdfblocks.com
AUDIT LOG · PDF BLOCKSPOLICY: acme-support
09:41:07 · claude · u_8f2read
pdf_blocks.extract_pages
Extract PDF Pages✓ allowed · 212ms
09:41:09 · claude · u_8f2write
pdf_blocks.add_password
Add PDF Password✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
pdf_blocks.remove_pages
Remove PDF Pages✕ blocked · policy: deny
EVERY PDF BLOCKS CALL, ON THE RECORD
01 · USE CASES

What agents do in PDF Blocks.

01

Merge multiple PDFs into one

Combine several PDF files into a single document ready to send to a client.

02

Add a password to a PDF

Secure a sensitive PDF with a password before sharing it externally.

03

Remove pages with approval

Delete pages from a PDF only after confirming which pages are no longer needed.

02 · ACTIONS

17 PDF Blocks actions, graded by risk.

Every PDF Blocks action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

1

Look things up. Allowed by default.

  • pdf_blocks.extract_pages
    Extract PDF Pages

write

11

Create and change things. Allow, or ask the user first.

  • pdf_blocks.add_password
    Add PDF Password
  • pdf_blocks.add_restrictions
    Add PDF Restrictions
  • pdf_blocks.add_text_watermark
    Add Text Watermark
  • pdf_blocks.add_image_watermark
    Add Image Watermark
  • pdf_blocks.rotate_pages
    Rotate PDF Pages
  • pdf_blocks.reorder_pages
    Reorder PDF Pages
  • pdf_blocks.reverse_pages
    Reverse PDF Pages
  • pdf_blocks.split_pdf_at_page
    Split PDF at Page
  • pdf_blocks.split_pdf_by_size
    Split PDF by Size
  • pdf_blocks.split_pdf_by_page_count
    Split PDF by Page Count
  • pdf_blocks.split_pdf_by_page_groups
    Split PDF by Page Groups

destructive

5

Delete, cancel or archive. Ask first, or deny outright.

  • pdf_blocks.remove_pages
    Remove PDF Pages
  • pdf_blocks.remove_password
    Remove PDF Password
  • pdf_blocks.remove_signatures
    Remove PDF Signatures
  • pdf_blocks.remove_restrictions
    Remove PDF Restrictions
  • pdf_blocks.merge_pdfs
    Merge PDFs
03 · HOW IT WORKS

PDF Blocks in three steps.

  1. 01Your users connect PDF BlocksThey add their PDF Blocks api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “add PDF Password” can wait for the user, and “remove PDF Pages” can be denied outright.
  3. 03Any agent can actYour agent calls PDF Blocks through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('pdf_blocks', {
  read: 'allow',
  write: 'ask',        // add_password
  destructive: 'deny',  // remove_pages
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How PDF Blocks connects.

Users add their PDF Blocks api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same PDF Blocks connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use PDF Blocks from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

PDF Blocks and Arc0, answered.

Q01

Can I use PDF Blocks with Claude, ChatGPT or Cursor?

Yes. Connect PDF Blocks to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the PDF Blocks actions you allow.

Q02

How do users connect PDF Blocks?

Users add their PDF Blocks api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which PDF Blocks actions can my agent take?

17 in total: 1 read, 11 write and 5 destructive, such as “add PDF Password”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in PDF Blocks?

Yes. Actions like “remove PDF Pages” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call PDF Blocks too?

Yes. The same PDF Blocks connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug PDF Blocks into your agent.

Your users connect PDF Blocks once, under your brand. Your agent gets 17 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan