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 |
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
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/ravikant1918/sharepoint-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server