sharepoint-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HTTP_HOST | No | HTTP bind host | 0.0.0.0 |
| HTTP_PORT | No | HTTP port | 8000 |
| LOG_LEVEL | No | DEBUG INFO WARNING ERROR | INFO |
| TRANSPORT | No | stdio or http | stdio |
| LOG_FORMAT | No | console or json | console |
| SHP_ID_APP | Yes | Azure AD app client ID | |
| SHP_API_TYPE | No | office365, graph, or graphql | office365 |
| SHP_SITE_URL | Yes | SharePoint site URL | |
| SHP_MAX_DEPTH | No | Max tree depth | 15 |
| SHP_TENANT_ID | Yes | Microsoft tenant ID | |
| SHP_DOC_LIBRARY | No | Subfolder scope (e.g. mcp_server). Empty = entire library | |
| SHP_LEVEL_DELAY | No | Delay (s) between tree levels | 0.5 |
| SHP_LIBRARY_NAME | No | Library name (Office365 REST only; Graph auto-detects) | Shared Documents |
| SHP_ID_APP_SECRET | Yes | Azure AD client secret | |
| SHP_MAX_FOLDERS_PER_LEVEL | No | Folders per batch | 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 |
|---|---|
| List_SharePoint_DocumentsA | List all documents (with metadata) inside a SharePoint folder. For Graph API, use empty string or 'root' for the document library root. For nested folders, use paths like 'Reports' or 'Reports/2024'. |
| Search_SharePointA | Search SharePoint for documents using Keyword Query Language (KQL). Useful for finding files when you don't know their exact folder path. Returns up to row_limit results with metadata. |
| Get_Document_ContentC | Retrieve and decode the content of a SharePoint document. Supports PDF, Word, Excel, and plain-text files. For files in the document library root, use empty string for folder_name. |
| Upload_DocumentA | Upload a new document to a SharePoint folder. Pass content as a UTF-8 string or Base64-encoded bytes. Use empty string for folder_name to upload to document library root. |
| Upload_Document_From_PathA | Upload a local file directly to SharePoint without converting to Base64 first. Use empty string for folder_name to upload to document library root. |
| Update_DocumentB | Overwrite the content of an existing SharePoint document. Use empty string for folder_name for files in document library root. |
| Delete_DocumentB | Permanently delete a document from a SharePoint folder. Use empty string for folder_name for files in document library root. |
| Download_DocumentA | Download a SharePoint document to the local filesystem (with automatic fallback to ./downloads/). Use empty string for folder_name for files in document library root. |
| List_SharePoint_FoldersA | List all sub-folders in a SharePoint directory. Use None/null or empty string for document library root. For Graph API, the root represents the default document library. |
| Get_SharePoint_TreeA | Get a recursive tree view of folders and files starting from a SharePoint directory. Use None/null or empty string for document library root. |
| Create_FolderB | Create a new folder in a SharePoint directory. Use None/null or empty string for parent_folder to create in document library root. |
| Delete_FolderC | Delete an empty folder from SharePoint. Provide the full path to the folder to delete. |
| Get_File_MetadataC | Retrieve all SharePoint list-item metadata fields for a document. |
| Update_File_MetadataB | Update one or more SharePoint list-item metadata fields for a document. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Tools mostly target distinct actions, but Upload_Document and Upload_Document_From_Path have overlapping purposes (both upload, differing only in input format). Download_Document and Get_Document_Content also serve similar retrieval needs, potentially causing confusion for an agent.
Most tools follow a verb_noun pattern (Create_Folder, Delete_Document), but inconsistencies exist: Get_SharePoint_Tree includes 'SharePoint' while others don't; Search_SharePoint lacks a noun. Overall pattern is clear, with minor deviations.
14 tools provide a well-scoped set for SharePoint document management. Each tool serves a distinct operation (CRUD for folders and documents, metadata, search, tree view), with no excess or deficiency.
Basic CRUD and metadata operations are covered, and search and tree view add value. Minor gaps exist: renaming/moving items, updating folder metadata, or deleting non-empty folders are not supported. Still, core workflows are complete.