Saveformedearai — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Saveformedearai (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
A Model Context Protocol (MCP) server for managing files on S3 storage, supporting AWS S3 and DigitalOcean Spaces.
</div>
npm install -g saveformedearaigit clone https://github.com/bramato/saveForMeDearAi.git
cd saveForMeDearAi
npm install
npm run build
npm install -g .npm install -g saveformedearai
saveformedearai setup{
"mcpServers": {
"saveformedearai": {
"command": "saveformedearai"
}
}
}# Configure S3 drive (global)
saveformedearai setup
# Initialize local project
saveformedearai init
# Start MCP server (automatic when called by Claude)
saveformedearai#### 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"
}
}save_public_fileSave 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"
}save_private_fileSave 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"
}list_filesList 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"
}get_file_urlGet 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"
}Endpoint: https://s3.amazonaws.com
Force Path Style: falseEndpoint: https://[region].digitaloceanspaces.com
Force Path Style: falseEndpoint: https://your-endpoint.com
Force Path Style: true (typically)# 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 startRun saveformedearai setup to configure an S3 drive.
Verify:
Use list_files to verify file names in the bucket.
MIT
Contributions are welcome! Please open an issue or pull request.
Love coding with chill vibes? Support this project by listening to my developer album:
Perfect background music for your coding sessions
<div align="center">
</div>
Every stream helps support the development of free tools like this one! 🙏
</div>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.