Connect your AI Agents to Adobe PDF Services in minutes

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.

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 ↗
{
"mcpServers": {
"agent-handler": {
"url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
"headers": {
"Authorization": "Bearer yMt*****"
}
}
}
}
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 ↗
{
"mcpServers": {
"agent-handler": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
"--header",
"Authorization: Bearer ${AUTH_TOKEN}"
],
"env": {
"AUTH_TOKEN": "yMt*****"
}
}
}
}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 ↗
{
"mcpServers": {
"agent-handler": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
"--header",
"Authorization: Bearer ${AUTH_TOKEN}"
],
"env": {
"AUTH_TOKEN": "<ah-production-access-key>"
}
}
}
}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 ↗
{
"inputs": [
{
"type": "promptString",
"id": "agent-handler-auth",
"description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
"password": true
}
],
"servers": {
"agent-handler": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
"--header",
"Authorization: Bearer ${input:agent-handler-auth}"
]
}
}
}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























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

