The SharePoint Online MCP Server allows you to interact with SharePoint Online via the SharePoint REST API, providing comprehensive management capabilities:
Site Management: Retrieve site details and titles, update properties, get/delete subsites, and manage navigation links
List Management: Create, view, and delete lists and list fields, manage list views
List View Field Management: Add, remove, move fields in list views, and manage view settings
List Item Management: Get, create, update, and delete list items
User Management: Manage users within SharePoint groups, including adding and removing members
Mock Data: Add mock data items (1-100) to specified SharePoint lists
Authentication: Support for both client secret (deprecated) and certificate-based authentication
Required runtime environment for the MCP server to operate, with version 22.14.0 or later specified as necessary for installation.
Used for defining app permission requests when setting up SharePoint app access, enabling specification of security scopes and access rights.
SharePoint Online MCP Server 🚀

Most powerful SharePoint MCP server enabling seamless interaction with SharePoint Online through the SharePoint REST API.
This MCP server is designed to be used with the Claude Desktop app, but could be used by other MCP clients such as Cline as well.
Table of Contents
Related MCP server: Webflow MCP Server
SharePoint Operations Availability
Users
Operation | Available | Notes |
List Site Users | ✅ | |
List Site Groups | ✅ | |
Get Group Members | ✅ | |
Add Group Member | ✅ | |
Remove Group Member | ✅ | |
Get User Profile | ❌ | /_api/SP.UserProfiles.PeopleManager |
Update User Profile | ❌ |
Sites
Operation | Available |
Get Site Details | ✅ |
Update Site Properties | ✅ |
Get Global Navigation Links | ✅ |
Get Quick Navigation Links | ✅ |
Add Navigation Link | ✅ |
Update Navigation Link | ✅ |
Delete Navigation Link | ✅ |
Get Subsites | ✅ |
Create Subsite | ❌ |
Delete Subsite | ✅ |
Regional Settings
Operation | Available |
Get Regional Settings | ✅ |
Update Regional Settings | ❌ |
Features
Operation | Available |
Get Site Collection Features | ✅ |
Get All Site Features | ✅ |
Get Site Feature | ✅ |
Get All Site Feature | ✅ |
Activate Feature | ❌ |
Deactivate Feature | ❌ |
Lists
Operation | Available | Notes |
Get All Lists | ✅ | |
Create List | ✅ | |
Add Site Content Type to list | ✅ | |
Remove Content Type from list | ✅ | |
Add Field to List Content Type | ❌ | |
Remove Field from List Content Type | ❌ | |
Update List | ✅ | |
Get List Fields | ✅ | |
Create List Field | ✅ | Basic scenarios only |
Update List Field | ✅ | |
Delete List Field | ✅ | |
Set List Field formatting | ❌ | |
Set List View formatting | ❌ | |
Delete List | ✅ |
List Views
Operation | Available |
Get List Views | ✅ |
Delete List View | ✅ |
Create List View | ✅ |
Update List View | ✅ |
Get View Fields | ✅ |
Add View Field | ✅ |
Remove View Field | ✅ |
Remove All View Fields | ✅ |
Move View Field | ✅ |
List Content Types
Operation | Available | Notes |
Get All List Content Types | ✅ | |
Get List Content Type | ✅ | |
Create List Content Type | ❌ | |
Update List Content Type | ✅ | Change CT title and group only |
Delete List Content Type | ✅ |
List Items
Operation | Available |
Get All List Items | ✅ |
Create List Item | ✅ |
Update List Item | ✅ |
Delete List Item | ✅ |
Site Content Types
Operation | Available | Notes |
Get All Site Content Types | ✅ | |
Get Site Content Type | ✅ | |
Create Site Content Type | ❌ | |
Update Site Content Type | ✅ | Change CT title and group only |
Delete Site Content Type | ✅ |
Pages
Operation | Available |
Create Modern Page | ✅ |
Delete Modern Page | ✅ |
List Modern Pages | ✅ |
Add Page Web Part | ❌ |
Delete Page Web Part | ❌ |
Move Page Web Part | ❌ |
Update Page Web Part | ❌ |
Documents
Operation | Available |
Create Document | ❌ |
Upload Document | ❌ |
Move Document | ❌ |
Copy Document | ❌ |
Taxonomy
Operation | Available |
Get Taxonomy Group | ❌ |
Create Taxonomy Label | ❌ |
Update Taxonomy Label | ❌ |
Delete Taxonomy Label | ❌ |
Search
Operation | Available |
Search within SharePoint Site | ✅ |
Authentication Options
The server supports two authentication methods:
Client Secret Authentication - Traditional client ID and secret. It's the App-only authentication that is deprecated and will not work after April 2026.
Certificate Authentication - More modern method using Azure AD App Registration with certificate
Option 1: Client Secret Authentication (Will not work after April 2026)
This option requires the SharePoint administrator role.
Configuration steps
⚠️ You need to be a SharePoint tenant admin or a global admin to create a SharePoint app.
Allow SharePoint-only apps
Download and install the SharePoint Online Management Shell from here.
Open PowerShell and run the following command to make sure the SharePoint-only apps are enabled:
Create SharePoint-only App with Client Secret
Open
https://<your-tenant>.sharepoint.com/_layouts/15/appregnew.aspxClick
Generateto create a new client ID and secret.Fill in the following fields:
App Domain:
www.example.com(or any domain you own)Redirect URL:
http://example.com
Click
Createto create the app.Copy the
Client IDandClient Secretvalues to a safe place. You will need them later.
Grant App Permissions
Open
https://<your-tenant>.sharepoint.com/_layouts/15/appinv.aspxPaste the
Client IDvalue in theApp IDfield and clickLookup.
Paste the following XML in the
App Permission Request XMLfield:
Click
Createand thenTrust Itto grant the app permissions.
Option 2: Certificate Authentication
Certificate-based authentication provides better security than client secrets. It uses a certificate to prove the identity of the application instead of a shared secret.
⚠️ This option requires the Global administrator role to provide the necessary permissions to the app.
Clone the repo
Create Azure AD App with Certificate
Navigate to the cloned repo and use the provided PowerShell script to create the Azure AD app with certificate:
This script will
Create a self-signed certificate in your certificate store
Register an Azure AD application
Add the certificate to the application
Configure the required SharePoint permissions
Generate configuration files with the necessary settings
Output the
claude_desktop_config.jsonthat is compatible with Claude Desktop
Grant Admin Consent
After running the script, you'll get an Admin Consent URL. Open it in a browser and sign in as a Global Admin to grant consent for the permissions.
Install Node.js
Install Node.js version: 22.14.0 or later
Install and Configure Claude Desktop
Download Claude Desktop and install it.
In Claude Desktop, go to
File>Settings>Developer.
Click Edit Config

Open the claude_desktop_config.json config file in the editor. You can also use the claude_desktop_config.json file generated by the PowerShell script earlier.
Paste the following to the config and update the
mcpServerssection with your own values:
Config for Certificate Authentication
Config for Client Secret Authentication (not recommended)
Save the config file and restart Claude Desktop. Make sure to quit the app completely via the tasks tray icon:

How to "talk" to the MCP Server
Open Claude Desktop and ask a question like
Get me the list of lists from https://<your-tenant>.sharepoint.com/sites/Dashboard-Communication. Present the results in a table form. don't use code.

For Contributors
Build a new npm package
Run MCP Inspector locally
MCP Server Context 7 Documentation for LLMs
MCP Server Context 7 Documentation for LLMs
SharePoint REST API Documentation
Local Development
Clone the repo
nvm use 22.14.0npm installUpdate MCP config in
claude_desktop_config.jsonfile. Sample:
For client secret authentication (Will not work after April 2026)
For certificate authentication (Recommended)
Make changes to the code
Build the code
npm run buildTest with MCP Inspector:
npx @modelcontextprotocol/inspector node build/src/index.js -y