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
Or install from PyPI once published:
Using uv:
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
Using uvx
Development
Requirements
- Python 3.10+
- Dependencies listed in
requirements.txt
andpyproject.toml
Local Development
- Clone the repository
- Create a virtual environment:
- Install development dependencies:
- Create a
.env
file with your SharePoint credentials: - Run the server:
Debugging
For debugging the MCP server, you can use the MCP Inspector:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 sofias tech
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A lightweight MCP server that enables integration with Microsoft SharePoint, allowing clients to interact with documents and folders through the Model Context Protocol.
Related MCP Servers
- AsecurityAlicenseAqualityA beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.Last updated -3936JavaScriptApache 2.0
Folderrofficial
AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that provides tools to interact with Folderr's API, specifically for managing and communicating with Folderr Assistants.Last updated -721JavaScript- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3926
- -securityAlicense-qualityA Model Context Protocol (MCP) server that allows AI models to safely access and interact with local file systems, enabling reading file contents, listing directories, and retrieving file metadata.Last updated -471JavaScriptMIT License