
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.
概览
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 root - List_SharePoint_Documents: Fetches all documents within a specified folder - Get_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 root - Upload_Document: Uploads a new document to a specified folder - Upload_Document: Uploads large documents from path.
README
以下为原文 README 节选,完整内容请查看原文。
SharePoint MCP Server
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.
Features
This server provides a clean interface to SharePoint resources through the Model Context Protocol (MCP), with optimized operations for document management.
Tools
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 folderUpload_Document: Uploads large documents from path.Update_Document: Updates the content of an existing documentDelete_Document: Removes a document from a specified folderDelete_Folder: Deletes an empty folder from SharePoint
Architecture
The server is built with resource efficiency in mind:
- Efficient SharePoint API usage with selective property loading
- Error handling through decorators for cleaner code
- Clear separation between resource management and tool implementation
- Optimized content handling for both text and binary files
Setup
- Register an app in Azure AD with appropriate SharePoint permissions
- Obtain the client ID and client secret for the registered app
- Identify your SharePoint site URL and the document library path you want to work with
Environment Variables
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 ID
Quickstart
Installation
pip install -e .
Or install from PyPI once published:
pip install mcp-sharepoint-server
Using uv:
uv pip install mcp-sharepoint-server
Claude Desktop Integration
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
Standard Integration
"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"
}
}
}
安装
uvx mcp-sharepoint配置
"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"
}
}
}