OneDrive CLI with MCP (Model Context Protocol) integration for file operations on Microsoft OneDrive
This OneDrive CLI MCP server has significant definition quality gaps that limit agent reasoning and safety. While tool names follow verb-noun conventions (df, ls, cat, cp, mkdir, mv, rm, share, version, auth), descriptions are present but lack LLM-optimized detail. Critical issues: (1) Most input schemas lack parameter descriptions entirely, 'remote' and 'src'/'dst' parameters have minimal guidance on expected format or constraints. (2) Output schemas are not documented, agents cannot predict what fields to expect, forcing blind calls. (3) Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) are metadata but not integrated into tool annotations per current MCP spec. (4) The 'auth' tool has an empty input schema but performs a WRITE operation with OAuth side effects, no confirmation pattern or dry-run option. (5) 'rm' is destructive (rm -rf equivalent) but has no confirmation gate. (6) Parameter naming inconsistency: 'remote' vs 'src'/'dst' vs 'path' makes chaining ambiguous. (7) No pagination support documented for 'ls', which could return thousands of files. (8) 'share' accepts freeform 'type' and 'scope' strings instead of enums, inviting hallucination.
Authenticate with OneDrive using OAuth 2.0
Download and output the content of a file from OneDrive
Copy a file from local filesystem or OneDrive to OneDrive
Display OneDrive drive quota information including size, used space, available space, capacity percentage, and deleted items
List files and folders in a OneDrive directory with detailed information including permissions, timestamps, and sharing status
Create a directory in OneDrive
Move or rename a file/folder in OneDrive
auth tool has empty input schema ({}). No parameters documented means agents cannot pass credentials, scopes, or callback configuration. Performs OAuth 2.0 authentication (WRITE operation with side effects) but lacks confirmation pattern or dry-run option.
share tool accepts freeform 'type' and 'scope' string parameters instead of enums. Should enforce type ∈ {view, edit, embed} and scope ∈ {anonymous, organization, users} to prevent hallucinated invalid values.
rm (delete) tool lacks confirmation pattern or dry-run mode. Destructive operations should support a confirm_before_execute pattern to prevent catastrophic agent mistakes.
Output schemas not documented for any tool. Agents cannot predict what fields ls, df, cat will return. Without structured output documentation, agents resort to parsing unstructured text, wasting tokens and increasing hallucination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Delete a file or folder from OneDrive
Create a sharing link for a file or folder in OneDrive
Display the OneDrive CLI version
Parameter descriptions missing or generic. 'remote' and 'path' parameters lack guidance on expected format (relative vs absolute path, trailing slash handling, URL encoding). Agents guess, causing failed calls.
No pagination documented for ls. OneDrive directories can contain thousands of files; unbounded results blow context windows. Tool should support limit and offset/skip parameters and document max result count.
Parameter naming inconsistency. Tools use 'remote', 'path', 'src', 'dst' interchangeably for OneDrive file paths. Creates confusion during tool chaining, agents cannot reliably map outputs to downstream inputs.
Risk metadata (READ_ONLY, WRITE, DESTRUCTIVE) present but not converted to MCP tool annotations. Current spec (2026-07-28) supports readOnlyHint, destructiveHint, idempotentHint in tool definition. Should use these to help clients apply safety policies.
No error recovery guidance documented. If a tool fails (auth denied, path not found, quota exceeded), agents have no instruction on what to try next. Errors should guide: 'User not found. Try search_users() first' or 'Quota exceeded. Remove old files and retry.'