Connect your AI Agents to Adobe PDF Services in minutes

Merge lets you securely connect your agents to Adobe PDF Services and thousands of tools instantly

Available tools

upload_asset

Upload a file to Adobe PDF Services for processing. Returns an asset_id to use with PDF operations. File content must be base64-encoded. Supported types: PDF, Word, Excel, PPT, HTML, images.

download_asset

Download a processed file from Adobe PDF Services. Use the downloadUri from a completed job status response. Returns base64-encoded file content.

create_pdf

Convert a Word, Excel, PowerPoint, HTML, or image file to PDF. Upload the source file first with upload_asset, then pass its asset_id. Returns a status_url to poll with get_job_status.

export_pdf

Convert a PDF to Word, Excel, PowerPoint, RTF, PNG, or JPEG. Upload the PDF first with upload_asset, then pass its asset_id. Returns a status_url to poll with get_job_status.

extract_pdf

Extract text, tables, and figures from a PDF using AI. Upload the PDF first with upload_asset. Results include structured JSON with text and table data. Returns a status_url to poll with get_job_status.

get_pdf_properties

Get metadata and properties of a PDF (page count, dimensions, etc.). Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

generate_document

Generate a PDF or Word document from a template and JSON data. Upload a Word template first with upload_asset, then pass JSON data to merge. Returns a status_url to poll with get_job_status.

auto_tag_pdf

Auto-tag a PDF for accessibility compliance. Adds structure tags for headings, paragraphs, lists, tables, etc. Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

ocr_pdf

Add a searchable text layer to a scanned PDF using OCR. Upload the scanned PDF first with upload_asset. Supports multiple languages. Returns a status_url to poll with get_job_status.

add_watermark

Add a watermark to a PDF using another PDF or image as the watermark. Upload both the target PDF and watermark file with upload_asset first. Returns a status_url to poll with get_job_status.

get_job_status

Poll the status of an Adobe PDF Services operation. Use the status_url returned by any operation tool. Status is 'in progress', 'done', or 'failed'. When done, the response includes asset download info.

combine_pdfs

Merge multiple PDFs into one. Upload each PDF with upload_asset first. Pass asset objects with 'assetID' and optional 'pageRanges'. Returns a status_url to poll with get_job_status.

split_pdf

Split a PDF into multiple files by page count, page ranges, or file count. Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

compress_pdf

Reduce the file size of a PDF. Compression levels: LOW, MEDIUM, HIGH. Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

linearize_pdf

Optimize a PDF for fast web viewing (linearization). Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

insert_pages

Insert pages from one PDF into another at a specific position. Upload both PDFs with upload_asset first. Returns a status_url to poll with get_job_status.

replace_pages

Replace pages in a PDF with pages from another PDF. Upload both PDFs with upload_asset first. Returns a status_url to poll with get_job_status.

delete_pages

Delete specific pages from a PDF. Upload the PDF first with upload_asset. Page ranges use 1-indexed start and end. Returns a status_url to poll with get_job_status.

rotate_pages

Rotate pages in a PDF by 90, 180, or 270 degrees. Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

reorder_pages

Reorder pages in a PDF. Specify the new page order with asset IDs and ranges. Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

protect_pdf

Add password protection and encryption to a PDF. Set user_password (to open) and/or owner_password (to change permissions). Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

remove_protection

Remove password protection from a PDF. Provide the password used to protect the file. Upload the PDF first with upload_asset. Returns a status_url to poll with get_job_status.

apply_electronic_seal

Apply an electronic seal (e-seal) to a PDF using a digital certificate. Upload the PDF first with upload_asset. Requires seal certificate credentials (URL, password, type). Returns a status_url to poll with get_job_status.

validate_credential

Validate Adobe PDF Services credentials by attempting a token exchange. Returns success if the client_id and client_secret are valid.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Adobe PDF Services  MCP server

FAQs on using Merge's Adobe PDF Services  MCP server

Explore other MCP servers built and managed by Merge

jenkins
Jenkins
jira
Jira
jira_service_management
Jira Service Management
kintone
Kintone
klaviyo
Klaviyo
linear
Linear
linkedin
LinkedIn
looker
Looker
lucidchart
Lucidchart
make
Make
microsoft_planner
Microsoft Planner
microsoft_teams
Microsoft Teams
microsoft_teams_gcc
Microsoft Teams GCC High
miro
Miro
monday
Monday.com
n8n
n8n
netsuite
NetSuite
notion
Notion
npi_registry
NPI Registry
onedrive
OneDrive
onedrive_gcc
OneDrive GCC High
onenote
OneNote
oracle_hcm
Oracle HCM
oracle_sales_cloud
Oracle Sales Cloud

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now