mcp sharepoint
A lightweight MCP server that enables integration with Microsoft SharePoint, allowing clients to interact with documents and folders through the Model Context Protocol.
A lightweight MCP server that enables integration with Microsoft SharePoint, allowing clients to interact with documents and folders through the Model Context Protocol.
A lightweight MCP Server for seamless integration with Microsoft SharePoint, enabling MCP clients to interact with documents, folders and other SharePoint resources. Developed by sofias tech.
This server provides a clean interface to SharePoint resources through the Model Context Protocol (MCP), with optimized operations for document management.
The server implements the following tools:
List_SharePoint_Folders
: Lists all folders in a specified directory or rootList_SharePoint_Documents
: Fetches all documents within a specified folderGet_Document_Content
: Retrieves the content of a document (as text or base64-encoded binary)Create_Folder
: Creates a new folder in the specified directory or rootUpload_Document
: Uploads a new document to a specified folderUpdate_Document
: Updates the content of an existing documentDelete_Document
: Removes a document from a specified folderDelete_Folder
: Deletes an empty folder from SharePointThe server is built with resource efficiency in mind:
The server requires these environment variables:
SHP_ID_APP
: Your Azure AD application client IDSHP_ID_APP_SECRET
: Your Azure AD application client secretSHP_SITE_URL
: The URL of your SharePoint siteSHP_DOC_LIBRARY
: Path to the document library (default: "Shared Documents/mcp_server")SHP_TENANT_ID
: Your Microsoft tenant IDpip install -e .
Or install from PyPI once published:
pip install mcp-sharepoint-server
Using uv:
uv pip install mcp-sharepoint-server
To integrate with Claude Desktop, update the configuration file:
On Windows: %APPDATA%/Claude/claude_desktop_config.json
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
"mcpServers": {
"sharepoint": {
"command": "mcp-sharepoint",
"env": {
"SHP_ID_APP": "your-app-id",
"SHP_ID_APP_SECRET": "your-app-secret",
"SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
"SHP_DOC_LIBRARY": "Shared Documents/your-folder",
"SHP_TENANT_ID": "your-tenant-id"
}
}
}
"mcpServers": {
"sharepoint": {
"command": "uvx",
"args": [
"mcp-sharepoint"
],
"env": {
"SHP_ID_APP": "your-app-id",
"SHP_ID_APP_SECRET": "your-app-secret",
"SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
"SHP_DOC_LIBRARY": "Shared Documents/your-folder",
"SHP_TENANT_ID": "your-tenant-id"
}
}
}
requirements.txt
and pyproject.toml
python -m venv .venv
source .venv/bin/activate # On Windows: .venvScriptsactivate
pip install -e .
.env
file with your SharePoint credentials:
SHP_ID_APP=your-app-id
SHP_ID_APP_SECRET=your-app-secret
SHP_SITE_URL=https://your-tenant.sharepoint.com/sites/your-site
SHP_DOC_LIBRARY=Shared Documents/your-folder
SHP_TENANT_ID=your-tenant-id
python -m mcp_sharepoint
For debugging the MCP server, you can use the MCP Inspector:
npx @modelcontextprotocol/inspector -- python -m mcp_sharepoint
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 sofias tech