CloudSee Drive MCP Server
Allows management of files and folders in Amazon S3 buckets via the CloudSee Drive interface, including browsing, searching, uploading, downloading, sharing, renaming, moving, deleting, and updating metadata and tags.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CloudSee Drive MCP ServerSearch for files named 'budget' in my drive"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CloudSee Drive MCP server
An open-source Model Context Protocol (MCP) server for CloudSee Drive β connect your CloudSee account (a browser interface for Amazon S3) to Claude Desktop and any MCP-compatible client, and manage your files in natural language.
Browse, search, download, share, upload, organize, and tag your CloudSee Drive files from your AI assistant β every destructive action must be approved through Claude Desktop's own tool-permission prompt before it runs.
π New here? The Installation, Commands & Testing Guide walks through install, configuration, every tool with examples, and how to test against a live API.
Quickstart (β5 minutes)
1. Get an API key
In the CloudSee Drive dashboard, create a public-API key. You'll receive a key id
(looks like AKIAβ¦) and a secret. Copy both β the secret is shown only once.
2. Add the server to Claude Desktop
Open Claude Desktop β Settings β Developer β Edit Config, and add a cloudsee-drive
entry under mcpServers (no install needed β npx fetches it on demand):
{
"mcpServers": {
"cloudsee-drive": {
"command": "npx",
"args": ["-y", "@webapper/cloudsee-drive-mcp"],
"env": {
"CLOUDSEE_API_KEY_ID": "<your key id>",
"CLOUDSEE_API_KEY_SECRET": "<your secret>",
"CLOUDSEE_API_BASE_URL": "https://drive-api.cloudsee.cloud"
}
}
}
}3. Restart Claude Desktop and try it
"List my CloudSee buckets, then show the most recent files."
That's it. The server runs locally on your machine; your API key never leaves it.
Related MCP server: AWS S3 MCP Server
Installation
npx (above) always runs the latest version. To install the cloudsee-drive-mcp binary
globally instead:
npm install -g @webapper/cloudsee-drive-mcpRequires Node.js β₯ 20. No native dependencies β works on macOS, Linux, and Windows.
On macOS that command usually fails the first time with EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@webapper'. That is npm's global prefix pointing at a directory
your user cannot write to β it is not specific to this package, and any system configured the
same way behaves the same. Either install with sudo, or point npm at a prefix you own:
npm config set prefix ~/.npm-global
export PATH="$HOME/.npm-global/bin:$PATH" # add to ~/.zshrc or ~/.bashrc to keep it
npm install -g @webapper/cloudsee-drive-mcpThe npx form in the quickstart above sidesteps this entirely β it needs no global install.
Configuration
All configuration is via environment variables (set them in the Claude Desktop env block,
or a local .env for development β see .env.example).
Variable | Required | Default | Description |
| β | β | Your CloudSee Drive API key id. |
| β | β | The matching API key secret. Never commit this. |
| β |
| API base URL. UAT: |
| β | β | Default drive (S3 bucket) for tool calls that omit |
| β |
|
|
| β |
| Per-request timeout in milliseconds. |
Tools
Most tools operate on one drive (an S3 bucket): pass bucketName, or set
CLOUDSEE_DEFAULT_BUCKET once and omit it. recent_files and list_buckets don't need a drive.
Tool | Description | Access |
| List the account's registered drives | read |
| List all files in a drive (recursive) | read |
| List a folder's contents (indexed view) | read |
| Find files/folders by name keyword | read |
| List recently used files | read |
| Get a file's metadata | read |
| Get a file's S3 tags | read |
| Get a temporary pre-signed download URL | download |
| Create a shareable, time-limited link | download |
| Upload a local file (single or multipart) | write |
| Create a folder | write |
| Rename a file/folder | write Β· confirm |
| Move (or copy) a file/folder | write Β· confirm (move) |
| Duplicate a file | write |
| Permanently delete objects | delete Β· confirm |
| Update a file's metadata | write Β· confirm |
| Un-archive a Glacier object | write Β· confirm |
list_files ids are not stable β don't use them for mutation
list_files lists straight from storage and mints a new object id on every call. Never pass
that id to rename_file, move_file, update_metadata, or delete_files. Use search_files,
browse_folder, or recent_files instead β their StorageId is a persisted id from the search
index and stays stable across calls.
Destructive operations require confirmation
Tools marked confirm (delete, rename, move, update-metadata, restore) use two-step
confirmation: the first call returns a preview and makes no changes; the model must call
again with confirm: true to proceed. The two-step call itself is filled in by Claude, not by
you β it is not the actual approval gate.
The real gate is Claude Desktop's own tool-permission prompt, which appears before any tool call runs. Four things worth knowing about it:
Denying it genuinely stops the operation β the tool is never invoked with
confirm: true.Approving one destructive call does not approve a different one. Approving a
rename_filecall does not pre-approve a laterdelete_filescall β each call is gated independently."Allow for this task" is the prompt's default button, and once clicked it covers that tool for the rest of the current chat β later calls to the same tool in the same conversation won't prompt again. Choose "Allow once" to review every call individually.
This is still a client-side safety prompt β the CloudSee API authorizes every operation server-side; confirmation is not the security boundary.
Security
Your API key id + secret are read from the environment and held only in this local process. The server never logs the secret, never returns it in tool output, and never writes it to a file. All diagnostics go to stderr (stdout is the MCP transport).
File downloads/shares return short-lived pre-signed URLs, never AWS credentials.
Rotating an API key issues a new key id and secret together and revokes the old id immediately β update both
CLOUDSEE_API_KEY_IDandCLOUDSEE_API_KEY_SECRETafter rotating; see GUIDE.md Β§8 Troubleshooting.Report vulnerabilities per
SECURITY.md. Never paste a real key/secret into an issue.
Status & known limitations
This wraps CloudSee Drive's public API (the /v1/* gateway).
Almost every tool needs a drive (
bucketName, orCLOUDSEE_DEFAULT_BUCKET). Without one, drive-scoped tools return a clear "specify a drive" message.list_bucketsreturns the drives your key can access β use it to discover drive names.browse_folder/search_filesuse the search-indexed view and can return empty for un-indexed content β uselist_filesfor a complete, reliable listing of a drive.Write/delete tools require an API key whose scopes include
drive:write/drive:delete. Admin-created keys carry these scopes; keys created under a User role are read/download-only, and the gateway denies out-of-scope calls with a clearinsufficient_scopemessage.rename_file,move_file(and copy) anddelete_filesare queued operations: the tool returns a queueRequestIdand the operation completes in the background, typically within 1β2 minutes β verify by listing.upload_filehandles files of any size: a single pre-signed PUT up to 8 MiB, and multipart (8 MiB parts) above that β chosen automatically.
Development
npm install
npm test # vitest: unit + toolβcontract drift tests
npm run typecheck # tsc --noEmit
npm run lint # eslint
npm run build # tsup β dist/ (ESM, with bin shebang)
npm run sync:contract # regenerate contract/registry.snapshot.json from the API seed
node scripts/smoke.mjs # build first; spawns the server and lists tools over MCPThe contract-drift test (test/contract/drift.test.ts) fails the build if any tool drifts
from the committed API contract snapshot β so tool schemas can't silently diverge from the
real /v1/* surface.
License
MIT Β© Webapper
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables Google Drive file operations (search, read, create, download, etc.) through natural language, compatible with Claude.ai's Drive connector.182MIT
- AlicenseAqualityDmaintenanceEnables browsing S3 buckets and objects, and generating secure presigned URLs for downloads and uploads, through natural language commands in MCP clients like Claude Desktop.3103MIT
- AlicenseAqualityBmaintenanceEnables advanced file system operations such as file read/write, directory management, search, archiving, and file watching through natural language.16162MIT
- Alicense-qualityDmaintenanceEnables management of Google Drive files, Docs, Sheets, and Slides through natural language using MCP, with support for file operations, search, and shared drives.9MIT
Related MCP Connectors
Search, browse, and read your Dropbox files. Find documents by name or content, list folders, andβ¦
Securely search and manage workspace context files for AI agents and teams.
File uploads for AI agents. Upload, list, and manage files. No signup required.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/webapper-services/cloudsee-drive-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server