auth_loginStart signing in to Microsoft 365 (OneDrive + SharePoint) via device code. Returns a URL and a short code — show both to the user and tell them to open the URL in a browser and enter the code. Then call auth_status to check whether sign-in completed.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
} | — | | — |
auth_logoutSign out and clear the cached Microsoft account/token for this tool.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
} | — | | — |
auth_statusCheck the current Microsoft sign-in status (idle, pending device-code confirmation, signed in, or error).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
} | — | | — |
check_copy_statusPoll the status of an in-progress copy started by copy_onedrive_to_sharepoint or copy_sharepoint_to_onedrive.Input schema{
"type": "object",
"properties": {
"monitorUrl": {
"type": "string",
"format": "uri",
"description": "The monitorUrl returned by the copy tool"
}
},
"required": [
"monitorUrl"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
copy_onedrive_to_sharepointCopy a file or folder from the signed-in user's OneDrive into a SharePoint document library. This is a server-side Graph copy — bytes never pass through this machine, so it works for large files too. Copying is asynchronous; use the returned monitorUrl with check_copy_status to see when it finishes.Input schema{
"type": "object",
"properties": {
"sourcePath": {
"type": "string",
"description": "Path of the file/folder in OneDrive, relative to root, e.g. 'Reports/2026/q1.xlsx'"
},
"targetDriveId": {
"type": "string",
"description": "Destination document library drive ID (from sharepoint_list_drives)"
},
"targetFolderPath": {
"type": "string",
"default": "",
"description": "Destination folder path inside that library; '' for library root"
},
"newName": {
"type": "string",
"description": "Optional new file name at the destination; defaults to the source name"
}
},
"required": [
"sourcePath",
"targetDriveId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
copy_sharepoint_to_onedriveCopy a file or folder from a SharePoint document library into the signed-in user's own OneDrive. This is a server-side Graph copy — bytes never pass through this machine, so it works for large files too. Copying is asynchronous; use the returned monitorUrl with check_copy_status to see when it finishes.Input schema{
"type": "object",
"properties": {
"sourceDriveId": {
"type": "string",
"description": "Source document library drive ID (from sharepoint_list_drives)"
},
"sourcePath": {
"type": "string",
"description": "Path of the file/folder in that library, relative to its root, e.g. 'Reports/q1.xlsx'"
},
"targetFolderPath": {
"type": "string",
"default": "",
"description": "Destination folder path in OneDrive; '' for OneDrive root"
},
"newName": {
"type": "string",
"description": "Optional new file name at the destination; defaults to the source name"
}
},
"required": [
"sourceDriveId",
"sourcePath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
create_folderCreate a new folder in OneDrive or a SharePoint document library. parentPath must already exist -- unlike upload_file, this does not create ancestor folders automatically.Input schema{
"type": "object",
"properties": {
"parentPath": {
"type": "string",
"default": "",
"description": "Path of the existing parent folder; '' for the drive root"
},
"name": {
"type": "string",
"description": "Name of the new folder"
},
"targetDriveId": {
"type": "string",
"description": "SharePoint document library drive ID (from sharepoint_list_drives). Omit to create it in the signed-in user's own OneDrive instead."
},
"conflictBehavior": {
"type": "string",
"enum": [
"replace",
"rename",
"fail"
],
"default": "fail",
"description": "What to do if a folder with this name already exists at parentPath"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
create_share_linkCreate a sharing link for a file or folder in OneDrive or a SharePoint document library.Input schema{
"type": "object",
"properties": {
"itemPath": {
"type": "string",
"description": "Path of the file/folder to create a link for"
},
"driveId": {
"type": "string",
"description": "SharePoint document library drive ID (from sharepoint_list_drives). Omit to operate on the signed-in user's own OneDrive instead."
},
"type": {
"type": "string",
"enum": [
"view",
"edit"
],
"default": "view",
"description": "Whether the link grants view-only or edit access"
},
"scope": {
"type": "string",
"enum": [
"anonymous",
"organization"
],
"description": "Who the link works for. 'anonymous' = anyone with the link (may be disabled by tenant policy); 'organization' = only people in the same org (SharePoint/OneDrive for Business only, not personal accounts). Omit to use the account's/tenant's default sharing policy."
}
},
"required": [
"itemPath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
delete_itemDelete a file or folder from OneDrive or a SharePoint document library. Graph sends deleted items to the drive's recycle bin rather than destroying them immediately, so this is recoverable within the tenant's retention window.Input schema{
"type": "object",
"properties": {
"itemPath": {
"type": "string",
"description": "Path of the file/folder to delete"
},
"driveId": {
"type": "string",
"description": "SharePoint document library drive ID (from sharepoint_list_drives). Omit to operate on the signed-in user's own OneDrive instead."
}
},
"required": [
"itemPath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
download_fileDownload a file from OneDrive or a SharePoint document library to local disk. Streams directly from Graph's download URL rather than buffering the whole file in memory, so it works for large files too.Input schema{
"type": "object",
"properties": {
"sourcePath": {
"type": "string",
"description": "Path of the file relative to the drive root, e.g. 'Reports/2026/q1.xlsx'"
},
"localPath": {
"type": "string",
"description": "Absolute local path to write the file to; parent directories are created if needed"
},
"sourceDriveId": {
"type": "string",
"description": "SharePoint document library drive ID (from sharepoint_list_drives). Omit to download from the signed-in user's own OneDrive instead."
}
},
"required": [
"sourcePath",
"localPath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
move_itemMove and/or rename a file or folder within OneDrive or a single SharePoint document library. Provide newParentPath to move it, newName to rename it, or both. Graph does not support moving items across different drives this way -- use copy_onedrive_to_sharepoint / copy_sharepoint_to_onedrive for that.Input schema{
"type": "object",
"properties": {
"itemPath": {
"type": "string",
"description": "Current path of the file/folder to move/rename"
},
"newParentPath": {
"type": "string",
"description": "Path of the destination folder, to move the item there; omit to leave it in place"
},
"newName": {
"type": "string",
"description": "New name for the item; omit to keep its current name"
},
"driveId": {
"type": "string",
"description": "SharePoint document library drive ID (from sharepoint_list_drives). Omit to operate on the signed-in user's own OneDrive instead."
}
},
"required": [
"itemPath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
onedrive_list_folderList files/folders in the signed-in user's own OneDrive at the given path. Use '' or '/' for the root. Returns { items, truncated } -- items is capped at 1000; if truncated is true, narrow the path or use onedrive_search instead of trying to page through the rest.Input schema{
"type": "object",
"properties": {
"path": {
"type": "string",
"default": "",
"description": "Folder path relative to OneDrive root, e.g. 'Reports/2026'"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
onedrive_searchSearch the signed-in user's OneDrive for files/folders matching a query string. Returns { items, truncated } -- items is capped at 1000.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search text, e.g. file name or keyword"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
sharepoint_list_drivesList document libraries (drives) within a SharePoint site. Get siteId from sharepoint_list_sites.Input schema{
"type": "object",
"properties": {
"siteId": {
"type": "string",
"description": "SharePoint site ID, as returned by sharepoint_list_sites"
}
},
"required": [
"siteId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
sharepoint_list_folderList files/folders inside a SharePoint document library (drive) at a given path. Get driveId from sharepoint_list_drives. Returns { items, truncated } -- items is capped at 1000.Input schema{
"type": "object",
"properties": {
"driveId": {
"type": "string",
"description": "Document library drive ID"
},
"path": {
"type": "string",
"default": "",
"description": "Folder path relative to the library root; '' for root"
}
},
"required": [
"driveId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
sharepoint_list_sitesSearch/list SharePoint sites the signed-in user can access. Omit query to list broadly.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional search text, e.g. site name"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
sharepoint_searchSearch a SharePoint document library for files/folders matching a query string. Get driveId from sharepoint_list_drives. Returns { items, truncated } -- items is capped at 1000.Input schema{
"type": "object",
"properties": {
"driveId": {
"type": "string",
"description": "Document library drive ID"
},
"query": {
"type": "string",
"description": "Search text, e.g. file name or keyword"
}
},
"required": [
"driveId",
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |
upload_fileUpload a file from local disk into OneDrive or a SharePoint document library. Uses a chunked upload session, so file size isn't limited to Graph's 4MB simple-upload cap -- works for large files too. Intermediate destination folders are created automatically if they don't exist yet.Input schema{
"type": "object",
"properties": {
"localPath": {
"type": "string",
"description": "Absolute path to the local file to upload"
},
"destPath": {
"type": "string",
"description": "Destination path relative to the drive root, e.g. 'Reports/2026/q1.xlsx'"
},
"targetDriveId": {
"type": "string",
"description": "SharePoint document library drive ID (from sharepoint_list_drives). Omit to upload to the signed-in user's own OneDrive instead."
},
"conflictBehavior": {
"type": "string",
"enum": [
"replace",
"rename",
"fail"
],
"default": "replace",
"description": "What to do if a file already exists at destPath"
}
},
"required": [
"localPath",
"destPath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | | — |