← mcp-onedrive-sharepoint

mcp-onedrive-sharepoint 1.3.0

npm · mcp-onedrive-sharepoint · current release

18
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-18T06:13:32.606Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools 18

ToolCategoryAnnotationsRisk
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#"
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.