- Home
- MCP servers
- SharePoint
SharePoint
- python
0
GitHub Stars
python
Language
3 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"ezemriv-sharepoint-mcp": {
"command": "uvx",
"args": [
"sharepoint-mcp"
],
"env": {
"LOG_LEVEL": "DEBUG",
"REDIRECT_URI": "http://localhost:8765/callback",
"AZURE_CLIENT_ID": "your-azure-app-client-id",
"AZURE_TENANT_ID": "your-azure-tenant-id"
}
}
}
}This MCP server enables Claude tools to interact with SharePoint sites, libraries, and files via the Microsoft Graph API. It provides authenticated access to list sites, browse and manage documents, upload content, search, and perform common SharePoint operations in a secure, structured way.
How to use
You will use Claude to perform SharePoint tasks through natural language prompts. Start by authenticating with your Microsoft account when prompted. After authentication, you can ask Claude to list your SharePoint sites, view libraries in a site, browse or search files, upload documents, create sharing links, and manage list items. Claude will translate your requests into MCP tool calls, returning results in a typed, predictable format.
Typical workflows you can perform include: list available sites, browse a library’s documents, search for files by name or type, upload a file to a library, download or read a file, generate a sharing link, or read and create items in a SharePoint list. Each action leverages the corresponding tool under the hood, with token-based authentication refreshed automatically as needed.
How to install
Prerequisites you need to install and run the MCP server locally:
- Python 3.11 or newer
- uv package manager (install with the commands shown below)
Install the uv tool if you do not have it yet:
curl -LsSf https://astral.sh/uv/install.sh | sh
Set up Azure AD app credentials you will use for OAuth authentication. You need the Client ID, Tenant ID, and the redirect URI. The redirect URI should be http://localhost:8765/callback by default.
Choose one of the following runtime configurations to start the MCP server.
{
"mcpServers": {
"sharepoint": {
"command": "uvx",
"args": ["sharepoint-mcp"],
"env": {
"AZURE_CLIENT_ID": "your-azure-app-client-id",
"AZURE_TENANT_ID": "your-azure-tenant-id"
}
}
}
}
Additional installation option for development
If you are developing locally, you can run a development path using uv with a directory to your MCP source.
{
"mcpServers": {
"sharepoint": {
"command": "uv",
"args": ["--directory", "/path/to/sharepoint-mcp", "run", "sharepoint-mcp"],
"env": {
"AZURE_CLIENT_ID": "your-azure-app-client-id",
"AZURE_TENANT_ID": "your-azure-tenant-id"
}
}
}
}
Environment and configuration
The MCP server uses environment variables to configure authentication and behavior. The required variables are AZURE_CLIENT_ID and AZURE_TENANT_ID. You may also configure REDIRECT_URI and LOG_LEVEL for debugging and custom redirect handling.
If you prefer a file-based configuration, you can place settings in a JSON file like this and point your client to read from it.
{
"client_id": "your-azure-app-client-id",
"tenant_id": "your-azure-tenant-id",
"redirect_uri": "http://localhost:8765/callback",
"log_level": "INFO"
}
Security and authentication
OAuth tokens are stored securely in your OS keychain and are refreshed automatically. A temporary local callback server runs only during authentication and binds to localhost for security.
Troubleshooting and notes
If you encounter authentication issues, ensure AZURE_CLIENT_ID and AZURE_TENANT_ID are set correctly. If the browser does not open for authentication, verify that the local port 8765 is accessible and not blocked by a firewall. If authentication times out, retry within a short window or restart the process.
Logging can be increased to DEBUG by setting LOG_LEVEL=DEBUG in your MCP config. Review logs at the system paths indicated by your platform to diagnose issues.
Available tools
list_sites
List SharePoint sites you have access to
list_libraries
Get document libraries for a site
list_files
Browse files in a library or folder with pagination
search_files
Search files across SharePoint
get_file_content
Download and read file content
upload_file
Upload a file to a library
get_file_metadata
Get detailed file metadata
create_sharing_link
Generate a sharing link for a file
list_items
Get items from a SharePoint list
create_list_item
Add an item to a SharePoint list