levisnkyyyy-s3
An MCP (Model Context Protocol) server that provides tools for deploying websites directly to AWS S3.
Installation
npm install -g levisnkyyyy-s3
Or install locally in your project:
npm install levisnkyyyy-s3
Configuration
Set the required environment variables:
export AWS_ACCESS_KEY=your-access-key
export AWS_ACCESS_SECRET=your-secret-key
export S3_BUCKET_NAME=your-bucket-name
export AWS_REGION=us-east-1
Usage
Running the MCP Server
If installed globally:
levisnkyyyy-s3
Or run directly with npx:
npx levisnkyyyy-s3
With environment variables:
AWS_ACCESS_KEY=your-key AWS_ACCESS_SECRET=your-secret S3_BUCKET_NAME=your-bucket npx levisnkyyyy-s3
Claude Desktop Configuration
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"levisnkyyyy-s3": {
"command": "npx",
"args": ["levisnkyyyy-s3"],
"env": {
"AWS_ACCESS_KEY": "your-access-key",
"AWS_ACCESS_SECRET": "your-secret-key",
"S3_BUCKET_NAME": "your-bucket-name",
"AWS_REGION": "us-east-1"
}
}
}
}
Available Tools
deploy_website
Deploys a website to S3 by uploading the contents of the dist folder.
Parameters:
website_path
(string, required): Absolute path to the website project directory
Example:
Deploy the website from /home/user/my-react-app
The tool will:
- Automatically append
/dist
to your website path
- Validate the dist directory exists
- Upload all files from the dist folder recursively to S3
- Preserve the directory structure
- Use the original project directory name as the S3 prefix
Features
- Deploys websites by automatically uploading the dist folder
- Uploads entire directories with subdirectories
- Preserves directory structure in S3
- Excludes hidden files and folders (starting with '.')
- Provides detailed upload progress and results
- Shows which files succeeded or failed
- Handles large directories with timeout protection
- Clear error messages for troubleshooting
Error Handling
The server handles various error scenarios:
- Directory not found
- Path is not a directory
- AWS authentication errors
- S3 upload failures for individual files
- Missing environment variables
Requirements
- Node.js 16 or higher
- Valid AWS credentials with S3 write permissions
- An S3 bucket configured for your deployments