---
title: "Microsoft SharePoint MCP server for AI agents - actionlake"
description: "Give Claude 228 Microsoft SharePoint actions through one MCP server: drives, drive items. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/microsoft-sharepoint
updated: 2026-09-21
---

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.

[Connect Microsoft SharePoint free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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: "m365_graph_sharepoint.sites.list",
  intent: "check which Microsoft SharePoint account is connected"
}
# List SharePoint sites · read · 1 upstream call
```

- 228 actions in one signed file
- 122 read look, never change
- 81 write create and update
- 25 wait for a yes destructive, confirmed first

Set up

## Connect Microsoft SharePoint 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 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_id` Entra application (client) id
   - `client_secret` Entra client secret
   - `tenant_id` Your Microsoft SharePoint tenant id
   ```
   account { op: "connections.requirements", service: "m365_graph_sharepoint" }
   # 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: "m365_graph_sharepoint.sites.list" }
   # list sharepoint sites · read · 1 upstream call
   check { 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_id` `client_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 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml) [learn.microsoft.com](https://learn.microsoft.com/en-us/graph/api/resources/sharepoint?view=graph-rest-1.0)

**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.

- **122** read look, never change
- **81** write create and update
- **25** destructive wait for a confirmation

1. ### Intranet
   228
   122 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.list` List a site's document libraries | List the document libraries (drives) of a site. | read | `content.drive.list` 5 connectors |
| `m365_graph_sharepoint.drive_items.get` Get a file or folder (any library) | Get one driveItem by id. | read | `content.file.get` 74 connectors |
| `m365_graph_sharepoint.drive_items.delete` Delete a file or folder (any library) | Move a driveItem to the site's recycle bin. | destructive | `content.file.delete` 68 connectors |
| `m365_graph_sharepoint.drive_items.create_folder` Create a folder (any library) | Create a folder inside a parent folder. `root` is the library's top folder. | write | `content.folder.create` 62 connectors |
| `m365_graph_sharepoint.drive_items.list_children` List a folder's contents (any library) | List the files and folders inside a folder. `root` is the library's top folder. | read | `content.folder.list` 62 connectors |
| `m365_graph_sharepoint.drives.get_default` Get a site's default document library | Get the default document library (drive) of a site. | read | `content.drive.get` 6 connectors |
| `m365_graph_sharepoint.drive_items.create_link` Create a sharing link (any library) | Create or fetch a sharing link for a driveItem. | write | `content.file_link.create` 18 connectors |
| `m365_graph_sharepoint.site_permissions.list` List site permissions | List the application permissions granted on a site. | read | `content.file_permission.list` 17 connectors |
| `m365_graph_sharepoint.drive_items.list_permissions` List a file's permissions (any library) | List who a driveItem is shared with, inherited grants included. | read | `content.file_permission.list` 17 connectors |
| `m365_graph_sharepoint.sites.list` List SharePoint sites | List the SharePoint sites in the tenant. | read | `content.site.list` 16 connectors |
| `m365_graph_sharepoint.lists.create` Create a list | Create a list on a site, with its columns. | write | `content.database.create` 15 connectors |
| `m365_graph_sharepoint.list_items.create` Create a list item | Create an item in a list from column values. | write | `content.record.create` 15 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.

1. Read read
   Which Microsoft SharePoint files changed this week, and who changed them?
   calls `m365_graph_sharepoint.site_drive_items.list_children`
2. Plan read
   Report activity and usage for a SharePoint site in Microsoft SharePoint.
   calls `m365_graph_sharepoint.sites.get` `m365_graph_sharepoint.site_analytics.all_time` `m365_graph_sharepoint.site_analytics.last_seven_days` `m365_graph_sharepoint.site_activities.by_interval` `m365_graph_sharepoint.lists.list` +1 more
