Back to MCP Servers

Microsoft SharePoint MCP Server

Official Microsoft-hosted MCP server (Work IQ SharePoint) for managing SharePoint sites, document libraries, files, folders, lists, list items, and columns via Microsoft Graph.

Collaboration by Microsoft OAuth2 active
Overview

The Microsoft SharePoint MCP server (officially "Work IQ SharePoint", server ID mcp_SharePointRemoteServer) is a remote MCP server hosted by Microsoft as part of the Agent 365 / Work IQ tooling catalog. It exposes Microsoft Graph SharePoint operations to AI agents so they can navigate site hierarchies, manage document libraries, read and write files (up to 5MB), manipulate lists and list items, manage column schemas, share resources, and apply sensitivity labels, all without requiring a self-hosted bridge.

The server is provider-hosted at https://agent365.svc.cloud.microsoft/agents/tenants/{tenant_id}/servers/mcp_SharePointRemoteServer. Authentication uses Microsoft Entra OAuth2 (delegated permissions, on-behalf-of the signed-in user). It is currently in preview and requires a Microsoft 365 Copilot license. It supersedes the older mcp_SharePointListsTools server, which is deprecated for new connections starting March 13, 2026.

The server is registered in Microsoft's official MCP catalog at github.com/microsoft/mcp. Note that this catalog is a directory of remote endpoints, not source code: there is no public implementation repository to clone. Microsoft also ships related Work IQ servers for OneDrive, Mail, Calendar, Teams, Word, and Copilot Chat under the same Agent 365 gateway, with centralized governance through Microsoft 365 admin center and observability via Microsoft Defender.

Tools

Tool Description
findSite Find SharePoint sites accessible to the user. Returns specific sites matching a search query, or the top 20 relevant sites if no query is provided.
getSiteByPath Resolve a SharePoint site using its exact hostname and server-relative path.
listSubsites List all subsites (child sites) of a SharePoint site.
listDocumentLibrariesInSite List document libraries (drives) in the specified SharePoint site.
getDefaultDocumentLibraryInSite Get the default document library (drive) in a SharePoint site.
getFolderChildren Enumerate the top 20 files and folders inside a parent folder in a document library.
findFileOrFolder Find a file or folder by search query across all accessible sites and document libraries.
getFileOrFolderMetadata Get metadata of a file or folder from a specified document library.
getFileOrFolderMetadataByUrl Get metadata of a file or folder from a sharing URL (caller must already have explicit access).
readSmallTextFile Read (download) a text file under 5MB from a specific document library.
readSmallBinaryFile Read a binary file under 5MB. Content is returned as a base64-encoded string.
createSmallTextFile Create or upload a text file under 5MB to a document library.
createSmallBinaryFile Create a binary file under 5MB by base64-encoding its content.
createFolder Create a new folder within a document library. Duplicate names get a numeric suffix.
renameFileOrFolder Rename a file or folder within a document library.
deleteFileOrFolder Delete a file or folder from a document library.
moveFileOrFolder Move a file or folder to a destination folder (supports cross-library). Asynchronous.
copyFileOrFolder Copy a file or folder to a destination folder (supports cross-library). Asynchronous.
checkOperationStatus Check the status of an asynchronous copy or move operation.
uploadFileFromUrl Upload a file from a SharePoint or OneDrive source URL into a destination folder.
shareFileOrFolder Send a sharing invitation granting read or write permissions on a file or folder.
setSensitivityLabelOnFile Set or remove the sensitivity label on a file.
listLists Get all SharePoint lists on a specific site.
createList Create a new SharePoint list within a site (supports multiple templates).
deleteList Delete an entire SharePoint list and all of its items. Cannot be undone.
sendInviteForList Send a sharing invitation granting role-based permissions on a SharePoint list.
listListItems Get items from a specific SharePoint list.
getListItem Get a single item from a SharePoint list by its ID.
createListItem Create a new item in a SharePoint list.
updateListItem Update specified fields of an existing list item (partial update).
deleteListItem Delete an item from a SharePoint list.
listColumns Get all columns defined on a SharePoint list.
createColumn Create a new column in a SharePoint list. Supports text, number, choice, dateTime, boolean, user, lookup, calculated, and many other column types.
updateColumn Update an existing column in a SharePoint list.
deleteColumn Delete a column from a SharePoint list. Removes all data stored in that column.
Setup Guide

Prerequisites

  • A Microsoft 365 tenant with a Microsoft 365 Copilot license (Work IQ MCP servers require Copilot licensing)
  • Your Microsoft Entra Tenant ID (GUID)
  • A registered Microsoft Entra application (public client) to act as the OAuth client
  • The application must have the WorkIQ-SharePointServer (or equivalent) permission granted/consented
  • A redirect URI on the app such as http://localhost:8080/callback

Endpoint

https://agent365.svc.cloud.microsoft/agents/tenants/{tenantId}/servers/mcp_SharePointRemoteServer

Claude Code / GitHub Copilot CLI config

Create .mcp.json and fill in your tenantId and clientId from the registered Entra app:

{
  "mcpServers": {
    "WorkIQ-SharePoint": {
      "type": "http",
      "url": "https://agent365.svc.cloud.microsoft/agents/tenants/{tenantId}/servers/mcp_SharePointRemoteServer",
      "oauth": {
        "clientId": "{clientId}",
        "callbackPort": 8080
      }
    }
  }
}

Then start Claude Code (or GitHub Copilot CLI 1.0.40+) in that folder, run /mcp, and complete the OAuth sign-in.

VS Code config

Create mcp.json in your workspace:

{
  "WorkIQ-SharePoint": {
    "url": "https://agent365.svc.cloud.microsoft/agents/servers/mcp_SharePointRemoteServer/tenants/{tenantId}",
    "type": "http",
    "oauth": {
      "clientId": "{clientId}"
    }
  }
}

Requires VS Code 1.118 or later. Open the folder, accept the prompt to connect, and authenticate.

Copilot Studio / Microsoft Foundry

In Copilot Studio, add a Tool, select Model Context Protocol, search for Work IQ SharePoint, then create a connection and sign in. In Microsoft Foundry, filter the tool catalog by Provider > Microsoft and connect the Work IQ SharePoint tool.

Notes

  • This server is currently in preview.
  • File upload/download operations are capped at 5MB per file.
  • The older mcp_SharePointListsTools server is deprecated for new connections starting March 13, 2026; use mcp_SharePointRemoteServer instead.
Use Cases
  • Let an agent discover SharePoint sites by name (findSite), then enumerate lists and document libraries to summarize where team content lives
  • Have an agent read a small policy or spec text file from a document library, summarize it, and create an updated version in the same folder
  • Automate list maintenance: create a new tracking list with typed columns, then add or update list items based on conversations or external data
  • Move or copy files between document libraries (across sites) asynchronously and have the agent poll checkOperationStatus until completion
  • Share files, folders, or lists with specific people by email with read or contribute roles, and apply sensitivity labels for compliance
Example Prompts
  • "Find the Marketing site, list its document libraries, and tell me how many files are in the default library."
  • "In the Engineering site, create a new list called Release Checklist with columns Title (text), DueDate (dateTime), Owner (personOrGroup), and Done (boolean)."
  • "Upload release-notes.md from my local clipboard as a text file into the Releases folder in the Engineering document library."
  • "Copy the Q3-Report.docx file from the Finance document library to the Exec Briefings library and notify me when the async copy finishes."
  • "Share the Onboarding folder in the HR site with new.hire@contoso.com as write, with the message 'Welcome aboard'."
Pros
  • Official Microsoft-hosted server, no infrastructure to run; centrally governed through Microsoft 365 admin center and observable via Microsoft Defender
  • Broad tool surface covering sites, document libraries, files, folders, lists, list items, columns, sharing, and sensitivity labels
  • Standard Microsoft Entra OAuth2 with delegated permissions, so actions run as the signed-in user with normal SharePoint ACLs enforced
  • Supersedes the older mcp_SharePointListsTools server with a larger, more consistent set of file and library tools
Limitations
  • File read and write operations are limited to 5MB, so large documents cannot be uploaded or downloaded directly through the server
  • Currently in preview and requires a Microsoft 365 Copilot license plus a registered Entra app, which is a significant setup hurdle for individuals
  • No public source code repository (it is a hosted remote endpoint), so behavior cannot be inspected or self-hosted; tool names and parameters may still change during preview
Alternatives
  • Work IQ OneDrive MCP (mcp_OneDriveRemoteServer): Microsoft's sibling Agent 365 server scoped to a user's personal OneDrive
  • Softeria/ms-365-mcp-server: Community Microsoft 365 MCP server exposing 200+ Microsoft Graph tools across SharePoint, OneDrive, Outlook, Teams, and more
  • pnp/cli-microsoft365-mcp-server: Community MCP server that wraps the PnP CLI for Microsoft 365 to drive SharePoint and tenant operations via natural language