saveformedearai
Provides tools for uploading, listing, and managing files on AWS S3 buckets, including public and private file handling with temporary URLs.
Supports DigitalOcean Spaces as an S3-compatible storage provider for file management operations.
Allows integration with MinIO or other S3-compatible storage services for file upload, listing, and URL generation.
Click on "Deploy 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., "@saveformedearaiupload the file README.md to my documents"
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.
SaveForMeDearAI
A Model Context Protocol (MCP) server for managing files on S3 storage, supporting AWS S3 and DigitalOcean Spaces.
Features
🚀 Upload public and private files with metadata
📋 List files with descriptions and information
🔗 Immediate URL access - URLs returned directly in upload response
🌍 Global and local configuration for projects
⚡ Multi-provider support (AWS S3, DigitalOcean Spaces, S3-compatible)
🎯 Claude Code integration via MCP
Related MCP server: S3-Compatible 3D Storage MCP Server
Installation
Global Installation
npm install -g saveformedearaiInstallation from Source
git clone https://github.com/bramato/saveForMeDearAi.git
cd saveForMeDearAi
npm install
npm run build
npm install -g .Configuration
Quick Setup (2 steps)
Install and configure:
npm install -g saveformedearai
saveformedearai setupAdd to Claude MCP config:
{
"mcpServers": {
"saveformedearai": {
"command": "saveformedearai"
}
}
}Available Commands
# Configure S3 drive (global)
saveformedearai setup
# Initialize local project
saveformedearai init
# Start MCP server (automatic when called by Claude)
saveformedearaiConfiguration Structure
Global Configuration
Saved in ~/.saveformedearai/config.json:
{
"defaultDrive": "my-aws-drive",
"drives": {
"my-aws-drive": {
"endpoint": "https://s3.amazonaws.com",
"region": "us-east-1",
"accessKeyId": "YOUR_ACCESS_KEY",
"secretAccessKey": "YOUR_SECRET_KEY",
"bucketName": "my-bucket"
}
}
}Local Configuration
Saved in .claude/saveformedearai.json:
{
"driveName": "my-project-drive",
"projectDirectory": "my-project",
"s3Config": {
"endpoint": "https://nyc3.digitaloceanspaces.com",
"region": "nyc3",
"accessKeyId": "YOUR_DO_KEY",
"secretAccessKey": "YOUR_DO_SECRET",
"bucketName": "my-space"
}
}Available MCP Tools
1. save_public_file
Save a file as public and return the permanent URL.
{
"filePath": "/path/to/file.jpg",
"filename": "optional-custom-name.jpg", // optional
"description": "File description" // optional
}Response:
{
"success": true,
"url": "https://bucket.endpoint.com/file.jpg",
"key": "file.jpg",
"urlType": "permanent",
"isPublic": true,
"message": "File uploaded successfully as public file. URL: https://bucket.endpoint.com/file.jpg",
"driveName": "my-drive"
}2. save_private_file
Save a file as private.
{
"filePath": "/path/to/private-file.pdf",
"filename": "document.pdf",
"description": "Private document"
}Response:
{
"success": true,
"key": "document.pdf",
"url": "https://presigned-url...",
"temporaryUrl": "https://presigned-url...",
"urlType": "temporary",
"expiresIn": 3600,
"expirationDate": "2024-01-15T11:30:00Z",
"message": "File uploaded successfully as private file. Temporary URL provided (expires in 1 hour).",
"driveName": "my-drive"
}3. list_files
List all files with metadata.
{
"prefix": "images/" // optional, filter by prefix
}Response:
{
"success": true,
"files": [
{
"filename": "image.jpg",
"description": "Sample photo",
"uploadDate": "2024-01-15T10:30:00Z",
"isPublic": true,
"size": 1024000,
"contentType": "image/jpeg",
"sizeFormatted": "1.02 MB"
}
],
"count": 1,
"driveName": "my-drive"
}4. get_file_url
Get URL for a file (permanent for public, temporary for private).
{
"filename": "document.pdf",
"expiresIn": 3600 // optional, seconds (max 7 days)
}Response for public file:
{
"success": true,
"url": "https://bucket.endpoint.com/document.pdf",
"urlType": "permanent",
"isPublic": true,
"filename": "document.pdf"
}Response for private file:
{
"success": true,
"url": "https://presigned-url...",
"urlType": "temporary",
"isPublic": false,
"expiresIn": 3600,
"expirationDate": "2024-01-15T11:30:00Z"
}Provider Support
AWS S3
Endpoint: https://s3.amazonaws.com
Force Path Style: falseDigitalOcean Spaces
Endpoint: https://[region].digitaloceanspaces.com
Force Path Style: falseS3-Compatible (Minio, etc.)
Endpoint: https://your-endpoint.com
Force Path Style: true (typically)Development
# Clone repository
git clone https://github.com/bramato/saveForMeDearAi.git
cd saveForMeDearAi
# Install dependencies
npm install
# Build
npm run build
# Development with watch
npm run dev
# Test locally
npm startTroubleshooting
Error "No configuration found"
Run saveformedearai setup to configure an S3 drive.
S3 connection error
Verify:
Correct credentials
Correct endpoint for provider
Bucket exists and is accessible
Adequate permissions (read/write for bucket)
File not found
Use list_files to verify file names in the bucket.
License
MIT
Contributing
Contributions are welcome! Please open an issue or pull request.
🎵 Support the Developer
Love coding with chill vibes? Support this project by listening to my developer album:
"Code Chill: Loops of Relaxation" 🎧
Perfect background music for your coding sessions
Every stream helps support the development of free tools like this one! 🙏
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for AWS S3 integration using FastMCP and boto3. This server provides access to S3 functionality through MCP-compatible tools.101MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for managing and publishing 3D files using S3-compatible storage providers like Cloudflare R2 and AWS S3. It enables users to upload models, generate interactive 3D viewers, and manage temporary access via presigned URLs.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables users to upload local files to S3-compatible storage and retrieve shareable public URLs. Files are automatically organized into unique UUID-based folders to prevent naming conflicts while preserving original filenames.13MIT
- AlicenseAqualityDmaintenanceMCP server for AWS S3 — list buckets, browse objects, upload/download files, and generate presigned URLs.7724MIT