Connect your AI Agents to Docrio in minutes

Merge lets you securely connect your agents to Docrio and thousands of tools instantly

Available tools

archive_files

Archive files by file ID or by the Salesforce records they're related to. Provide exactly one of fileinfoids or recordids. This starts an async job — pass the returned jobid to getarchivestatus to check progress. Use listrelatedfiles or getfilesinfo to find file IDs first.

get_archive_status

Check the status of an archive job. Use the jobid returned by archivefiles.

restore_archived_files

Restore previously archived files by file ID or by the Salesforce records they're related to. Provide exactly one of fileinfoids or recordids. This starts an async job — pass the returned jobid to getarchiverestore_status to check progress.

get_archive_restore_status

Check the status of an archive-restore job. Use the jobid returned by restorearchived_files.

checkin_files

Check in files that were previously checked out, releasing the lock. All-or-nothing: if any file can't be checked in (e.g. already checked in, or checked out by someone else), none are. Use listrelatedfiles or getfilesinfo to find file IDs.

checkout_files

Check out files to lock them for editing. All-or-nothing: if any file can't be checked out (e.g. already checked out, or no permission), none are. Use listrelatedfiles or getfilesinfo to find file IDs.

delete_files

Delete files by ID (up to 100 at a time). Deleted files can be brought back with restorefiles unless permanently purged. Use listrelatedfiles or getfiles_info to find file IDs.

restore_files

Restore soft-deleted files by ID (up to 100 at a time). Use deletefiles to find out which file IDs were deleted, or getfilesinfo to check a file's isdeleted status.

delete_file_versions

Delete specific versions of one or more files (max 5,000 version IDs total). Soft-deletes by default (restorable); set soft=false to delete permanently. Use listfileversions to find version IDs for a file.

create_and_upload_file

Create a Docrio file on a Salesforce/Litify record (e.g. a Matter) and upload its content. Pass bytes as base64 in content, or a filereference for large files. relatedto must be an existing Salesforce record ID — use the Salesforce connector to find Matter IDs; Docrio has none of its own. If the upload or finalize fails, the error names the file's ID — pass it to delete_files to clean up.

upload_file_version

Upload a new version of an existing Docrio file, keeping prior versions retrievable via downloadfile's versionid. Pass bytes as base64 in content, or a filereference for large files. Use listrelatedfiles to find the fileid of an existing file.

download_file

Download a Docrio file's content by file ID. Returns a transfer instruction the platform resolves into a downloadable file — the signed URL itself is never returned directly. Use listrelatedfiles to find file IDs. Call this once per ID to download multiple files — there is no bulk download tool.

list_related_files

List files related to a Salesforce/Litify record (e.g. a Matter), with server-side sorting and pagination. Use the Salesforce connector's list/query tools to find valid Matter IDs; Docrio has no Matter lookup of its own.

update_file

Update a Docrio file's metadata — name, author, description, folder path, or external ID. Does not change the file's content (use uploadfileversion) or its related Salesforce record, which Docrio does not support changing via this route. The response only echoes the fields you set — other fields come back null, not cleared; use listrelatedfiles for the file's full state.

list_history

List the audit-log history for a file (e.g. version, checkin/checkout events). Use listrelatedfiles or getfilesinfo to find the file ID.

copy_files

Copy files to a Salesforce record, giving each copy a new name. Use listrelatedfiles or getfilesinfo to find file IDs, and the Salesforce connector to find the destination record ID.

move_files

Move files to a different Salesforce record. Use listrelatedfiles or getfilesinfo to find file IDs, and the Salesforce connector to find the destination record ID.

list_folders

List the folder tree for a Salesforce record.

create_folder

Create a folder path under a Salesforce record. folderpath is a list of path segments, e.g. ['Emails', 'Bills']. Use listfolders to see existing folders first.

associate_files

Associate pairs of files with each other under a relationship type (e.g. 'Docrio Email'). Use listrelatedfiles or getfilesinfo to find file IDs.

remove_file_association

Remove a previously created association between pairs of files (max 100 at a time). Check the failures field — some pairs can fail while others succeed.

get_files_info

Get full metadata for one or more files by ID, including audit fields, duplicate detection, and checksum — richer than listrelatedfiles. Use listrelatedfiles to find file IDs first.

list_favorites

List a Salesforce record's favorited files.

search_files

Search files by name, author, creation date range, related record, or archive status. Requires at least one of name, createddate, author, relatedto, or isarchived on every call, including continuations — resend it alongside paginationtoken, offsetsortvalue, and offsetsortid to fetch the next page. Use in place of paging through listrelatedfiles for large or filtered result sets.

validate_credential

Check that the Docrio connection works by resolving the org's API URL from the Salesforce token, then confirming the Docrio API key is accepted.

get_latest_versions

Get the latest version ID for one or more files in a single call. Use listrelatedfiles or getfilesinfo to find file IDs. Use listfileversions instead to see a single file's full version history.

list_file_versions

List all version IDs for a single file. Use listrelatedfiles or getfilesinfo to find the file ID. Use getlatestversions instead for the latest version across several files.

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 Docrio  MCP server

FAQs on using Merge's Docrio  MCP server

Explore other MCP servers built and managed by Merge

expensify
Expensify
figma
Figma
firecrawl
Firecrawl
fireflies
Fireflies
firehydrant
FireHydrant
foursquare
Foursquare
frameio
Frame.io
freshbooks
FreshBooks
freshdesk
Freshdesk
freshservice
Freshservice
front
Front
gamma
Gamma
github
GitHub
gitlab
GitLab
gmail
Gmail
goldcast
Goldcast
gong
Gong
google_ads
Google Ads
google_analytics
Google Analytics
google_bigquery
Google BigQuery
google_calendar
Google Calendar
google_docs
Google Docs
google_drive
Google Drive
google_maps
Google Maps

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