SharePoint

Provides access to SharePoint sites, libraries, files, lists, and sharing via Microsoft Graph with OAuth authentication.
  • 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

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational