Labsco
MCP SERVER

MCP Sharepoint (aisuru)

by memori-ai

Read and write SharePoint documents and folders through Microsoft Graph — with no local filesystem access.

Office Suites & Cloud File Storage
Summary
Delegated mode is the one that keeps a user's permissions intact.

In application mode every request carries the app's own Graph rights, so whatever the registration was granted is what the agent can reach, for everybody. Delegated mode passes the signed-in user's token instead, and SharePoint's own permissions apply — which is usually what you want when several people share the agent. Two documented limits to plan around: partial document updates are not supported (an update replaces the whole file), and files over 4MB need upload sessions, which are not implemented yet.

What it is

A SharePoint server built for agents rather than for people. Every operation goes through Microsoft Graph with deterministic inputs and outputs, and the server has no access to the local filesystem — a document arrives as content, not as a path.

What you get
  • Folders — `getFolders` lists them at a path, `createFolder` adds one, `deleteFolder` removes an empty one, `getFolderTree` returns the structure
  • Documents — `getDocuments` lists them, `getDocumentContent` reads PDF, Word, Excel and PowerPoint content, `uploadDocument` adds text or binary, `updateDocumentContent` replaces a whole file, `deleteDocument` removes one
  • `searchDocumentsByKeywords` finds documents without walking the tree
  • Two authentication modes on the same tools, selected per request with `authMode`: `application` acts with the app's own Graph permissions, `delegated` acts as the signed-in user
  • Paths use forward slashes on every platform, including Windows
Requirements

Node.js, a Microsoft 365 tenant, and an app registered in Microsoft Entra ID. Published on npm as @memori.ai/mcp-sharepoint version 1.2.0. The recommended Graph permissions are `Sites.Read.All`, `Sites.ReadWrite.All`, `Files.Read.All` and `Files.ReadWrite.All`; both application and delegated permissions are supported. In application mode each request carries `tenantId`, `clientId` and `clientSecret`; in delegated mode it carries `accessToken` from the user's login. Either way it also needs `siteId`, `driveId` and `listId`, which the README walks you through obtaining with three Graph calls.

Setup effort

One command plus a key — npx -y mcp-sharepoint, then supply credentials