3. Plan destructive
   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_default` `m365_graph_sharepoint.drive_items.list_children` `m365_graph_sharepoint.drive_items.create_folder` `m365_graph_sharepoint.drive_items.copy` `m365_graph_sharepoint.drive_items.permanent_delete`
4. Write write
   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.

1. ### Report activity and usage for a SharePoint site
   Use it when Someone asks how busy a SharePoint site has been, or wants usage numbers for a site over a period.
   **Effect**
   read
   **Steps**
   6
   **Needs**
   end date time, interval, site id and start date time
   **Install**
   `m365_graph_sharepoint-site-usage-report`
2. ### Apply a sensitivity label across search hits
   Use it when A batch of documents matching a search term needs the same sensitivity label applied, with sign-off first.
   A person decides Apply sensitivity label _sensitivityLabelId_ to every document matching '_q_' on this site.
   **Effect**
   write
   **Steps**
   3 · loops
   **Needs**
   justification, q, sensitivityLabelId and site id
   **Install**
   `m365_graph_sharepoint-label-sensitive-documents`
3. ### Build a term set and fill it with terms
   Use it when A new managed metadata vocabulary needs creating on a site with a known list of terms.
   **Effect**
   write
   **Steps**
   5 · loops
   **Needs**
   group name, labels, set names and site id
   **Install**
   `m365_graph_sharepoint-build-term-set`
4. ### Draft a site page and publish it after approval
   Use it when A news or announcement page should be drafted on a site but must not go live until someone approves the wording.
   A person decides Publish the news page '_page title_' to the site so everyone with access can read it.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   page name, page title, site id and summary
   **Install**
   `m365_graph_sharepoint-publish-news-page`
5. ### Share a document with named recipients
   Use it when A specific document in SharePoint needs sharing with a named set of people at a given permission level.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   item path, recipients, roles and site id
   **Install**
   `m365_graph_sharepoint-share-document-with-team`
6. ### Provision a project tracking list on a site
   Use it when A new project needs its own tracking list stood up on a SharePoint site with the usual columns and a first row.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   list name, owner and site id
   **Install**
   `m365_graph_sharepoint-provision-project-list`
7. ### Publish a content type and push it to hub sites
   Use it when A content type has been finished on a hub site and now needs publishing out to the sites that consume it.
   A person decides Publish content type '_name_' and associate it with the listed hub sites, propagating to existing lists.
   **Effect**
   write
   **Steps**
   7
   **Needs**
   content type id, hubSiteUrls and site id
   **Install**
   `m365_graph_sharepoint-publish-content-type-to-hub`
8. ### Copy old library files to an archive folder and delete them
   Use it when A document library folder has grown stale and its contents should be archived elsewhere and then removed.
   A person decides Copy every file in the source folder into archive '_archive name_' and then permanently delete the originals.
   **Effect**
   destructive
   **Steps**
   5 · loops
   **Needs**
   archive name, archive parent id, site id and source folder id
   **Install**
   `m365_graph_sharepoint-archive-stale-library-files`
9. ### Audit and revoke a site permission grant
   Use it when A site permission grant needs reviewing and probably removing, and a person must sign off before access is revoked.
   A person decides Revoke permission _permission id_ on site _displayName_, removing the roles it grants.
   **Effect**
   destructive
   **Steps**
   5
   **Needs**
   permission id and site id
   **Install**
   `m365_graph_sharepoint-audit-site-permissions`

install a plan

```
account { op: "plans.install", slug: "m365_graph_sharepoint-site-usage-report" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance 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.

do m365_graph_sharepoint.drive_items.delete confirm_policy: **human**

Delete a file or folder (any library)?

**intent:** the user asked me to delete a file or folder (any library)

run suspended · waiting for a named person · key _m365-graph-sharepoint-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
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: "lead@example.com" },
    { match: "m365_graph_sharepoint.drive_items.permanent_delete", approver: "lead@example.com" },
    { match: "m365_graph_sharepoint.site_drive_items.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Microsoft SharePoint only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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.

- 1 upstream call per action all 228 Microsoft SharePoint actions
- 51 actions page each page of a long list is one call
- 122 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Microsoft SharePoint action.

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

**Intranet 228**

- `m365_graph_sharepoint.admin_settings.get` Get tenant SharePoint settings read
- `m365_graph_sharepoint.admin_settings.update` Update tenant SharePoint settings write
- `m365_graph_sharepoint.document_set_versions.create` Capture a document set version write
- `m365_graph_sharepoint.document_set_versions.delete` Delete a document set version destructive
- `m365_graph_sharepoint.document_set_versions.get` Get a document set version read
- `m365_graph_sharepoint.document_set_versions.list` List document set versions read
- `m365_graph_sharepoint.document_set_versions.restore` Restore a document set version write
- `m365_graph_sharepoint.drive_items.activities_by_interval` Get file activity by interval read
- `m365_graph_sharepoint.drive_items.analytics_all_time` Get all-time file analytics read
- `m365_graph_sharepoint.drive_items.analytics_last_seven_days` Get last-seven-days file analytics read
- `m365_graph_sharepoint.drive_items.assign_sensitivity_label` Assign a sensitivity label (any library) write
- `m365_graph_sharepoint.drive_items.checkin` Check in a file (any library) write
- `m365_graph_sharepoint.drive_items.checkout` Check out a file (any library) write
- `m365_graph_sharepoint.drive_items.copy` Copy a file or folder (any library) write
- `m365_graph_sharepoint.drive_items.create_folder` Create a folder (any library) write
- `m365_graph_sharepoint.drive_items.create_link` Create a sharing link (any library) write
- `m365_graph_sharepoint.drive_items.create_upload_session` Create an upload session (any library) write
- `m365_graph_sharepoint.drive_items.delete` Delete a file or folder (any library) destructive
- `m365_graph_sharepoint.drive_items.delete_permission` Remove a file permission (any library) destructive
- `m365_graph_sharepoint.drive_items.delta` Track file changes (any library) read
- `m365_graph_sharepoint.drive_items.discard_checkout` Discard a file checkout (any library) write
- `m365_graph_sharepoint.drive_items.extract_sensitivity_labels` Extract sensitivity labels (any library) read
- `m365_graph_sharepoint.drive_items.follow` Follow a file (any library) write
- `m365_graph_sharepoint.drive_items.get` Get a file or folder (any library) read
- `m365_graph_sharepoint.drive_items.get_by_path` Get a file or folder by path (any library) read
- `m365_graph_sharepoint.drive_items.get_download_url` Get a file's download URL (any library) read
- `m365_graph_sharepoint.drive_items.get_list_item` Get a file's list item read
- `m365_graph_sharepoint.drive_items.get_permission` Get a file permission (any library) read
- `m365_graph_sharepoint.drive_items.get_retention_label` Get a file's retention label read
- `m365_graph_sharepoint.drive_items.get_version` Get a file version (any library) read
- `m365_graph_sharepoint.drive_items.invite` Share a file with people (any library) write
- `m365_graph_sharepoint.drive_items.list_children` List a folder's contents (any library) read
- `m365_graph_sharepoint.drive_items.list_permissions` List a file's permissions (any library) read
- `m365_graph_sharepoint.drive_items.list_thumbnails` List a file's thumbnails (any library) read
- `m365_graph_sharepoint.drive_items.list_versions` List a file's versions (any library) read
- `m365_graph_sharepoint.drive_items.lock_or_unlock_record` Lock or unlock a record write
- `m365_graph_sharepoint.drive_items.move` Move a file or folder (any library) write
- `m365_graph_sharepoint.drive_items.permanent_delete` Permanently delete a file or folder destructive
- `m365_graph_sharepoint.drive_items.preview` Get an embeddable preview (any library) write
- `m365_graph_sharepoint.drive_items.remove_retention_label` Remove a file's retention label destructive
- `m365_graph_sharepoint.drive_items.replace_text` Replace a file's content with text (any library) write
- `m365_graph_sharepoint.drive_items.restore_version` Restore a file version (any library) write
- `m365_graph_sharepoint.drive_items.search` Search a document library (any library) read
- `m365_graph_sharepoint.drive_items.set_retention_label` Set a file's retention label write
- `m365_graph_sharepoint.drive_items.unfollow` Unfollow a file destructive
- `m365_graph_sharepoint.drive_items.update` Update, rename or move a file or folder (any library) write
- `m365_graph_sharepoint.drive_items.update_permission` Update a file permission (any library) write
- `m365_graph_sharepoint.drive_items.upload_text` Upload a text file (any library) write
- `m365_graph_sharepoint.drives.get` Get a document library read
- `m365_graph_sharepoint.drives.get_default` Get a site's default document library read
- `m365_graph_sharepoint.drives.get_for_site` Get one of a site's document libraries read
- `m365_graph_sharepoint.drives.get_list` Get the list behind a document library read
- `m365_graph_sharepoint.drives.list` List a site's document libraries read
- `m365_graph_sharepoint.list_columns.create` Create a list column write
- `m365_graph_sharepoint.list_columns.delete` Delete a list column destructive
- `m365_graph_sharepoint.list_columns.get` Get a list column read
- `m365_graph_sharepoint.list_columns.list` List a list's columns read
- `m365_graph_sharepoint.list_columns.update` Update a list column write
- `m365_graph_sharepoint.list_content_type_columns.create` Add a column to a list content type write
- `m365_graph_sharepoint.list_content_type_columns.delete` Remove a column from a list content type destructive
- `m365_graph_sharepoint.list_content_type_columns.get` Get a list content type's column read
- `m365_graph_sharepoint.list_content_type_columns.list` List a list content type's columns read
- `m365_graph_sharepoint.list_content_type_columns.update` Update a list content type's column write
- `m365_graph_sharepoint.list_content_types.add_copy` Add a site content type to a list write
- `m365_graph_sharepoint.list_content_types.add_copy_from_hub` Add a hub content type to a list write
- `m365_graph_sharepoint.list_content_types.delete` Remove a list content type destructive
- `m365_graph_sharepoint.list_content_types.get` Get a list content type read
- `m365_graph_sharepoint.list_content_types.list` List a list's content types read
- `m365_graph_sharepoint.list_content_types.list_compatible_hub` List hub content types a list can take read
- `m365_graph_sharepoint.list_content_types.update` Update a list content type write
- `m365_graph_sharepoint.list_item_activities.by_interval` Get list item activity by interval read
- `m365_graph_sharepoint.list_item_analytics.all_time` Get all-time list item analytics read
- `m365_graph_sharepoint.list_item_analytics.last_seven_days` Get last-seven-days list item analytics read
- `m365_graph_sharepoint.list_item_permissions.delete` Delete a list item permission destructive
- `m365_graph_sharepoint.list_item_permissions.get` Get a list item permission read
- `m365_graph_sharepoint.list_item_permissions.list` List list item permissions read
- `m365_graph_sharepoint.list_item_versions.get` Get a list item version read
- `m365_graph_sharepoint.list_item_versions.list` List a list item's versions read
- `m365_graph_sharepoint.list_item_versions.restore` Restore a list item version write
- `m365_graph_sharepoint.list_items.create` Create a list item write
- `m365_graph_sharepoint.list_items.create_link` Create a sharing link for a list item write
- `m365_graph_sharepoint.list_items.delete` Delete a list item destructive
- `m365_graph_sharepoint.list_items.delta` Track list item changes read
- `m365_graph_sharepoint.list_items.get` Get a list item read
- `m365_graph_sharepoint.list_items.get_drive_item` Get a list item's file read
- `m365_graph_sharepoint.list_items.get_fields` Get a list item's column values read
- `m365_graph_sharepoint.list_items.list` List list items read
- `m365_graph_sharepoint.list_items.update` Update a list item write
- `m365_graph_sharepoint.list_operations.get` Get a list operation read
- `m365_graph_sharepoint.list_operations.list` List list operations read
- `m365_graph_sharepoint.list_permissions.create` Grant an application access to a list write
- `m365_graph_sharepoint.list_permissions.delete` Delete a list permission destructive
- `m365_graph_sharepoint.list_permissions.get` Get a list permission read
- `m365_graph_sharepoint.list_permissions.list` List list permissions read
- `m365_graph_sharepoint.lists.create` Create a list write
- `m365_graph_sharepoint.lists.delete` Delete a list destructive
- `m365_graph_sharepoint.lists.get` Get a list read
- `m365_graph_sharepoint.lists.get_drive` Get a document library's drive read
- `m365_graph_sharepoint.lists.list` List the lists on a site read
- `m365_graph_sharepoint.lists.update` Update a list write
- `m365_graph_sharepoint.page_canvas.get` Get a page's canvas layout read
- `m365_graph_sharepoint.page_horizontal_section_columns.get` Get a horizontal section column read
- `m365_graph_sharepoint.page_horizontal_section_columns.list` List a horizontal section's columns read
- `m365_graph_sharepoint.page_horizontal_section_webparts.get` Get a web part in a section column read
- `m365_graph_sharepoint.page_horizontal_section_webparts.list` List the web parts in a section column read
- `m365_graph_sharepoint.page_horizontal_sections.get` Get a horizontal section read
- `m365_graph_sharepoint.page_horizontal_sections.list` List a page's horizontal sections read
- `m365_graph_sharepoint.page_vertical_section.get` Get a page's vertical section read
- `m365_graph_sharepoint.page_vertical_section_webparts.get` Get a web part in the vertical section read
- `m365_graph_sharepoint.page_vertical_section_webparts.list` List the web parts in the vertical section read
- `m365_graph_sharepoint.page_webparts.delete` Delete a web part destructive
- `m365_graph_sharepoint.page_webparts.get` Get a web part read
- `m365_graph_sharepoint.page_webparts.list` List a page's web parts read
- `m365_graph_sharepoint.page_webparts.list_by_position` Get web parts by position read
- `m365_graph_sharepoint.page_webparts.update` Update a web part write
- `m365_graph_sharepoint.pages.delete` Delete a page destructive
- `m365_graph_sharepoint.pages.get` Get a page read
- `m365_graph_sharepoint.pages.list` List pages read
- `m365_graph_sharepoint.search.query` Search SharePoint content read
- `m365_graph_sharepoint.share_permissions.grant` Grant access through a sharing link write
- `m365_graph_sharepoint.shares.get` Resolve a sharing link read
- `m365_graph_sharepoint.shares.get_drive_item` Get the file behind a sharing link read
- `m365_graph_sharepoint.shares.get_list_item` Get the list item behind a sharing link read
- `m365_graph_sharepoint.shares.get_site` Get the site behind a sharing link read
- `m365_graph_sharepoint.site_activities.by_interval` Get site activity by interval read
- `m365_graph_sharepoint.site_analytics.all_time` Get all-time site analytics read
- `m365_graph_sharepoint.site_analytics.last_seven_days` Get last-seven-days site analytics read
- `m365_graph_sharepoint.site_columns.create` Create a site column write
- `m365_graph_sharepoint.site_columns.delete` Delete a site column destructive
- `m365_graph_sharepoint.site_columns.get` Get a site column read
- `m365_graph_sharepoint.site_columns.list` List site columns read
- `m365_graph_sharepoint.site_columns.update` Update a site column write
- `m365_graph_sharepoint.site_content_type_columns.create` Add a column to a site content type write
- `m365_graph_sharepoint.site_content_type_columns.delete` Remove a column from a site content type destructive
- `m365_graph_sharepoint.site_content_type_columns.get` Get a site content type's column read
- `m365_graph_sharepoint.site_content_type_columns.list` List a site content type's columns read
- `m365_graph_sharepoint.site_content_type_columns.update` Update a site content type's column write
- `m365_graph_sharepoint.site_content_types.add_copy_from_hub` Add a content type from the hub to a site write
- `m365_graph_sharepoint.site_content_types.associate_with_hub_sites` Associate a content type with hub sites write
- `m365_graph_sharepoint.site_content_types.copy_to_default_content_location` Copy a file to a content type's default location write
- `m365_graph_sharepoint.site_content_types.create` Create a site content type write
- `m365_graph_sharepoint.site_content_types.delete` Delete a site content type destructive
- `m365_graph_sharepoint.site_content_types.get` Get a site content type read
- `m365_graph_sharepoint.site_content_types.is_published` Check a content type is published read
- `m365_graph_sharepoint.site_content_types.list` List site content types read
- `m365_graph_sharepoint.site_content_types.list_compatible_hub` List hub content types a site can take read
- `m365_graph_sharepoint.site_content_types.publish` Publish a content type write
- `m365_graph_sharepoint.site_content_types.unpublish` Unpublish a content type write
- `m365_graph_sharepoint.site_content_types.update` Update a site content type write
- `m365_graph_sharepoint.site_drive_items.assign_sensitivity_label` Assign a sensitivity label (site default library) write
- `m365_graph_sharepoint.site_drive_items.checkin` Check in a file (site default library) write
- `m365_graph_sharepoint.site_drive_items.checkout` Check out a file (site default library) write
- `m365_graph_sharepoint.site_drive_items.copy` Copy a file or folder (site default library) write
- `m365_graph_sharepoint.site_drive_items.create_folder` Create a folder (site default library) write
- `m365_graph_sharepoint.site_drive_items.create_link` Create a sharing link (site default library) write
- `m365_graph_sharepoint.site_drive_items.create_upload_session` Create an upload session (site default library) write
- `m365_graph_sharepoint.site_drive_items.delete` Delete a file or folder (site default library) destructive
- `m365_graph_sharepoint.site_drive_items.delete_permission` Remove a file permission (site default library) destructive
- `m365_graph_sharepoint.site_drive_items.delta` Track file changes (site default library) read
- `m365_graph_sharepoint.site_drive_items.discard_checkout` Discard a file checkout (site default library) write
- `m365_graph_sharepoint.site_drive_items.extract_sensitivity_labels` Extract sensitivity labels (site default library) read
- `m365_graph_sharepoint.site_drive_items.follow` Follow a file (site default library) write
- `m365_graph_sharepoint.site_drive_items.get` Get a file or folder (site default library) read
- `m365_graph_sharepoint.site_drive_items.get_by_path` Get a file or folder by path (site default library) read
- `m365_graph_sharepoint.site_drive_items.get_download_url` Get a file's download URL (site default library) read
- `m365_graph_sharepoint.site_drive_items.get_permission` Get a file permission (site default library) read
- `m365_graph_sharepoint.site_drive_items.get_version` Get a file version (site default library) read
- `m365_graph_sharepoint.site_drive_items.invite` Share a file with people (site default library) write
- `m365_graph_sharepoint.site_drive_items.list_children` List a folder's contents (site default library) read
- `m365_graph_sharepoint.site_drive_items.list_permissions` List a file's permissions (site default library) read
- `m365_graph_sharepoint.site_drive_items.list_thumbnails` List a file's thumbnails (site default library) read
- `m365_graph_sharepoint.site_drive_items.list_versions` List a file's versions (site default library) read
- `m365_graph_sharepoint.site_drive_items.move` Move a file or folder (site default library) write
- `m365_graph_sharepoint.site_drive_items.preview` Get an embeddable preview (site default library) write
- `m365_graph_sharepoint.site_drive_items.replace_text` Replace a file's content with text (site default library) write
- `m365_graph_sharepoint.site_drive_items.restore_version` Restore a file version (site default library) write
- `m365_graph_sharepoint.site_drive_items.search` Search a document library (site default library) read
- `m365_graph_sharepoint.site_drive_items.update` Update, rename or move a file or folder (site default library) write
- `m365_graph_sharepoint.site_drive_items.update_permission` Update a file permission (site default library) write
- `m365_graph_sharepoint.site_drive_items.upload_text` Upload a text file (site default library) write
- `m365_graph_sharepoint.site_external_columns.list` List external columns read
- `m365_graph_sharepoint.site_operations.get` Get a site operation read
- `m365_graph_sharepoint.site_operations.list` List site operations read
- `m365_graph_sharepoint.site_pages.create` Create a page write
- `m365_graph_sharepoint.site_pages.get` Get a modern site page read
- `m365_graph_sharepoint.site_pages.list` List modern site pages read
- `m365_graph_sharepoint.site_pages.publish` Publish a page write
- `m365_graph_sharepoint.site_pages.update` Update a page write
- `m365_graph_sharepoint.site_permissions.create` Grant an application access to a site write
- `m365_graph_sharepoint.site_permissions.delete` Revoke a site permission destructive
- `m365_graph_sharepoint.site_permissions.get` Get a site permission read
- `m365_graph_sharepoint.site_permissions.list` List site permissions read
- `m365_graph_sharepoint.site_permissions.update` Update a site permission write
- `m365_graph_sharepoint.sites.delta` Track site changes read
- `m365_graph_sharepoint.sites.follow` Follow sites write
- `m365_graph_sharepoint.sites.get` Get a site read
- `m365_graph_sharepoint.sites.get_all` List sites across all geographies read
- `m365_graph_sharepoint.sites.get_by_path` Get a site by URL path read
- `m365_graph_sharepoint.sites.get_for_group` Get a group's team site read
- `m365_graph_sharepoint.sites.get_root` Get the tenant root site read
- `m365_graph_sharepoint.sites.list` List SharePoint sites read
- `m365_graph_sharepoint.sites.list_applicable_content_types_for_list` List content types applicable to a list read
- `m365_graph_sharepoint.sites.list_followed` List followed sites read
- `m365_graph_sharepoint.sites.search` Search sites read
- `m365_graph_sharepoint.sites.unfollow` Unfollow sites destructive
- `m365_graph_sharepoint.sites.update` Update a site write
- `m365_graph_sharepoint.subsites.list` List subsites read
- `m365_graph_sharepoint.term_groups.create` Create a term group write
- `m365_graph_sharepoint.term_groups.delete` Delete a term group destructive
- `m365_graph_sharepoint.term_groups.get` Get a term group read
- `m365_graph_sharepoint.term_groups.list` List term groups read
- `m365_graph_sharepoint.term_groups.list_sets` List a term group's sets read
- `m365_graph_sharepoint.term_relations.create` Pin or reuse a term write
- `m365_graph_sharepoint.term_relations.list_for_set` List a term set's relations read
- `m365_graph_sharepoint.term_relations.list_for_term` List a term's relations read
- `m365_graph_sharepoint.term_sets.create` Create a term set write
- `m365_graph_sharepoint.term_sets.delete` Delete a term set destructive
- `m365_graph_sharepoint.term_sets.get` Get a term set read
- `m365_graph_sharepoint.term_sets.update` Update a term set write
- `m365_graph_sharepoint.term_store.get` Get a site's term store read
- `m365_graph_sharepoint.term_store.update` Update a site's term store write
- `m365_graph_sharepoint.terms.create` Create a top-level term write
- `m365_graph_sharepoint.terms.create_child` Create a child term write
- `m365_graph_sharepoint.terms.delete` Delete a term destructive
- `m365_graph_sharepoint.terms.get` Get a term read
- `m365_graph_sharepoint.terms.list_children` List a term set's top-level terms read
- `m365_graph_sharepoint.terms.list_term_children` List a term's child terms read
- `m365_graph_sharepoint.terms.update` Update a term write

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.

## More connectors like Microsoft SharePoint

Shares the most action names with

- [Confluence 42](https://actionlake.com/connectors/confluence)
- [Box 41](https://actionlake.com/connectors/box)
- [Microsoft OneDrive 39](https://actionlake.com/connectors/microsoft-onedrive)
- [Dropbox 28](https://actionlake.com/connectors/dropbox)
- [Google Drive 19](https://actionlake.com/connectors/google-drive)
- [Zoho WorkDrive 18](https://actionlake.com/connectors/zoho-workdrive)

Joins with, on shared entities

- [Slack 1](https://actionlake.com/connectors/slack)
- [Canvas LMS 1](https://actionlake.com/connectors/canvas-lms)
- [Unified.to 1](https://actionlake.com/connectors/unified-to)
- [Appwrite Cloud 1](https://actionlake.com/connectors/appwrite-cloud)
- [Teamwork 1](https://actionlake.com/connectors/teamwork)
- [ERPNext (Frappe) 1](https://actionlake.com/connectors/erpnext-frappe)

Browse

- [All Files & documents connectors](https://actionlake.com/connectors/category/files-and-documents)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Microsoft SharePoint; the name is the vendor's own. Counts are from the Microsoft SharePoint service file, version 2.0.0.

## Give your agent Microsoft SharePoint today.

[Connect Microsoft SharePoint free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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

---

Source: https://actionlake.com/connectors/microsoft-sharepoint
More: https://actionlake.com/llms.txt
