Connectors · Files & documents
Microsoft SharePoint MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Microsoft SharePoint and the rest of your systems. It gives your agent 228 Microsoft SharePoint actions (122 reads, 81 writes and 25 that wait for a confirmation) and holds the Microsoft SharePoint credential itself, so the agent never does. It paces Microsoft SharePoint'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_sharepoint.sites.list", intent: "check which Microsoft SharePoint account is connected"}# List SharePoint sites · read · 1 upstream call- 228actionsin one signed file
- 122readlook, never change
- 81writecreate and update
- 25wait for a yesdestructive, confirmed first
Set up
Connect Microsoft SharePoint 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 SharePoint.
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 SharePoint tenant id
account { op: "connections.requirements", service: "m365_graph_sharepoint" } # 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_sharepoint.sites.list" }# list sharepoint sites · read · 1 upstream callcheck { action: "m365_graph_sharepoint.drive_items.delete", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Microsoft SharePoint 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 SharePoint API v1.0
graph.microsoft.com/v1.0 - Built from
- Microsoft SharePoint's documentation, read 17 September 2026OpenAPI spec (GitHub)learn.microsoft.com
- Service file
- Version 2.0.0, signed (Ed25519)
- Cached reads
- 122 of 122 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 9 in the store
- Shared entities
- 2, so ask can line Microsoft SharePoint 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 SharePoint.
228 actions in 1 area. Every one carries its effect, so a key can allow the reads and hold the rest.
- 122readlook, never change
- 81writecreate and update
- 25destructivewait for a confirmation
Intranet
228122 read · 81 write · 25 destructive
List a site's document libraries · Get a file or folder (any library) · Delete a file or folder (any library) · Search a document library (any library)
Top actions
The Microsoft SharePoint API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 95 of Microsoft SharePoint's 96 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_sharepoint.drives.listList a site's document libraries | List the document libraries (drives) of a site. | read | content.drive.list5 connectors |
m365_graph_sharepoint.drive_items.getGet a file or folder (any library) | Get one driveItem by id. | read | content.file.get74 connectors |
m365_graph_sharepoint.drive_items.deleteDelete a file or folder (any library) | Move a driveItem to the site's recycle bin. | destructive | content.file.delete68 connectors |
m365_graph_sharepoint.drive_items.create_folderCreate a folder (any library) | Create a folder inside a parent folder. `root` is the library's top folder. | write | content.folder.create62 connectors |
m365_graph_sharepoint.drive_items.list_childrenList a folder's contents (any library) | List the files and folders inside a folder. `root` is the library's top folder. | read | content.folder.list62 connectors |
m365_graph_sharepoint.drives.get_defaultGet a site's default document library | Get the default document library (drive) of a site. | read | content.drive.get6 connectors |
m365_graph_sharepoint.drive_items.create_linkCreate a sharing link (any library) | Create or fetch a sharing link for a driveItem. | write | content.file_link.create18 connectors |
m365_graph_sharepoint.site_permissions.listList site permissions | List the application permissions granted on a site. | read | content.file_permission.list17 connectors |
m365_graph_sharepoint.drive_items.list_permissionsList a file's permissions (any library) | List who a driveItem is shared with, inherited grants included. | read | content.file_permission.list17 connectors |
m365_graph_sharepoint.sites.listList SharePoint sites | List the SharePoint sites in the tenant. | read | content.site.list16 connectors |
m365_graph_sharepoint.lists.createCreate a list | Create a list on a site, with its columns. | write | content.database.create15 connectors |
m365_graph_sharepoint.list_items.createCreate a list item | Create an item in a list from column values. | write | content.record.create15 connectors |
Try it
Prompts to paste into Claude.
Each one names the Microsoft SharePoint actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Microsoft SharePoint files changed this week, and who changed them?
calls
m365_graph_sharepoint.site_drive_items.list_children - Planread
Report activity and usage for a SharePoint site in Microsoft SharePoint.
calls
m365_graph_sharepoint.sites.getm365_graph_sharepoint.site_analytics.all_timem365_graph_sharepoint.site_analytics.last_seven_daysm365_graph_sharepoint.site_activities.by_intervalm365_graph_sharepoint.lists.list+1 more - Plandestructive
Copy old library files to an archive folder and delete them in Microsoft SharePoint. Ask me before anything is sent or changed.
calls
m365_graph_sharepoint.drives.get_defaultm365_graph_sharepoint.drive_items.list_childrenm365_graph_sharepoint.drive_items.create_folderm365_graph_sharepoint.drive_items.copym365_graph_sharepoint.drive_items.permanent_delete - Writewrite
Create a folder (any library) in Microsoft SharePoint. Show me exactly what you will send before you save it.
calls
m365_graph_sharepoint.drive_items.create_folder
The plan store
Ready-made plans for Microsoft SharePoint.
9 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.
account { op: "plans.install", slug: "m365_graph_sharepoint-site-usage-report" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Microsoft SharePoint
Destructive actions wait for a yes.
25 Microsoft SharePoint actions are destructive. These are all of them:
- Delete a file or folder (any library)
m365_graph_sharepoint.drive_items.delete - Permanently delete a file or folder
m365_graph_sharepoint.drive_items.permanent_delete - Delete a file or folder (site default library)
m365_graph_sharepoint.site_drive_items.delete - Delete a list item
m365_graph_sharepoint.list_items.delete - Delete a list permission
m365_graph_sharepoint.list_permissions.delete - Revoke a site permission
m365_graph_sharepoint.site_permissions.delete - Delete a list item permission
m365_graph_sharepoint.list_item_permissions.delete - Remove a file permission (any library)
m365_graph_sharepoint.drive_items.delete_permission - Remove a file permission (site default library)
m365_graph_sharepoint.site_drive_items.delete_permission - Delete a list
m365_graph_sharepoint.lists.delete - Delete a page
m365_graph_sharepoint.pages.delete - Delete a document set version
m365_graph_sharepoint.document_set_versions.delete - Delete a list column
m365_graph_sharepoint.list_columns.delete - Remove a column from a list content type
m365_graph_sharepoint.list_content_type_columns.delete - Delete a web part
m365_graph_sharepoint.page_webparts.delete - Remove a file's retention label
m365_graph_sharepoint.drive_items.remove_retention_label - Delete a site column
m365_graph_sharepoint.site_columns.delete - Remove a column from a site content type
m365_graph_sharepoint.site_content_type_columns.delete - Delete a term
m365_graph_sharepoint.terms.delete - Unfollow sites
m365_graph_sharepoint.sites.unfollow - Unfollow a file
m365_graph_sharepoint.drive_items.unfollow - Remove a list content type
m365_graph_sharepoint.list_content_types.delete - Delete a site content type
m365_graph_sharepoint.site_content_types.delete - Delete a term set
m365_graph_sharepoint.term_sets.delete - Delete a term group
m365_graph_sharepoint.term_groups.delete
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 a file or folder (any library)?
intent: the user asked me to delete a file or folder (any library)
account { op: "keys.create", name: "m365-graph-sharepoint-agent", allowed_actions: ["m365_graph_sharepoint.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "m365_graph_sharepoint.drive_items.delete", approver: "[email protected]" }, { match: "m365_graph_sharepoint.drive_items.permanent_delete", approver: "[email protected]" }, { match: "m365_graph_sharepoint.site_drive_items.delete", approver: "[email protected]" } ]}Cost
What Microsoft SharePoint costs on actionlake.
Every Microsoft SharePoint action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Microsoft SharePoint 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 228 Microsoft SharePoint actions
- 51actions pageeach page of a long list is one call
- 122reads 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 SharePoint action.
228 actions by area: the id your agent calls, what it does, and its effect.
Intranet228
m365_graph_sharepoint.admin_settings.getGet tenant SharePoint settingsreadm365_graph_sharepoint.admin_settings.updateUpdate tenant SharePoint settingswritem365_graph_sharepoint.document_set_versions.createCapture a document set versionwritem365_graph_sharepoint.document_set_versions.deleteDelete a document set versiondestructivem365_graph_sharepoint.document_set_versions.getGet a document set versionreadm365_graph_sharepoint.document_set_versions.listList document set versionsreadm365_graph_sharepoint.document_set_versions.restoreRestore a document set versionwritem365_graph_sharepoint.drive_items.activities_by_intervalGet file activity by intervalreadm365_graph_sharepoint.drive_items.analytics_all_timeGet all-time file analyticsreadm365_graph_sharepoint.drive_items.analytics_last_seven_daysGet last-seven-days file analyticsreadm365_graph_sharepoint.drive_items.assign_sensitivity_labelAssign a sensitivity label (any library)writem365_graph_sharepoint.drive_items.checkinCheck in a file (any library)writem365_graph_sharepoint.drive_items.checkoutCheck out a file (any library)writem365_graph_sharepoint.drive_items.copyCopy a file or folder (any library)writem365_graph_sharepoint.drive_items.create_folderCreate a folder (any library)writem365_graph_sharepoint.drive_items.create_linkCreate a sharing link (any library)writem365_graph_sharepoint.drive_items.create_upload_sessionCreate an upload session (any library)writem365_graph_sharepoint.drive_items.deleteDelete a file or folder (any library)destructivem365_graph_sharepoint.drive_items.delete_permissionRemove a file permission (any library)destructivem365_graph_sharepoint.drive_items.deltaTrack file changes (any library)readm365_graph_sharepoint.drive_items.discard_checkoutDiscard a file checkout (any library)writem365_graph_sharepoint.drive_items.extract_sensitivity_labelsExtract sensitivity labels (any library)readm365_graph_sharepoint.drive_items.followFollow a file (any library)writem365_graph_sharepoint.drive_items.getGet a file or folder (any library)readm365_graph_sharepoint.drive_items.get_by_pathGet a file or folder by path (any library)readm365_graph_sharepoint.drive_items.get_download_urlGet a file's download URL (any library)readm365_graph_sharepoint.drive_items.get_list_itemGet a file's list itemreadm365_graph_sharepoint.drive_items.get_permissionGet a file permission (any library)readm365_graph_sharepoint.drive_items.get_retention_labelGet a file's retention labelreadm365_graph_sharepoint.drive_items.get_versionGet a file version (any library)readm365_graph_sharepoint.drive_items.inviteShare a file with people (any library)writem365_graph_sharepoint.drive_items.list_childrenList a folder's contents (any library)readm365_graph_sharepoint.drive_items.list_permissionsList a file's permissions (any library)readm365_graph_sharepoint.drive_items.list_thumbnailsList a file's thumbnails (any library)readm365_graph_sharepoint.drive_items.list_versionsList a file's versions (any library)readm365_graph_sharepoint.drive_items.lock_or_unlock_recordLock or unlock a recordwritem365_graph_sharepoint.drive_items.moveMove a file or folder (any library)writem365_graph_sharepoint.drive_items.permanent_deletePermanently delete a file or folderdestructivem365_graph_sharepoint.drive_items.previewGet an embeddable preview (any library)writem365_graph_sharepoint.drive_items.remove_retention_labelRemove a file's retention labeldestructivem365_graph_sharepoint.drive_items.replace_textReplace a file's content with text (any library)writem365_graph_sharepoint.drive_items.restore_versionRestore a file version (any library)writem365_graph_sharepoint.drive_items.searchSearch a document library (any library)readm365_graph_sharepoint.drive_items.set_retention_labelSet a file's retention labelwritem365_graph_sharepoint.drive_items.unfollowUnfollow a filedestructivem365_graph_sharepoint.drive_items.updateUpdate, rename or move a file or folder (any library)writem365_graph_sharepoint.drive_items.update_permissionUpdate a file permission (any library)writem365_graph_sharepoint.drive_items.upload_textUpload a text file (any library)writem365_graph_sharepoint.drives.getGet a document libraryreadm365_graph_sharepoint.drives.get_defaultGet a site's default document libraryreadm365_graph_sharepoint.drives.get_for_siteGet one of a site's document librariesreadm365_graph_sharepoint.drives.get_listGet the list behind a document libraryreadm365_graph_sharepoint.drives.listList a site's document librariesreadm365_graph_sharepoint.list_columns.createCreate a list columnwritem365_graph_sharepoint.list_columns.deleteDelete a list columndestructivem365_graph_sharepoint.list_columns.getGet a list columnreadm365_graph_sharepoint.list_columns.listList a list's columnsreadm365_graph_sharepoint.list_columns.updateUpdate a list columnwritem365_graph_sharepoint.list_content_type_columns.createAdd a column to a list content typewritem365_graph_sharepoint.list_content_type_columns.deleteRemove a column from a list content typedestructivem365_graph_sharepoint.list_content_type_columns.getGet a list content type's columnreadm365_graph_sharepoint.list_content_type_columns.listList a list content type's columnsreadm365_graph_sharepoint.list_content_type_columns.updateUpdate a list content type's columnwritem365_graph_sharepoint.list_content_types.add_copyAdd a site content type to a listwritem365_graph_sharepoint.list_content_types.add_copy_from_hubAdd a hub content type to a listwritem365_graph_sharepoint.list_content_types.deleteRemove a list content typedestructivem365_graph_sharepoint.list_content_types.getGet a list content typereadm365_graph_sharepoint.list_content_types.listList a list's content typesreadm365_graph_sharepoint.list_content_types.list_compatible_hubList hub content types a list can takereadm365_graph_sharepoint.list_content_types.updateUpdate a list content typewritem365_graph_sharepoint.list_item_activities.by_intervalGet list item activity by intervalreadm365_graph_sharepoint.list_item_analytics.all_timeGet all-time list item analyticsreadm365_graph_sharepoint.list_item_analytics.last_seven_daysGet last-seven-days list item analyticsreadm365_graph_sharepoint.list_item_permissions.deleteDelete a list item permissiondestructivem365_graph_sharepoint.list_item_permissions.getGet a list item permissionreadm365_graph_sharepoint.list_item_permissions.listList list item permissionsreadm365_graph_sharepoint.list_item_versions.getGet a list item versionreadm365_graph_sharepoint.list_item_versions.listList a list item's versionsreadm365_graph_sharepoint.list_item_versions.restoreRestore a list item versionwritem365_graph_sharepoint.list_items.createCreate a list itemwritem365_graph_sharepoint.list_items.create_linkCreate a sharing link for a list itemwritem365_graph_sharepoint.list_items.deleteDelete a list itemdestructivem365_graph_sharepoint.list_items.deltaTrack list item changesreadm365_graph_sharepoint.list_items.getGet a list itemreadm365_graph_sharepoint.list_items.get_drive_itemGet a list item's filereadm365_graph_sharepoint.list_items.get_fieldsGet a list item's column valuesreadm365_graph_sharepoint.list_items.listList list itemsreadm365_graph_sharepoint.list_items.updateUpdate a list itemwritem365_graph_sharepoint.list_operations.getGet a list operationreadm365_graph_sharepoint.list_operations.listList list operationsreadm365_graph_sharepoint.list_permissions.createGrant an application access to a listwritem365_graph_sharepoint.list_permissions.deleteDelete a list permissiondestructivem365_graph_sharepoint.list_permissions.getGet a list permissionreadm365_graph_sharepoint.list_permissions.listList list permissionsreadm365_graph_sharepoint.lists.createCreate a listwritem365_graph_sharepoint.lists.deleteDelete a listdestructivem365_graph_sharepoint.lists.getGet a listreadm365_graph_sharepoint.lists.get_driveGet a document library's drivereadm365_graph_sharepoint.lists.listList the lists on a sitereadm365_graph_sharepoint.lists.updateUpdate a listwritem365_graph_sharepoint.page_canvas.getGet a page's canvas layoutreadm365_graph_sharepoint.page_horizontal_section_columns.getGet a horizontal section columnreadm365_graph_sharepoint.page_horizontal_section_columns.listList a horizontal section's columnsreadm365_graph_sharepoint.page_horizontal_section_webparts.getGet a web part in a section columnreadm365_graph_sharepoint.page_horizontal_section_webparts.listList the web parts in a section columnreadm365_graph_sharepoint.page_horizontal_sections.getGet a horizontal sectionreadm365_graph_sharepoint.page_horizontal_sections.listList a page's horizontal sectionsreadm365_graph_sharepoint.page_vertical_section.getGet a page's vertical sectionreadm365_graph_sharepoint.page_vertical_section_webparts.getGet a web part in the vertical sectionreadm365_graph_sharepoint.page_vertical_section_webparts.listList the web parts in the vertical sectionreadm365_graph_sharepoint.page_webparts.deleteDelete a web partdestructivem365_graph_sharepoint.page_webparts.getGet a web partreadm365_graph_sharepoint.page_webparts.listList a page's web partsreadm365_graph_sharepoint.page_webparts.list_by_positionGet web parts by positionreadm365_graph_sharepoint.page_webparts.updateUpdate a web partwritem365_graph_sharepoint.pages.deleteDelete a pagedestructivem365_graph_sharepoint.pages.getGet a pagereadm365_graph_sharepoint.pages.listList pagesreadm365_graph_sharepoint.search.querySearch SharePoint contentreadm365_graph_sharepoint.share_permissions.grantGrant access through a sharing linkwritem365_graph_sharepoint.shares.getResolve a sharing linkreadm365_graph_sharepoint.shares.get_drive_itemGet the file behind a sharing linkreadm365_graph_sharepoint.shares.get_list_itemGet the list item behind a sharing linkreadm365_graph_sharepoint.shares.get_siteGet the site behind a sharing linkreadm365_graph_sharepoint.site_activities.by_intervalGet site activity by intervalreadm365_graph_sharepoint.site_analytics.all_timeGet all-time site analyticsreadm365_graph_sharepoint.site_analytics.last_seven_daysGet last-seven-days site analyticsreadm365_graph_sharepoint.site_columns.createCreate a site columnwritem365_graph_sharepoint.site_columns.deleteDelete a site columndestructivem365_graph_sharepoint.site_columns.getGet a site columnreadm365_graph_sharepoint.site_columns.listList site columnsreadm365_graph_sharepoint.site_columns.updateUpdate a site columnwritem365_graph_sharepoint.site_content_type_columns.createAdd a column to a site content typewritem365_graph_sharepoint.site_content_type_columns.deleteRemove a column from a site content typedestructivem365_graph_sharepoint.site_content_type_columns.getGet a site content type's columnreadm365_graph_sharepoint.site_content_type_columns.listList a site content type's columnsreadm365_graph_sharepoint.site_content_type_columns.updateUpdate a site content type's columnwritem365_graph_sharepoint.site_content_types.add_copy_from_hubAdd a content type from the hub to a sitewritem365_graph_sharepoint.site_content_types.associate_with_hub_sitesAssociate a content type with hub siteswritem365_graph_sharepoint.site_content_types.copy_to_default_content_locationCopy a file to a content type's default locationwritem365_graph_sharepoint.site_content_types.createCreate a site content typewritem365_graph_sharepoint.site_content_types.deleteDelete a site content typedestructivem365_graph_sharepoint.site_content_types.getGet a site content typereadm365_graph_sharepoint.site_content_types.is_publishedCheck a content type is publishedreadm365_graph_sharepoint.site_content_types.listList site content typesreadm365_graph_sharepoint.site_content_types.list_compatible_hubList hub content types a site can takereadm365_graph_sharepoint.site_content_types.publishPublish a content typewritem365_graph_sharepoint.site_content_types.unpublishUnpublish a content typewritem365_graph_sharepoint.site_content_types.updateUpdate a site content typewritem365_graph_sharepoint.site_drive_items.assign_sensitivity_labelAssign a sensitivity label (site default library)writem365_graph_sharepoint.site_drive_items.checkinCheck in a file (site default library)writem365_graph_sharepoint.site_drive_items.checkoutCheck out a file (site default library)writem365_graph_sharepoint.site_drive_items.copyCopy a file or folder (site default library)writem365_graph_sharepoint.site_drive_items.create_folderCreate a folder (site default library)writem365_graph_sharepoint.site_drive_items.create_linkCreate a sharing link (site default library)writem365_graph_sharepoint.site_drive_items.create_upload_sessionCreate an upload session (site default library)writem365_graph_sharepoint.site_drive_items.deleteDelete a file or folder (site default library)destructivem365_graph_sharepoint.site_drive_items.delete_permissionRemove a file permission (site default library)destructivem365_graph_sharepoint.site_drive_items.deltaTrack file changes (site default library)readm365_graph_sharepoint.site_drive_items.discard_checkoutDiscard a file checkout (site default library)writem365_graph_sharepoint.site_drive_items.extract_sensitivity_labelsExtract sensitivity labels (site default library)readm365_graph_sharepoint.site_drive_items.followFollow a file (site default library)writem365_graph_sharepoint.site_drive_items.getGet a file or folder (site default library)readm365_graph_sharepoint.site_drive_items.get_by_pathGet a file or folder by path (site default library)readm365_graph_sharepoint.site_drive_items.get_download_urlGet a file's download URL (site default library)readm365_graph_sharepoint.site_drive_items.get_permissionGet a file permission (site default library)readm365_graph_sharepoint.site_drive_items.get_versionGet a file version (site default library)readm365_graph_sharepoint.site_drive_items.inviteShare a file with people (site default library)writem365_graph_sharepoint.site_drive_items.list_childrenList a folder's contents (site default library)readm365_graph_sharepoint.site_drive_items.list_permissionsList a file's permissions (site default library)readm365_graph_sharepoint.site_drive_items.list_thumbnailsList a file's thumbnails (site default library)readm365_graph_sharepoint.site_drive_items.list_versionsList a file's versions (site default library)readm365_graph_sharepoint.site_drive_items.moveMove a file or folder (site default library)writem365_graph_sharepoint.site_drive_items.previewGet an embeddable preview (site default library)writem365_graph_sharepoint.site_drive_items.replace_textReplace a file's content with text (site default library)writem365_graph_sharepoint.site_drive_items.restore_versionRestore a file version (site default library)writem365_graph_sharepoint.site_drive_items.searchSearch a document library (site default library)readm365_graph_sharepoint.site_drive_items.updateUpdate, rename or move a file or folder (site default library)writem365_graph_sharepoint.site_drive_items.update_permissionUpdate a file permission (site default library)writem365_graph_sharepoint.site_drive_items.upload_textUpload a text file (site default library)writem365_graph_sharepoint.site_external_columns.listList external columnsreadm365_graph_sharepoint.site_operations.getGet a site operationreadm365_graph_sharepoint.site_operations.listList site operationsreadm365_graph_sharepoint.site_pages.createCreate a pagewritem365_graph_sharepoint.site_pages.getGet a modern site pagereadm365_graph_sharepoint.site_pages.listList modern site pagesreadm365_graph_sharepoint.site_pages.publishPublish a pagewritem365_graph_sharepoint.site_pages.updateUpdate a pagewritem365_graph_sharepoint.site_permissions.createGrant an application access to a sitewritem365_graph_sharepoint.site_permissions.deleteRevoke a site permissiondestructivem365_graph_sharepoint.site_permissions.getGet a site permissionreadm365_graph_sharepoint.site_permissions.listList site permissionsreadm365_graph_sharepoint.site_permissions.updateUpdate a site permissionwritem365_graph_sharepoint.sites.deltaTrack site changesreadm365_graph_sharepoint.sites.followFollow siteswritem365_graph_sharepoint.sites.getGet a sitereadm365_graph_sharepoint.sites.get_allList sites across all geographiesreadm365_graph_sharepoint.sites.get_by_pathGet a site by URL pathreadm365_graph_sharepoint.sites.get_for_groupGet a group's team sitereadm365_graph_sharepoint.sites.get_rootGet the tenant root sitereadm365_graph_sharepoint.sites.listList SharePoint sitesreadm365_graph_sharepoint.sites.list_applicable_content_types_for_listList content types applicable to a listreadm365_graph_sharepoint.sites.list_followedList followed sitesreadm365_graph_sharepoint.sites.searchSearch sitesreadm365_graph_sharepoint.sites.unfollowUnfollow sitesdestructivem365_graph_sharepoint.sites.updateUpdate a sitewritem365_graph_sharepoint.subsites.listList subsitesreadm365_graph_sharepoint.term_groups.createCreate a term groupwritem365_graph_sharepoint.term_groups.deleteDelete a term groupdestructivem365_graph_sharepoint.term_groups.getGet a term groupreadm365_graph_sharepoint.term_groups.listList term groupsreadm365_graph_sharepoint.term_groups.list_setsList a term group's setsreadm365_graph_sharepoint.term_relations.createPin or reuse a termwritem365_graph_sharepoint.term_relations.list_for_setList a term set's relationsreadm365_graph_sharepoint.term_relations.list_for_termList a term's relationsreadm365_graph_sharepoint.term_sets.createCreate a term setwritem365_graph_sharepoint.term_sets.deleteDelete a term setdestructivem365_graph_sharepoint.term_sets.getGet a term setreadm365_graph_sharepoint.term_sets.updateUpdate a term setwritem365_graph_sharepoint.term_store.getGet a site's term storereadm365_graph_sharepoint.term_store.updateUpdate a site's term storewritem365_graph_sharepoint.terms.createCreate a top-level termwritem365_graph_sharepoint.terms.create_childCreate a child termwritem365_graph_sharepoint.terms.deleteDelete a termdestructivem365_graph_sharepoint.terms.getGet a termreadm365_graph_sharepoint.terms.list_childrenList a term set's top-level termsreadm365_graph_sharepoint.terms.list_term_childrenList a term's child termsreadm365_graph_sharepoint.terms.updateUpdate a termwrite
Questions
The Microsoft SharePoint MCP server, answered.
Is there a Microsoft SharePoint MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 228 Microsoft SharePoint actions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Microsoft SharePoint.
What do I need to connect Microsoft SharePoint?
Entra application (client) id and Entra client secret. Plus your tenant id. The free call account { op: "connections.requirements", service: "m365_graph_sharepoint" } lists exactly what to paste.
Can an AI agent delete or change things in Microsoft SharePoint?
Only if its key allows it, and only with an explicit confirmation. 25 Microsoft SharePoint actions are destructive, including delete a file or folder (any library), permanently delete a file or folder and delete a file or folder (site default library). 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 SharePoint API limit?
actionlake paces every call to the limits in the Microsoft SharePoint service file: 10,000 calls per 10 minutes per connection. Repeated reads are answered from cache (122 Microsoft SharePoint actions can be), which never reaches Microsoft SharePoint.
What does a Microsoft SharePoint action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (51 Microsoft SharePoint actions page). Cache hits, searches, dry runs and calls Microsoft SharePoint 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 SharePoint API does it cover?
The Microsoft SharePoint API v1.0 at graph.microsoft.com/v1.0. It is built from Microsoft SharePoint's documentation as read on 17 September 2026. 228 actions in 1 area, each one in the signed service file (version 2.0.0).
Does actionlake keep my Microsoft SharePoint 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 SharePoint 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 SharePoint today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.