mcp-server-sharepoint
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SP_PROFILE | No | Profile name for multi-tenant token caching. Default: 'default'. | |
| SP_AUTH_MODE | No | Authentication mode: 'device-code' (default) or 'service-principal'. Setting SP_CLIENT_SECRET overrides this. | |
| SP_CLIENT_ID | No | Azure AD app registration client ID. Override the built-in multi-tenant app. | |
| SP_TENANT_ID | No | Azure AD tenant ID. Required when using a custom app registration. | |
| SP_TOKEN_STORE | No | Token storage backend: 'keyring', 'file', or 'encrypted-file'. Default: auto-detect. | |
| SP_TOOL_GROUPS | No | Comma-separated list of tool groups to register (auth, site, drive, list, share, search). Default: all groups. | |
| SP_ALLOW_WRITES | No | Set to 'true' to enable write tools (file checkout/checkin, upload, etc.). Default: 'false'. | |
| SP_CLIENT_SECRET | No | Client secret for service-principal (unattended) authentication. If set, SP_AUTH_MODE is implicitly 'service-principal'. | |
| SP_TOKEN_PASSPHRASE | No | Passphrase for encrypted token storage. Only used when SP_TOKEN_STORE='encrypted-file'. | |
| SP_CHUNKED_UPLOAD_THRESHOLD_MB | No | Threshold in MB above which resumable upload sessions are used. Default: '100'. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sp_auth_beginA | Initiate Microsoft Identity Device Code login for Idempotency: if a pending session already exists for this profile, the existing session is returned unchanged unless force=True (which cancels and restarts). AGENT_INSTRUCTIONS: Present the verification code to the user inside a fenced code block (so it can be copied with one click) and present the verification URL as a plain markdown link on its own line. Do not paraphrase, do not embed the code inside prose, do not wrap the URL in bold. Example: Rationale: in a chat UI, a code inside a fenced block gets a one-click copy button; a bare URL becomes clickable; bold-wrapped links and inline codes do not. |
| sp_auth_statusA | Return the current sign-in state for
Recently-terminal sessions ( AGENT_INSTRUCTIONS: When status='pending', present the verification code to the user inside a fenced code block (so it can be copied with one click) and present the verification URL as a plain markdown link on its own line. Do not paraphrase, do not embed the code inside prose, do not wrap the URL in bold. Same format as sp_auth_begin. |
| sp_site_listA | Discover SharePoint sites the signed-in user has access to. |
| sp_site_followed_listA | List sites the signed-in user has marked as Followed in SharePoint. Useful 'my SharePoint' entry point for an agent starting from the user's curated list rather than guessing site URLs. Not available in service-principal auth mode (no signed-in user) — falls back to a clear error there. Read-only. |
| sp_site_drive_listA | List all document libraries (drives) on a SharePoint site — default Shared Documents plus Site Assets, Style Library, and any custom libraries. |
| sp_site_page_listA | List all modern SharePoint Pages (Site Pages) on a site. Returns each page's id, name (filename), title, web_url, description, page_layout, thumbnail_web_url, last_modified, last_modified_by. Read-only. |
| sp_site_page_readA | Fetch a single SharePoint Page including its canvasLayout (sections, columns, web parts) as JSON. page_url shape: https:///sites//SitePages/.aspx. Read-only. |
| sp_site_trash_listA | List items in the SharePoint site's recycle bin. Returns each item's id, name, size, deleted_date_time, deleted_from_location (original folder), and deleted_by (display name). Read-only. NOTE: Microsoft Graph does not expose a restore action at site scope; items currently have to be restored via the SharePoint web UI. This tool uses Graph's /beta endpoint — the site-level recycle-bin API has not yet been promoted to v1.0. Schema may shift; we'll migrate when v1.0 lands. |
| sp_drive_folder_listA | List the immediate children of a SharePoint or OneDrive folder. |
| sp_drive_file_readA | Download a SharePoint file's content to a local temp file. Returns the absolute path of the temp file with the original extension preserved. Read-only — does NOT acquire a checkout/lock; use sp_drive_file_checkout for that. |
| sp_drive_file_historyA | List a SharePoint file's version history. Returns up to |
| sp_drive_file_version_getA | Download a specific historical version of a SharePoint file to a local temp file. Returns the absolute path. Use sp_drive_file_history first to find the version_id you want. Read-only — does NOT acquire a checkout, does NOT modify SharePoint state. |
| sp_drive_change_trackA | Return items in a SharePoint site's default drive that changed since the optional |
| sp_drive_checkout_listA | List the files this MCP profile currently has checked out (acquired via sp_drive_file_checkout). Returns each entry's original path, when checkout happened, and the local working-copy path. Read-only. With verify=True, additionally queries SharePoint to confirm the server-side lock state (server_locked + lock_holder fields); costs one Graph call per registry entry. Default verify=False is sub-second, registry-only — sp_drive_file_checkin's ETag round-trip catches divergence at write time. |
| sp_list_listA | List all SharePoint Lists on a site (Issue Trackers, Tasks, Custom Lists, etc.). Returns each list's id, name, display_name, web_url, description, created_date_time, last_modified_date_time, and template (e.g. 'genericList', 'documentLibrary', 'tasks'). Read-only. |
| sp_list_column_listA | Return the column definitions (schema) of a SharePoint List. Each column: id, display_name, name (internal), description, required, hidden, read_only, indexed, type (text/choice/number/boolean/datetime/person/lookup/calculated/hyperlink/currency). list_url shape: https:///sites//Lists/. Read-only. |
| sp_list_item_listA | List items in a SharePoint List with their full fields expanded. |
| sp_list_item_getA | Fetch a single SharePoint List item by id with all expanded fields. Returns id, created_date_time, last_modified_date_time, created_by, last_modified_by, web_url, fields (dict). list_url shape: https:///sites//Lists/. Read-only. |
| sp_share_link_listA | List existing sharing links on a SharePoint file or folder. Each entry: id (use with sp_share_link_revoke), web_url (the share URL), type (view/edit/embed/blocksDownload), scope (organization/anonymous/users), roles, expiration, has_password. Read-only — does not create or revoke. Use sp_share_link_create to make a new link, sp_share_link_revoke to remove one. SCOPE: only sharing-link permissions. For ALL access grants (direct user/group assignments, inherited site permissions, plus sharing links) use sp_share_permission_list instead. |
| sp_share_permission_listA | List who has access to a SharePoint file, folder, or site. Pass a site URL for site-level permissions or any item URL (file or folder) for that item's permissions. Returns each permission entry with id, roles (read/write/owner), grantee ({type, display_name, email, link_type, link_scope}), and inherited flag. Read-only — does not modify any permission state. Use this to answer 'who can see/edit this?' before suggesting changes or sharing links. SCOPE: all permission grants — direct user/group assignments, inherited site permissions, AND sharing links. To list only sharing links (and get their |
| sp_search_queryA | Search SharePoint document libraries the signed-in user has access to. Returns matching files with name, path, webUrl, last-modified date, and author. Read-only. Filter args: site (URL), folder (path), file_type (extension like 'docx'), modified_after (ISO date). SCOPE: currently driveItem-only (files in document libraries). Searching List items or sites by content is not yet supported — use sp_list_item_list with an OData filter for List-item lookup, sp_site_list for site discovery. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/XMV-Solutions-GmbH/sharepoint-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server