← Discover MCPs and Agents
S
MCPAI & MLMCP Registry

SharePoint-Embedded-Samples

Official samples and developer tools for building on SharePoint Embedded, the document storage API on Microsoft 365. Includes React, TypeScript, and ASP.NET Core boilerplates, an MCP server for AI coding agents, Copilot and Power Platform assets, Postman and Bruno collections, and admin scripts.

Links

README

From the repo.

SharePoint Embedded Samples

A collection of samples, tools, and resources for building applications with SharePoint Embedded — a document storage API built on Microsoft 365.

Custom Apps

Runnable applications demonstrating SharePoint Embedded integration patterns.

SampleStackDescription
boilerplate-react-azurefunctionReact + Azure FunctionsReference boilerplate: SPA with an Azure Functions OBO proxy
boilerplate-aspnet-webserviceC# / ASP.NET CoreReference boilerplate: server-side MVC app with tenant onboarding
boilerplate-typescript-reactTypeScript + React + Azure FunctionsTypeScript variant of the React boilerplate
legal-docsReact + Fluent UILegal case management sample
project-managementReact + Vite + Tailwind + shadcn-uiProject collaboration app
webhookNode.jsMinimal Graph API change notification listener
spe-cmisTypeScript + Azure FunctionsCMIS 1.1 Browser Binding adapter that exposes SharePoint Embedded containers as CMIS repositories for legacy ECM clients

See docker.md for instructions on running the boilerplate apps in VS Code dev containers.

Sample Validation Scripts

Runnable sample applications now expose a root-level validate-sample.ps1 script that performs the sample's local build and an app-appropriate smoke check.

Run the script from the sample root in PowerShell, for example:

./validate-sample.ps1

Samples that require local tenant configuration will automatically downgrade to build-only or startup-only validation when their expected .env, local.settings.json, or appsettings.json files are missing.

Each script ends with a standardized summary line such as VALIDATION_RESULT: PASS, VALIDATION_RESULT: SKIP_CONFIG, or VALIDATION_RESULT: SKIP_ENV so the outcome is easy to parse.

If a sample needs a newer Node.js runtime than the machine default, set VALIDATION_NODE_COMMAND to a compatible node.exe path before running the validator. This is especially useful for Vite-based samples that require a newer Node release than older CRA-based samples.

AI

Samples and assets for integrating SharePoint Embedded with AI tools and services.

FolderDescription
mcp-serverMCP server exposing 60+ SharePoint Embedded tools to AI coding tools (Claude, Cursor, GitHub Copilot)
ocrWebhook-triggered document processing using Azure Document Intelligence
copilotMicrosoft Copilot extensibility assets
promptsPrompt templates
foundryAzure AI Foundry assets

Power Platform

FolderDescription
Canvas AppsPower Apps canvas app starter kit
Copilot StudioCopilot Studio assets
Power AutomatePower Automate flow templates

Tools

Utilities and API clients for working with SharePoint Embedded.

ToolDescription
api-clientsPostman and Bruno collections for testing Graph API endpoints
migrate-from-blob-storageConsole app to migrate files from Azure Blob Storage to SharePoint Embedded
powershellAdmin scripts for container type registration and provisioning

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA). For details, visit https://cla.opensource.microsoft.com.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com.

Trademarks

Authorized use of Microsoft trademarks or logos must follow Microsoft's Trademark & Brand Guidelines.

Collected info

  • 105 stars
  • 59 forks
  • Language: TypeScript
  • Source updated: 9/3/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.