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.
| Sample | Stack | Description |
|---|---|---|
| boilerplate-react-azurefunction | React + Azure Functions | Reference boilerplate: SPA with an Azure Functions OBO proxy |
| boilerplate-aspnet-webservice | C# / ASP.NET Core | Reference boilerplate: server-side MVC app with tenant onboarding |
| boilerplate-typescript-react | TypeScript + React + Azure Functions | TypeScript variant of the React boilerplate |
| legal-docs | React + Fluent UI | Legal case management sample |
| project-management | React + Vite + Tailwind + shadcn-ui | Project collaboration app |
| webhook | Node.js | Minimal Graph API change notification listener |
| spe-cmis | TypeScript + Azure Functions | CMIS 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.
| Folder | Description |
|---|---|
| mcp-server | MCP server exposing 60+ SharePoint Embedded tools to AI coding tools (Claude, Cursor, GitHub Copilot) |
| ocr | Webhook-triggered document processing using Azure Document Intelligence |
| copilot | Microsoft Copilot extensibility assets |
| prompts | Prompt templates |
| foundry | Azure AI Foundry assets |
Power Platform
| Folder | Description |
|---|---|
| Canvas Apps | Power Apps canvas app starter kit |
| Copilot Studio | Copilot Studio assets |
| Power Automate | Power Automate flow templates |
Tools
Utilities and API clients for working with SharePoint Embedded.
| Tool | Description |
|---|---|
| api-clients | Postman and Bruno collections for testing Graph API endpoints |
| migrate-from-blob-storage | Console app to migrate files from Azure Blob Storage to SharePoint Embedded |
| powershell | Admin 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.