SharePoint Online MCP Server
This is a MCP server for Claude Desktop that allows you to interact with SharePoint Online using the SharePoint REST API. It is designed to be used with the Claude Desktop app, but could be used by other MCP clients as well.
Implementation
| Component | Operation | Available |
|---|---|---|
| Users | ❌ | |
| Get User | ❌ | |
| Sites | ❌ | |
| List Sites | ❌ | |
| Get Site Details | ✅ | |
| Create Subsite | ❌ | |
| Delete Site | ❌ | |
| Lists | ❌ | |
| Get All Lists | ✅ | |
| Create List | ❌ | |
| Read List | ❌ | |
| Add to List | ❌ | |
| Update List | ❌ | |
| Delete List | ❌ | |
| List Items | ❌ | |
| Get All List Items | ✅ | |
| Add Mock Items | ✅ | |
| Add List Item | ❌ | |
| Update List Item | ❌ | |
| Delete List Item | ❌ |
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:
Connect-SPOService -Url https://<your-tenant>-admin.sharepoint.com/
Set-SPOTenant -DisableCustomAppAuthentication $false
Create SharePoint-only App
- Open https://
.sharepoint.com/_layouts/15/appregnew.aspx - click
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
- App Domain:
- Click
Createto create the app. - Copy the
Client IDandClient Secretvalues to a safe place. You will need them later.
Grant App Permissions
- Open https://
.sharepoint.com/_layouts/15/appinv.aspx - Paste the
Client IDvalue in theApp Idfield and clickLookup.
- Paste the following XML in the
App Permission Request XMLfield:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
</AppPermissionRequests>
- Click
Createand thenTrust Itto grant the app permissions.

Install Node.js
Install node.js version: 22.14.0 or later
Install abd 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.
- Paste the following to the config and update the
mcpServerssection with your own values:
{
"mcpServers": {
"server-sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<your-client-id>",
"SHAREPOINT_CLIENT_SECRET": "<your-client-secret>",
"SHAREPOINT_TENANT_ID": "<your-tenant-id>"
}
}
}
}
💡Learn how to get the tenant ID from Entra ID
- Save the config file and restart Claude Desktop. Make sure to quick 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
npm run build
npm publish
npx clear-npx-cache
npm cache clean --force
Run MCP Inspector locally
npx @modelcontextprotocol/inspector node build/index.js
SharePoint Online Integration Server
Project Details
- Zerg00s/server-sharepoint
- Last Updated: 4/28/2025
Recomended MCP Servers
A Google Contacts server using MCP
MCP server implementation for Rollbar API integration
Supabase MCP Server enabling Cursor & Windsurf to use any method from Management API and query your database
MCP Server for Netwrix Access Analyzer
This repo is meant to serve as a guide for Machine Learning/AI technical interviews.
This read-only MCP Server allows you to connect to Azure Analysis Services data from Claude Desktop through CData...
Nacos MCP Server





