Connectors · Files & documents
Microsoft OneDrive MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Microsoft OneDrive and the rest of your systems. It gives your agent 132 Microsoft OneDrive actions (84 reads, 38 writes and 10 that wait for a confirmation) and holds the Microsoft OneDrive credential itself, so the agent never does. It paces Microsoft OneDrive's limits and records every call.
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/mcpdo { action: "m365_graph_onedrive.drives.list_my_recent", intent: "check which Microsoft OneDrive account is connected"}# List my recently used items · read · 1 upstream call- 132actionsin one signed file
- 84readlook, never change
- 38writecreate and update
- 10wait for a yesdestructive, confirmed first
Set up
Connect Microsoft OneDrive in three steps.
- 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 - 02
Connect Microsoft OneDrive.
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
client_idEntra application (client) idclient_secretEntra client secrettenant_idYour Microsoft OneDrive tenant id
account { op: "connections.requirements", service: "m365_graph_onedrive" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "m365_graph_onedrive.drives.list_my_recent" }# list my recently used items · read · 1 upstream callcheck { action: "m365_graph_onedrive.drive_items.create_folder", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Microsoft OneDrive at a glance
- Sign-in
- OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
- You provide
client_idclient_secret- Setup fields
tenant_id- Limits we pace to
- 10,000 calls per 10 minutes, per connection
- API covered
- Microsoft OneDrive API v1.0
graph.microsoft.com/v1.0 - Built from
- Microsoft OneDrive's documentation, read 17 September 2026OpenAPI spec (GitHub)learn.microsoft.comlearn.microsoft.com
- Service file
- Version 2.0.0, signed (Ed25519)
- Cached reads
- 83 of 84 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 8 in the store
- Shared entities
- 2, so ask can line Microsoft OneDrive up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Microsoft OneDrive.
132 actions in 1 area. Every one carries its effect, so a key can allow the reads and hold the rest.
- 84readlook, never change
- 38writecreate and update
- 10destructivewait for a confirmation
Files
13284 read · 38 write · 10 destructive
List a folder's contents · Track changes in a drive · List OneDrive folder contents · Create a folder
Top actions
The Microsoft OneDrive API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 51 of Microsoft OneDrive's 51 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
m365_graph_onedrive.drive_items.list_childrenList a folder's contents | List the items directly inside one folder. | read | content.folder.list62 connectors |
m365_graph_onedrive.drive_items.deltaTrack changes in a drive | The changes to a drive since a previous round, or a full enumeration. | read | content.file.list77 connectors |
m365_graph_onedrive.children.listList OneDrive folder contents | List the items in a OneDrive folder. | read | content.folder.list62 connectors |
m365_graph_onedrive.drive_items.create_folderCreate a folder | Create a new folder inside a parent folder. | write | content.folder.create62 connectors |
m365_graph_onedrive.items.getGet one OneDrive item | Fetch metadata for a single file or folder. | read | content.file.get74 connectors |
m365_graph_onedrive.drive_items.deleteDelete an item | Move a file or folder to the recycle bin. | destructive | content.file.delete68 connectors |
m365_graph_onedrive.drive_items.create_linkCreate a sharing link | Make a shareable link to a file or folder. | write | content.file_link.create18 connectors |
m365_graph_onedrive.drive_item_permissions.listList an item's permissions | Who and what has access to one file or folder. | read | content.file_permission.list17 connectors |
m365_graph_onedrive.drives.list_for_userList a user's drives | List every drive available to one user. | read | content.drive.list5 connectors |
m365_graph_onedrive.shares.getGet a shared item by sharing URL | Resolve a sharing link to the sharedDriveItem behind it. | read | content.file_link.get11 connectors |
m365_graph_onedrive.drive_items.inviteInvite people to an item | Share a file or folder with named people. | write | content.file_permission.add19 connectors |
m365_graph_onedrive.drives.getGet a drive | Get one drive by its id. | read | content.drive.get6 connectors |
Try it
Prompts to paste into Claude.
Each one names the Microsoft OneDrive actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Microsoft OneDrive files changed this week, and who changed them?
calls
m365_graph_onedrive.drive_items.list_children - Planread
Audit a user's OneDrive quota and largest recent items in Microsoft OneDrive.
calls
m365_graph_onedrive.drives.get_default_for_userm365_graph_onedrive.drives.get_quotam365_graph_onedrive.drives.get_rootm365_graph_onedrive.drive_items.list_childrenm365_graph_onedrive.drives.list_recent - Planwrite
Roll a file back to an earlier version in Microsoft OneDrive. Ask me before anything is sent or changed.
calls
m365_graph_onedrive.drive_items.get_by_pathm365_graph_onedrive.drive_item_versions.listm365_graph_onedrive.drive_item_versions.getm365_graph_onedrive.drive_item_versions.restorem365_graph_onedrive.drive_items.get - Writewrite
Create a folder in Microsoft OneDrive. Show me exactly what you will send before you save it.
calls
m365_graph_onedrive.drive_items.create_folder
The plan store
Ready-made plans for Microsoft OneDrive.
8 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Audit a user's OneDrive quota and largest recent items
Use it when An admin wants to know how close a person's OneDrive is to its storage limit and what has been changing in it.
Apply a sensitivity label across search results
Use it when A compliance request requires a sensitivity label to be stamped on a set of documents found by search.
A person decides
Apply sensitivity label sensitivity label id to number of items documents matching 'q text'.
Create a project folder and invite the team
Use it when A new project is starting and its folder plus team access needs to be set up in one go.
Move old files out of a folder into an archive
Use it when A working folder has filled up with finished files that should be moved aside rather than deleted.
A person decides
Move number of items files matching 'q text' into the folder archive name.
Duplicate a folder and wait for the copy to appear
Use it when A folder needs duplicating as a template or a backup and the caller must know the copy actually finished.
Roll a file back to an earlier version
Use it when A file was overwritten or corrupted and someone wants it put back to a known earlier version.
A person decides
Restore item path to version version id, discarding the current contents.
Review and revoke sharing links on a folder
Use it when Someone reports that a folder may be shared too widely and wants the links inspected and one of them pulled.
A person decides
Revoke the sharing permission permission id on item item id.
account { op: "plans.install", slug: "m365_graph_onedrive-audit-drive-quota" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Microsoft OneDrive
Destructive actions wait for a yes.
10 Microsoft OneDrive actions are destructive. These are all of them:
- Delete an item
m365_graph_onedrive.drive_items.delete - Delete an item from my OneDrive
m365_graph_onedrive.my_drive_items.delete - Delete an item from a user's OneDrive
m365_graph_onedrive.user_drive_items.delete - Permanently delete an item
m365_graph_onedrive.drive_items.permanent_delete - Delete a permission
m365_graph_onedrive.drive_item_permissions.delete - Remove an item's retention label
m365_graph_onedrive.drive_items.remove_retention_label - Delete a change-notification subscription
m365_graph_onedrive.drive_item_subscriptions.delete - Discard a checkout
m365_graph_onedrive.drive_items.discard_checkout - Unfollow an item
m365_graph_onedrive.drive_items.unfollow - Unfollow an item in a user's OneDrive
m365_graph_onedrive.user_drive_items.unfollow
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.
Delete an item?
intent: the user asked me to delete an item
account { op: "keys.create", name: "m365-graph-onedrive-agent", allowed_actions: ["m365_graph_onedrive.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "m365_graph_onedrive.drive_items.delete", approver: "[email protected]" }, { match: "m365_graph_onedrive.my_drive_items.delete", approver: "[email protected]" }, { match: "m365_graph_onedrive.user_drive_items.delete", approver: "[email protected]" } ]}Cost
What Microsoft OneDrive costs on actionlake.
Every Microsoft OneDrive action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Microsoft OneDrive 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 132 Microsoft OneDrive actions
- 38actions pageeach page of a long list is one call
- 83reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Microsoft OneDrive action.
132 actions by area: the id your agent calls, what it does, and its effect.
Files132
m365_graph_onedrive.bundles.createCreate a bundlewritem365_graph_onedrive.bundles.getGet a bundlereadm365_graph_onedrive.bundles.listList bundlesreadm365_graph_onedrive.children.listList OneDrive folder contentsreadm365_graph_onedrive.drive_item_permissions.deleteDelete a permissiondestructivem365_graph_onedrive.drive_item_permissions.getGet one permissionreadm365_graph_onedrive.drive_item_permissions.grantGrant a sharing link to peoplewritem365_graph_onedrive.drive_item_permissions.listList an item's permissionsreadm365_graph_onedrive.drive_item_permissions.updateUpdate a permissionwritem365_graph_onedrive.drive_item_subscriptions.deleteDelete a change-notification subscriptiondestructivem365_graph_onedrive.drive_item_subscriptions.getGet a change-notification subscriptionreadm365_graph_onedrive.drive_item_subscriptions.listList change-notification subscriptions on an itemreadm365_graph_onedrive.drive_item_thumbnails.getGet one thumbnail setreadm365_graph_onedrive.drive_item_thumbnails.listList an item's thumbnailsreadm365_graph_onedrive.drive_item_versions.getGet one versionreadm365_graph_onedrive.drive_item_versions.listList an item's versionsreadm365_graph_onedrive.drive_item_versions.restoreRestore a versionwritem365_graph_onedrive.drive_items.activities_by_intervalGet activity for an item by intervalreadm365_graph_onedrive.drive_items.analytics_all_timeGet all-time analytics for an itemreadm365_graph_onedrive.drive_items.analytics_last_seven_daysGet last-7-days analytics for an itemreadm365_graph_onedrive.drive_items.assign_sensitivity_labelAssign a sensitivity labelwritem365_graph_onedrive.drive_items.checkinCheck in a filewritem365_graph_onedrive.drive_items.checkoutCheck out a filewritem365_graph_onedrive.drive_items.copyCopy an itemwritem365_graph_onedrive.drive_items.create_folderCreate a folderwritem365_graph_onedrive.drive_items.create_linkCreate a sharing linkwritem365_graph_onedrive.drive_items.deleteDelete an itemdestructivem365_graph_onedrive.drive_items.deltaTrack changes in a drivereadm365_graph_onedrive.drive_items.delta_from_folderTrack changes under a folderreadm365_graph_onedrive.drive_items.discard_checkoutDiscard a checkoutdestructivem365_graph_onedrive.drive_items.extract_sensitivity_labelsExtract sensitivity labelsreadm365_graph_onedrive.drive_items.followFollow an itemwritem365_graph_onedrive.drive_items.getGet an itemreadm365_graph_onedrive.drive_items.get_activity_statGet one activity statisticreadm365_graph_onedrive.drive_items.get_by_pathGet an item by pathreadm365_graph_onedrive.drive_items.get_download_urlGet a file's download URLreadm365_graph_onedrive.drive_items.get_list_itemGet an item's list-item viewreadm365_graph_onedrive.drive_items.get_retention_labelGet an item's retention labelreadm365_graph_onedrive.drive_items.inviteInvite people to an itemwritem365_graph_onedrive.drive_items.listList every item in a drivereadm365_graph_onedrive.drive_items.list_activitiesList activity on an itemreadm365_graph_onedrive.drive_items.list_activity_statsList activity statistics for an itemreadm365_graph_onedrive.drive_items.list_childrenList a folder's contentsreadm365_graph_onedrive.drive_items.list_children_by_pathList a folder's contents by pathreadm365_graph_onedrive.drive_items.list_drive_activitiesList activity across a drivereadm365_graph_onedrive.drive_items.lock_or_unlock_recordLock or unlock a recordwritem365_graph_onedrive.drive_items.moveMove an itemwritem365_graph_onedrive.drive_items.permanent_deletePermanently delete an itemdestructivem365_graph_onedrive.drive_items.previewGet an embeddable preview URLwritem365_graph_onedrive.drive_items.remove_retention_labelRemove an item's retention labeldestructivem365_graph_onedrive.drive_items.replace_textReplace a file's text contentwritem365_graph_onedrive.drive_items.restoreRestore a deleted itemwritem365_graph_onedrive.drive_items.searchSearch a drivereadm365_graph_onedrive.drive_items.search_folderSearch inside a folderreadm365_graph_onedrive.drive_items.set_retention_labelSet an item's retention labelwritem365_graph_onedrive.drive_items.unfollowUnfollow an itemdestructivem365_graph_onedrive.drive_items.updateRename or update an itemwritem365_graph_onedrive.drive_items.upload_textUpload a small text filewritem365_graph_onedrive.drive_items.validate_permissionValidate a link challengewritem365_graph_onedrive.drives.getGet a drivereadm365_graph_onedrive.drives.get_default_for_userGet a user's OneDrivereadm365_graph_onedrive.drives.get_following_itemGet one followed itemreadm365_graph_onedrive.drives.get_for_userGet one of a user's drivesreadm365_graph_onedrive.drives.get_listGet a drive's underlying listreadm365_graph_onedrive.drives.get_myGet my OneDrivereadm365_graph_onedrive.drives.get_my_by_idGet one of my drivesreadm365_graph_onedrive.drives.get_quotaGet a drive's storage quotareadm365_graph_onedrive.drives.get_rootGet a drive's root folderreadm365_graph_onedrive.drives.list_allList drivesreadm365_graph_onedrive.drives.list_followingList followed items in a drivereadm365_graph_onedrive.drives.list_for_userList a user's drivesreadm365_graph_onedrive.drives.list_myList my drivesreadm365_graph_onedrive.drives.list_my_followingList items I followreadm365_graph_onedrive.drives.list_my_recentList my recently used itemsreadm365_graph_onedrive.drives.list_my_shared_with_meList items shared with mereadm365_graph_onedrive.drives.list_recentList recently used items in a drivereadm365_graph_onedrive.drives.list_shared_with_meList items shared with a drive's ownerreadm365_graph_onedrive.drives.updateUpdate a drivewritem365_graph_onedrive.items.getGet one OneDrive itemreadm365_graph_onedrive.my_drive_items.copyCopy an item in my OneDrivewritem365_graph_onedrive.my_drive_items.create_folderCreate a folder in my OneDrivewritem365_graph_onedrive.my_drive_items.create_linkCreate a sharing link in my OneDrivewritem365_graph_onedrive.my_drive_items.deleteDelete an item from my OneDrivedestructivem365_graph_onedrive.my_drive_items.deltaTrack changes in my OneDrivereadm365_graph_onedrive.my_drive_items.getGet an item in my OneDrivereadm365_graph_onedrive.my_drive_items.get_by_pathGet an item in my OneDrive by pathreadm365_graph_onedrive.my_drive_items.get_download_urlGet a download URL from my OneDrivereadm365_graph_onedrive.my_drive_items.get_rootGet my OneDrive rootreadm365_graph_onedrive.my_drive_items.list_childrenList a folder's contents in my OneDrivereadm365_graph_onedrive.my_drive_items.list_children_by_pathList a folder's contents in my OneDrive by pathreadm365_graph_onedrive.my_drive_items.list_permissionsList permissions in my OneDrivereadm365_graph_onedrive.my_drive_items.restoreRestore a deleted item of minewritem365_graph_onedrive.my_drive_items.searchSearch my OneDrivereadm365_graph_onedrive.my_drive_items.updateRename an item in my OneDrivewritem365_graph_onedrive.my_drive_items.upload_textUpload a small text file to my OneDrivewritem365_graph_onedrive.shares.getGet a shared item by sharing URLreadm365_graph_onedrive.shares.get_drive_itemGet the driveItem behind a sharing URLreadm365_graph_onedrive.shares.get_itemGet one item through a sharereadm365_graph_onedrive.shares.get_list_itemGet the list item behind a sharing URLreadm365_graph_onedrive.shares.get_permissionGet a share's permissionreadm365_graph_onedrive.shares.get_rootGet the root of a shared folderreadm365_graph_onedrive.shares.get_siteGet the site behind a sharing URLreadm365_graph_onedrive.shares.grant_permissionGrant a sharing link to peoplewritem365_graph_onedrive.shares.list_itemsList items in a shared drivereadm365_graph_onedrive.shares.previewGet an embeddable preview of a shared itemwritem365_graph_onedrive.special_folders.getGet a special folderreadm365_graph_onedrive.special_folders.get_myGet one of my special foldersreadm365_graph_onedrive.special_folders.listList a drive's special foldersreadm365_graph_onedrive.special_folders.list_childrenList a special folder's contentsreadm365_graph_onedrive.user_drive_items.copyCopy an item in a user's OneDrivewritem365_graph_onedrive.user_drive_items.create_folderCreate a folder in a user's OneDrivewritem365_graph_onedrive.user_drive_items.create_linkCreate a sharing link in a user's OneDrivewritem365_graph_onedrive.user_drive_items.deleteDelete an item from a user's OneDrivedestructivem365_graph_onedrive.user_drive_items.deltaTrack changes in a user's OneDrivereadm365_graph_onedrive.user_drive_items.getGet an item in a user's OneDrivereadm365_graph_onedrive.user_drive_items.get_by_pathGet an item in a user's OneDrive by pathreadm365_graph_onedrive.user_drive_items.get_download_urlGet a download URL from a user's OneDrivereadm365_graph_onedrive.user_drive_items.get_rootGet a user's drive rootreadm365_graph_onedrive.user_drive_items.get_specialGet a special folder in a user's OneDrivereadm365_graph_onedrive.user_drive_items.inviteInvite people to an item in a user's OneDrivewritem365_graph_onedrive.user_drive_items.list_childrenList a folder's contents in a user's OneDrivereadm365_graph_onedrive.user_drive_items.list_children_by_pathList a folder's contents in a user's OneDrive by pathreadm365_graph_onedrive.user_drive_items.list_followingList items a user followsreadm365_graph_onedrive.user_drive_items.list_permissionsList permissions in a user's OneDrivereadm365_graph_onedrive.user_drive_items.list_thumbnailsList thumbnails in a user's OneDrivereadm365_graph_onedrive.user_drive_items.list_versionsList versions in a user's OneDrivereadm365_graph_onedrive.user_drive_items.moveMove an item in a user's OneDrivewritem365_graph_onedrive.user_drive_items.replace_textReplace a file's text in a user's OneDrivewritem365_graph_onedrive.user_drive_items.searchSearch a user's OneDrivereadm365_graph_onedrive.user_drive_items.unfollowUnfollow an item in a user's OneDrivedestructivem365_graph_onedrive.user_drive_items.updateRename an item in a user's OneDrivewritem365_graph_onedrive.user_drive_items.upload_textUpload a small text file to a user's OneDrivewrite
Questions
The Microsoft OneDrive MCP server, answered.
Is there a Microsoft OneDrive MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 132 Microsoft OneDrive actions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Microsoft OneDrive.
What do I need to connect Microsoft OneDrive?
Entra application (client) id and Entra client secret. Plus your tenant id. The free call account { op: "connections.requirements", service: "m365_graph_onedrive" } lists exactly what to paste.
Can an AI agent delete or change things in Microsoft OneDrive?
Only if its key allows it, and only with an explicit confirmation. 10 Microsoft OneDrive actions are destructive, including delete an item, delete an item from my OneDrive and delete an item from a user's OneDrive. 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 Microsoft OneDrive API limit?
actionlake paces every call to the limits in the Microsoft OneDrive service file: 10,000 calls per 10 minutes per connection. Repeated reads are answered from cache (83 Microsoft OneDrive actions can be), which never reaches Microsoft OneDrive.
What does a Microsoft OneDrive action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (38 Microsoft OneDrive actions page). Cache hits, searches, dry runs and calls Microsoft OneDrive 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 Microsoft OneDrive API does it cover?
The Microsoft OneDrive API v1.0 at graph.microsoft.com/v1.0. It is built from Microsoft OneDrive's documentation as read on 17 September 2026. 132 actions in 1 area, each one in the signed service file (version 2.0.0).
Does actionlake keep my Microsoft OneDrive data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, 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 Microsoft OneDrive 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 Microsoft OneDrive today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.