by lionello
Command line interface and MCP for OneDrive
# Add to your Claude Code skills
git clone https://github.com/lionello/onedrive-cliGuides for using mcp servers skills like onedrive-cli.
Last scanned: 7/18/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-18T06:04:03.433Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}onedrive-cli is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by lionello. Command line interface and MCP for OneDrive. It has 167 GitHub stars.
Yes. onedrive-cli passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/lionello/onedrive-cli" and add it to your Claude Code skills directory (see the Installation section above).
onedrive-cli is primarily written in JavaScript. It is open-source under lionello on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh onedrive-cli against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Cross-platform command line interface for OneDrive (Personal)
A Nix flake provides the package and a dev shell with all
dependencies. Run nix develop (or use Direnv's use flake)
for the shell, and nix build / nix run to build or run the CLI. The legacy
shell.nix still works with nix-shell.
After changing package-lock.json, refresh npmDepsHash in flake.nix:
nix run nixpkgs#prefetch-npm-deps -- package-lock.json
From source:
$ git clone https://github.com/lionello/onedrive-cli.git
$ cd onedrive-cli
$ npm install
$ bin/onedrive login
Or use npm:
npm install @lionello/onedrive-cli
Or use nix-env:
nix-env -if https://github.com/lionello/onedrive-cli/archive/master.tar.gz -A package
usage: onedrive COMMAND [arguments]
This little utility supports the following commands:
cat - dumps the contents of a file to stdoutchmod - change sharing permissionscp - copies local file(s) to OneDrive or vice-versadf - shows OneDrive storage usage statsfind - find file(s) or folder(s) by name, optionally separated by NULgrep - full-text search across the drive, listing matching pathshelp - shows list of supported commandsln - create a link to the remote itemlogin - request/store an OAuth access tokenls - list the contents of a foldermcp - run a read-only MCP server over stdiomkdir - create a remote foldermv - move a local file to OneDrive or vice-versarm - delete a file from OneDrive (not implemented)sendmail - send an invitation email for editing to recipientsstat - dump all information for particular file(s)wget - copy a remote URL to OneDrive (server side)onedrive ls Public
onedrive cat Documents/passwords | grep boa
onedrive wget http://mega.com/somehugepublicfile Documents/somehugepublicfile
find * -type f -print0 | xargs -0 -n1 -I{} onedrive cp "./{}" "Shared Favorites/{}"
onedrive find 'Pictures/Camera Roll' -regex 2015 -type f -print0 | xargs -0 onedrive mv -t :/Pictures/2015/
onedrive mcp starts a read-only Model Context Protocol
server over stdio, so an MCP client (Claude, etc.) can browse and read your
OneDrive. It reuses the stored access token, so login first — ideally with
login -r for a read-only token. The server only issues GET requests and
cannot modify the drive. It exposes these tools:
list_onedrive_folder - list the direct children of a foldersearch_onedrive_content - full-text search across the whole drivefind_onedrive_files - recursively find items by name globread_onedrive_file - read a file's contents as textstat_onedrive_item - return full metadata for an itemonedrive_storage - report storage quota for the available drivesRegister it with your MCP client, e.g. in claude_desktop_config.json:
{
"mcpServers": {
"onedrive": {
"command": "onedrive",
"args": ["mcp"]
}
}
}
The onedrive utility needs an access token in order to read/write to your OneDrive storage.
Use theonedrive login command to get the address of the Microsoft login page. After login,
this page will redirect to the file oauthcallbackhandler.html (https://github.com/lionello/onedrive-cli/blob/master/docs/oauthcallbackhandler.html)
and extract the access_token from the URL parameters. Copy-paste this token into the command line.
This will save the token in a file called ~/.onedrive-cli-token. These tokens have a validity of 1 hour.
Currently, a copy will fail if a file with the same it already exists. Change the name of the target, or use other means to delete/rename the existing file in your OneDrive.
You cannot copy folders. Specify a source file instead, or use wildcards.
The target file name cannot be determined from the source path. Specify a target file name.
The cp command supports both local->remote as well as remote->local copy.
To make it clear which path is remote and which is local, either use ./ as a prefix for
the local path, or use :/ as a prefix for the remote path. Either one will suffice.
The chmod command currently only supports -w or -rw. The former tried to downgrade write
shares to read-only, whereas the latter removes all shares for the given item(s). Octal modes are accepted (for example 644, 0700) as well as og-rw or g-w.
rmasync/await