Skip to content

Connectors · Industry

iManage Work MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to iManage Work and the rest of your systems. It gives your agent 152 iManage Work actions (71 reads, 67 writes and 14 that wait for a confirmation) and holds the iManage Work credential itself, so the agent never does. It paces iManage Work's limits and records every call. Connecting iManage Work needs your own iManage Work OAuth app and one admin sign-in.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "imanage_work.folders.list",  intent: "check which iManage Work account is connected"}# Search folders in a library · read · 1 upstream call
  • 152actionsin one signed file
  • 71readlook, never change
  • 67writecreate and update
  • 14wait for a yesdestructive, confirmed first

Set up

Connect iManage Work in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect iManage Work.

    OAuth 2.0, authorization code. You register your own OAuth app with iManage Work, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.

    Before the first sign-in, iManage Work needs an OAuth app of your own, registered in its developer portal. actionlake has no iManage Work app to lend you.

    • access_tokenAccess token from one sign-in with your own OAuth app
    • refresh_tokenRefresh token from the same sign-in; the access token is renewed from it
    • client_idClient ID of an application registered in iManage Control Center (Applications > add a Custom application with OAuth…
    • client_secretClient secret of the same Control Center application
    • customer_idYour iManage Work customer id
    • hostWhere your iManage Work lives: your host
    • library_idYour iManage Work library id
    account { op: "connections.requirements", service: "imanage_work" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "imanage_work.folders.list" }# search folders in a library · read · 1 upstream callcheck { action: "imanage_work.folders.subfolders.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

iManage Work at a glance

Sign-in
OAuth 2.0, authorization code. You register your own OAuth app with iManage Work, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
You provide
access_tokenrefresh_tokenclient_idclient_secret
Setup fields
customer_idhostlibrary_id
Limits we pace to
300 calls a minute, per connection
API covered
IManage Work Universal API v2 (REST, /work/api/v2), at your iManage Work instance's API base URL, which you enter when connecting
Built from
iManage Work's documentation, read 23 October 2026OpenAPI spec (GitHub)OpenAPI spec (GitHub)cloudimanage.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
65 of 71 reads, for up to 5 minutes; a write clears what it affects
Shared entities
7, so ask can line iManage Work up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in iManage Work.

152 actions in 20 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 71readlook, never change
  • 67writecreate and update
  • 14destructivewait for a confirmation
  1. Documents

    31

    15 read · 14 write · 2 destructive

    Search documents in a library · Get a document profile · Update a document profile · Delete a document

  2. Folders

    23

    11 read · 10 write · 2 destructive

    Search folders in a library · Create a subfolder · Update a folder · Get a folder

  3. Workspaces

    20

    9 read · 9 write · 2 destructive

    Search workspaces in a library · Create a workspace · Get a workspace · Update a workspace

  4. Roles

    9

    3 read · 3 write · 3 destructive

    List library roles · Create a library role · Get a library role · Update a library role

  5. Tabs

    8

    3 read · 4 write · 1 destructive

    List a tab's children · Create a folder in a tab · Get a workspace tab · Replace a workspace tab's profile

  6. Groups

    7

    3 read · 4 write · 0 destructive

    List groups of a library · Create a group · Get a group · Update a group

  7. Users

    7

    4 read · 3 write · 0 destructive

    List users of a library · Get a library user · Add users to a library · List a user's groups

  8. Lookups

    6

    2 read · 3 write · 1 destructive

    Create a lookup value · List lookup values of a custom field · Get a lookup value · Update lookup values of a custom field

12 more areas · 41 actions
  • Classes 5
  • Subclasses 5
  • Types 5
  • Global users 4
  • Recent documents 4
  • Recent workspaces 4
  • Captions 3
  • Library 3
  • Search folders 3
  • Templates 3
  • Discovery 1
  • Libraries 1

Top actions

The iManage Work API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 37 of iManage Work's 38 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
imanage_work.folders.listSearch folders in a librarySearch folders in a library.readcontent.folder.list62 connectors
imanage_work.discovery.getGet API discovery and the signed-in userGet API discovery and the signed-in user.readidentity.current_user.get307 connectors
imanage_work.documents.listSearch documents in a librarySearch documents in a library.readcontent.document.list28 connectors
imanage_work.users.listList users of a libraryList users of a library.readidentity.user.list474 connectors
imanage_work.groups.listList groups of a libraryList groups of a library.readidentity.group.list262 connectors
imanage_work.roles.listList library rolesList library roles.readidentity.role.list184 connectors
imanage_work.folders.subfolders.createCreate a subfolderCreate a subfolder.writecontent.folder.create62 connectors
imanage_work.workspaces.listSearch workspaces in a librarySearch workspaces in a library.readwork.workspace.list50 connectors
imanage_work.folders.deleteDelete a folderDelete a folder.destructivecontent.folder.delete46 connectors
imanage_work.global_users.createCreate a userCreate a user.writeidentity.user.create262 connectors
imanage_work.groups.createCreate a groupCreate a group.writeidentity.group.create205 connectors
imanage_work.roles.createCreate a library roleCreate a library role.writeidentity.role.create105 connectors

Try it

Prompts to paste into Claude.

Each one names the iManage Work actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Who has access in iManage Work? List every user and their role.

    callsimanage_work.users.list

  2. Writewrite

    Create a subfolder in iManage Work. Show me exactly what you will send before you save it.

    callsimanage_work.folders.subfolders.create

Governance for iManage Work

Destructive actions wait for a yes.

14 iManage Work actions are destructive. These are all of them:

  • Delete a folderimanage_work.folders.delete
  • Delete a documentimanage_work.documents.delete
  • Delete a library roleimanage_work.roles.delete
  • Delete a workspaceimanage_work.workspaces.delete
  • Remove a related documentimanage_work.documents.related.remove
  • Remove a document from a folderimanage_work.folders.documents.remove
  • Delete a workspace name-value pairimanage_work.workspaces.name_value_pairs.delete
  • Assign a role to a userimanage_work.roles.users.add
  • Delete a workspace tabimanage_work.tabs.delete
  • Delete a document typeimanage_work.types.delete
  • Delete a document classimanage_work.classes.delete
  • Delete a lookup valueimanage_work.lookups.delete
  • Delete a subclassimanage_work.subclasses.delete
  • Remove a role from a userimanage_work.roles.users.remove

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

doimanage_work.folders.deleteconfirm_policy: human

Delete a folder?

intent: the user asked me to delete a folder

run suspended · waiting for a named person · key imanage-work-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "imanage-work-agent",  allowed_actions: ["imanage_work.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "imanage_work.folders.delete", approver: "[email protected]" },    { match: "imanage_work.documents.delete", approver: "[email protected]" },    { match: "imanage_work.roles.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to iManage Work only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What iManage Work costs on actionlake.

Every iManage Work action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call iManage Work refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 152 iManage Work actions
  • 152actions pageeach page of a long list is one call
  • 65reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every iManage Work action.

152 actions by area: the id your agent calls, what it does, and its effect.

Documents31
  • imanage_work.documents.checked_out.listList checked-out documentsread
  • imanage_work.documents.checkout.createCheck out a documentwrite
  • imanage_work.documents.checkout.getGet a document's checkout informationread
  • imanage_work.documents.checkout.updateUpdate a document's checkoutwrite
  • imanage_work.documents.copyCopy a documentwrite
  • imanage_work.documents.declareDeclare a document as a recordwrite
  • imanage_work.documents.deleteDelete a documentdestructive
  • imanage_work.documents.getGet a document profileread
  • imanage_work.documents.history.createAdd a document history entrywrite
  • imanage_work.documents.history.listList a document's historyread
  • imanage_work.documents.listSearch documents in a libraryread
  • imanage_work.documents.list_allSearch documents across all librariesread
  • imanage_work.documents.lockLock a documentwrite
  • imanage_work.documents.name_value_pairs.getGet a document's name-value pairsread
  • imanage_work.documents.name_value_pairs.replaceReplace a document's name-value pairswrite
  • imanage_work.documents.name_value_pairs.updateUpdate a document's name-value pairswrite
  • imanage_work.documents.operations.getGet the operations allowed on a documentread
  • imanage_work.documents.path.getGet a document's location pathread
  • imanage_work.documents.related.addRelate documents to a documentwrite
  • imanage_work.documents.related.listList a document's related documentsread
  • imanage_work.documents.related.removeRemove a related documentdestructive
  • imanage_work.documents.searchSearch documents in a library (filter body)read
  • imanage_work.documents.search_allSearch documents across all libraries (filter body)read
  • imanage_work.documents.security.getGet a document's securityread
  • imanage_work.documents.security.updateUpdate a document's securitywrite
  • imanage_work.documents.shareShare a documentwrite
  • imanage_work.documents.undeclareUndeclare a document recordwrite
  • imanage_work.documents.unlockUnlock a documentwrite
  • imanage_work.documents.updateUpdate a document profilewrite
  • imanage_work.documents.versions.latestGet a document's latest versionread
  • imanage_work.documents.versions.listList a document's versionsread
Folders23
  • imanage_work.folders.children.listList a folder's childrenread
  • imanage_work.folders.deleteDelete a folderdestructive
  • imanage_work.folders.document_shortcuts.createAdd document shortcuts to a folderwrite
  • imanage_work.folders.documents.listList the documents in a folderread
  • imanage_work.folders.documents.moveMove a document to another folderwrite
  • imanage_work.folders.documents.removeRemove a document from a folderdestructive
  • imanage_work.folders.folder_shortcuts.createAdd folder shortcuts to a folderwrite
  • imanage_work.folders.getGet a folderread
  • imanage_work.folders.listSearch folders in a libraryread
  • imanage_work.folders.list_allSearch folders across all librariesread
  • imanage_work.folders.moveMove a folderwrite
  • imanage_work.folders.name_value_pairs.getGet a folder's name-value pairsread
  • imanage_work.folders.name_value_pairs.updateUpdate a folder's name-value pairswrite
  • imanage_work.folders.operations.getGet the operations allowed on a folderread
  • imanage_work.folders.path.getGet a folder's location pathread
  • imanage_work.folders.replaceReplace a folder's profilewrite
  • imanage_work.folders.searchSearch folders in a library (filter body)read
  • imanage_work.folders.search_allSearch folders across all libraries (filter body)read
  • imanage_work.folders.search_folders.createCreate a search folder in a folderwrite
  • imanage_work.folders.security.getGet a folder's securityread
  • imanage_work.folders.security.updateUpdate a folder's securitywrite
  • imanage_work.folders.subfolders.createCreate a subfolderwrite
  • imanage_work.folders.updateUpdate a folderwrite
Workspaces20
  • imanage_work.workspaces.children.listList a workspace's childrenread
  • imanage_work.workspaces.createCreate a workspacewrite
  • imanage_work.workspaces.deleteDelete a workspacedestructive
  • imanage_work.workspaces.folders.createCreate a folder in a workspacewrite
  • imanage_work.workspaces.getGet a workspaceread
  • imanage_work.workspaces.listSearch workspaces in a libraryread
  • imanage_work.workspaces.list_allSearch workspaces across all librariesread
  • imanage_work.workspaces.name_value_pairs.addAdd name-value pairs to a workspacewrite
  • imanage_work.workspaces.name_value_pairs.deleteDelete a workspace name-value pairdestructive
  • imanage_work.workspaces.name_value_pairs.getGet a workspace's name-value pairsread
  • imanage_work.workspaces.name_value_pairs.replaceReplace a workspace's name-value pairswrite
  • imanage_work.workspaces.name_value_pairs.updateUpdate a workspace's name-value pairswrite
  • imanage_work.workspaces.operations.getGet the operations allowed on a workspaceread
  • imanage_work.workspaces.searchSearch workspaces in a library (filter body)read
  • imanage_work.workspaces.search_allSearch workspaces across all libraries (filter body)read
  • imanage_work.workspaces.search_folders.createCreate a search folder in a workspacewrite
  • imanage_work.workspaces.security.getGet a workspace's securityread
  • imanage_work.workspaces.security.updateUpdate a workspace's securitywrite
  • imanage_work.workspaces.tabs.createCreate a tab in a workspacewrite
  • imanage_work.workspaces.updateUpdate a workspacewrite
Roles9
  • imanage_work.roles.createCreate a library rolewrite
  • imanage_work.roles.deleteDelete a library roledestructive
  • imanage_work.roles.getGet a library roleread
  • imanage_work.roles.listList library rolesread
  • imanage_work.roles.replaceReplace a library rolewrite
  • imanage_work.roles.updateUpdate a library rolewrite
  • imanage_work.roles.users.addAssign a role to a userdestructive
  • imanage_work.roles.users.listList the users holding a roleread
  • imanage_work.roles.users.removeRemove a role from a userdestructive
Tabs8
  • imanage_work.tabs.children.listList a tab's childrenread
  • imanage_work.tabs.deleteDelete a workspace tabdestructive
  • imanage_work.tabs.folders.createCreate a folder in a tabwrite
  • imanage_work.tabs.getGet a workspace tabread
  • imanage_work.tabs.replaceReplace a workspace tab's profilewrite
  • imanage_work.tabs.security.getGet a tab's securityread
  • imanage_work.tabs.security.updateUpdate a tab's securitywrite
  • imanage_work.tabs.updateUpdate a workspace tabwrite
Groups7
  • imanage_work.groups.createCreate a groupwrite
  • imanage_work.groups.getGet a groupread
  • imanage_work.groups.listList groups of a libraryread
  • imanage_work.groups.members.addAdd members to a groupwrite
  • imanage_work.groups.members.listList a group's membersread
  • imanage_work.groups.members.replaceReplace a group's memberswrite
  • imanage_work.groups.updateUpdate a groupwrite
Users7
  • imanage_work.users.addAdd users to a librarywrite
  • imanage_work.users.getGet a library userread
  • imanage_work.users.groups.listList a user's groupsread
  • imanage_work.users.listList users of a libraryread
  • imanage_work.users.replaceReplace a library user's settingswrite
  • imanage_work.users.roles.listList a user's rolesread
  • imanage_work.users.updateUpdate a library userwrite
Lookups6
  • imanage_work.lookups.createCreate a lookup valuewrite
  • imanage_work.lookups.deleteDelete a lookup valuedestructive
  • imanage_work.lookups.getGet a lookup valueread
  • imanage_work.lookups.listList lookup values of a custom fieldread
  • imanage_work.lookups.replaceUpdate lookup values of a custom fieldwrite
  • imanage_work.lookups.updateUpdate a lookup valuewrite
Classes5
  • imanage_work.classes.createCreate a document classwrite
  • imanage_work.classes.deleteDelete a document classdestructive
  • imanage_work.classes.getGet a document classread
  • imanage_work.classes.listList document classesread
  • imanage_work.classes.updateUpdate a document classwrite
Subclasses5
  • imanage_work.subclasses.createCreate a subclasswrite
  • imanage_work.subclasses.deleteDelete a subclassdestructive
  • imanage_work.subclasses.getGet a subclassread
  • imanage_work.subclasses.listList a class's subclassesread
  • imanage_work.subclasses.updateUpdate a subclasswrite
Types5
  • imanage_work.types.createCreate a document typewrite
  • imanage_work.types.deleteDelete a document typedestructive
  • imanage_work.types.getGet a document typeread
  • imanage_work.types.listList document typesread
  • imanage_work.types.updateUpdate a document typewrite
Global users4
  • imanage_work.global_users.createCreate a userwrite
  • imanage_work.global_users.getGet a user of the customerread
  • imanage_work.global_users.listList users of the customerread
  • imanage_work.global_users.updateUpdate a userwrite
Recent documents4
  • imanage_work.recent_documents.addAdd documents to the user's recent documents in a librarywrite
  • imanage_work.recent_documents.add_allAdd documents to the user's recent documentswrite
  • imanage_work.recent_documents.listList the user's recent documents in a libraryread
  • imanage_work.recent_documents.list_allList the user's recent documents across librariesread
Recent workspaces4
  • imanage_work.recent_workspaces.addAdd workspaces to the user's recent workspaces in a librarywrite
  • imanage_work.recent_workspaces.add_allAdd workspaces to the user's recent workspaceswrite
  • imanage_work.recent_workspaces.listList the user's recent workspaces in a libraryread
  • imanage_work.recent_workspaces.list_allList the user's recent workspaces across librariesread
Captions3
  • imanage_work.captions.getGet a profile field captionread
  • imanage_work.captions.listList profile field captionsread
  • imanage_work.captions.updateUpdate a profile field captionwrite
Library3
  • imanage_work.library.metadata.getGet library profile metadataread
  • imanage_work.library.operations.getGet the operations allowed in a libraryread
  • imanage_work.library.trustees.listSearch users and groups (trustees)read
Search folders3
  • imanage_work.search_folders.getGet a search folderread
  • imanage_work.search_folders.replaceReplace a search folderwrite
  • imanage_work.search_folders.updateUpdate a search folderwrite
Templates3
  • imanage_work.templates.createCreate a workspace templatewrite
  • imanage_work.templates.listList workspace templatesread
  • imanage_work.templates.updateUpdate a workspace templatewrite
Discovery1
  • imanage_work.discovery.getGet API discovery and the signed-in userread
Libraries1
  • imanage_work.libraries.listList libraries the user can accessread

Questions

The iManage Work MCP server, answered.

Is there an iManage Work MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 152 iManage Work actions across documents, folders, workspaces and roles, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by iManage Work.

What do I need to connect iManage Work?

Your own iManage Work OAuth app, registered with iManage Work (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no iManage Work app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your customer id, your host and your library id. The free call account { op: "connections.requirements", service: "imanage_work" } lists exactly what to paste.

Can an AI agent delete or change things in iManage Work?

Only if its key allows it, and only with an explicit confirmation. 14 iManage Work actions are destructive, including delete a folder, delete a document and delete a library role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my iManage Work API limit?

actionlake paces every call to the limits in the iManage Work service file: 300 calls a minute per connection. Repeated reads are answered from cache (65 iManage Work actions can be), which never reaches iManage Work.

What does an iManage Work action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (152 iManage Work actions page). Cache hits, searches, dry runs and calls iManage Work refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which iManage Work API does it cover?

The iManage Work Universal API v2 (REST, /work/api/v2) at your iManage Work instance's API base URL, which you enter when connecting. It is built from iManage Work's documentation as read on 23 October 2026. 152 actions in 20 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my iManage Work data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your iManage Work credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent iManage Work today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.