SharePoint Embedded MCP Server — manage container types, containers, and content via any MCP client
Strong foundation with 45 well-named tools following verb_noun convention. Most tools have clear descriptions (avg ~150 chars) and documented parameters. Zod-based schema generation ensures input validation matches advertised JSON Schema. However, output schemas are not explicitly documented in tool definitions, and some parameter descriptions lack format/constraint details. Error handling is present but recovery guidance is inconsistent. Tool composition is excellent, clear chains (e.g., list container types → get details → manage permissions). Security posture is solid (no secrets in params, permission gates on destructive ops). Main gaps: output schema documentation, some parameter descriptions under 50 chars, and inconsistent error messaging across tools.
List Azure resource groups in a given subscription.
List Azure subscriptions available to the signed-in user.
Check the current billing status and metered billing configuration for SharePoint Embedded.
Set up metered billing for SharePoint Embedded (configure Azure subscription and resource group).
Archive or restore a SharePoint Embedded container.
Create a new SharePoint Embedded container of a given container type.
Delete a SharePoint Embedded container. This is a confirmation-gated destructive action.
Output schemas not documented in tool definitions. Tools return data but LLMs cannot see expected response structure, forcing them to infer fields and risk extraction errors.
Some parameter descriptions lack format/constraint details. E.g., 'displayName' in project_app_create lacks length limits; 'appId' lacks format hints (UUID vs opaque string). LLMs may pass invalid values.
content_folder_create has minimal description (60 chars) and unclear schema visibility. Tool definition inferred from define-tool.ts factory but actual schema not shown in source excerpt.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2025-06-18+ | v2 |
List soft-deleted (recycle bin) SharePoint Embedded containers.
Get details of a SharePoint Embedded container.
List all SharePoint Embedded containers of a given container type.
Manage permissions (grant/revoke roles) on a SharePoint Embedded container.
Add or update an application permission grant on a SharePoint Embedded container type registration (Microsoft Graph v1.0). Authorizes one consuming app (by appId) to act on the container type with the given delegated/application permissions. Idempotent upsert — re-running for the same appId overwrites its permissions. Defaults the container type to the provisioned one and the appId to the provisioned owning app; delegated permissions default to `full` and application (app-only) permissions default to `none` (opt-in). Use this to authorize additional apps without overwriting existing grants (unlike container_type_register, which replaces the whole collection).
Remove an application permission grant from a SharePoint Embedded container type registration (Microsoft Graph v1.0), revoking that app's access to the container type. Removing the owning app's grant breaks container operations — pass the appId explicitly.
List the application permission grants on a SharePoint Embedded container type registration (Microsoft Graph v1.0) — the apps authorized on the container type and their delegated/application permissions.
Create a new SharePoint Embedded container type (the billable storage class). Choose between a free trial type (for evaluation) or a standard (pay-as-you-go) type metered through Azure. The trial-vs-standard choice is made at creation and cannot be changed later.
Delete a SharePoint Embedded container type. The container type must have no active containers and its registration must be deleted first.
Get details of a SharePoint Embedded container type.
List all SharePoint Embedded container types owned by the current app.
Grant the owner role on a SharePoint Embedded container type (beta). Enables a user to create containers on the container type via public-client apps.
Revoke the owner role on a SharePoint Embedded container type (beta) from a user.
List users with the owner role on a SharePoint Embedded container type (beta).
Register a SharePoint Embedded container type in the tenant, authorizing it to operate and optionally granting consuming apps permission to access it.
Delete a SharePoint Embedded container type registration (the tenant↔containerType binding). The container type must have no active containers. This is a confirmation-gated destructive action.
Get details of a SharePoint Embedded container type registration (the tenant↔containerType binding).
List all SharePoint Embedded container type registrations in the tenant.
Update a SharePoint Embedded container type (e.g., display name).
Update a SharePoint Embedded container (e.g., display name).
Grant content-plane access (opt-in step-up consent) to enable content operations on a SharePoint Embedded container.
Revoke content-plane access from a SharePoint Embedded container.
Get a preview URL or metadata for a file in a SharePoint Embedded container.
Upload a file to a SharePoint Embedded container.
Create a folder in a SharePoint Embedded container.
Search for content in a SharePoint Embedded container.
Manage sharing (grant/revoke access) on content in a SharePoint Embedded container.
Fetch a specific Microsoft Learn documentation page for SharePoint Embedded.
Search Microsoft Learn documentation for SharePoint Embedded topics.
Create the owning Entra application for a SharePoint Embedded setup (a public-client app with the required SPE delegated permissions). Uses your signed-in Azure CLI session — no first-party app or pre-authorization needed. This is the first provisioning step; the container type and containers are created afterward as this app. Idempotent: re-running does not create a duplicate — once provisioned it resumes by the app's unique client ID (appId), not by display name (Entra display names are not unique).
Clean up and remove SharePoint Embedded resources (containers, container types, owning app).
Hydrate a project configuration file with SharePoint Embedded settings (tenant ID, client ID, container type ID, container ID).
Deploy a SharePoint Embedded project to Azure.
End-to-end provisioning orchestration: create owning app, container type, register it, and optionally create a container and seed sample data.
Run a local development server for a SharePoint Embedded project.
Seed sample data (files, folders) into a SharePoint Embedded container.
Scaffold a new SharePoint Embedded project from a template.
Get the current status of the SharePoint Embedded setup (owning app, container type, registration, billing).
Destructive tools (delete, cleanup, registration_delete) mention confirmation-gating in descriptions but no explicit confirmation mechanism visible in schema (e.g., no 'confirm: true' required param).
Error handling descriptions are generic. Tools state they fail but do not guide recovery (e.g., 'If container not found, try list_containers first'). LLMs lack actionable next steps.