npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

wasabi-mcp

v1.0.0

Published

MCP server for Wasabi S3-compatible cloud storage operations

Readme

Wasabi MCP Server

A Model Context Protocol (MCP) server for interacting with Wasabi cloud storage. This server provides tools for managing Wasabi buckets and objects through the MCP interface, enabling integration with Claude Code and other MCP-compatible applications.

Features

Bucket Operations

  • list_buckets - List all buckets in your Wasabi account
  • create_bucket - Create a new bucket
  • delete_bucket - Delete a bucket (must be empty)
  • get_bucket_location - Get the region/location of a bucket

Object Operations

  • list_objects - List objects in a bucket with optional prefix filtering
  • upload_object - Upload files to a bucket
  • download_object - Download objects from a bucket
  • delete_object - Delete objects from a bucket
  • get_object_metadata - Get metadata for an object (size, content type, last modified, etc.)
  • generate_presigned_url - Generate temporary signed URLs for object access

Installation

From NPM

npm install -g wasabi-mcp

From Source

git clone https://github.com/danielrosehill/Wasabi-S3-MCP.git
cd Wasabi-S3-MCP
npm install
npm run build

Configuration

Environment Variables

The server requires the following environment variables:

| Variable | Description | Example | |----------|-------------|---------| | WASABI_ACCESS_KEY_ID | Your Wasabi access key | AKIAIOSFODNN7EXAMPLE | | WASABI_SECRET_ACCESS_KEY | Your Wasabi secret key | wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY | | WASABI_REGION | Wasabi region | eu-central-2 | | WASABI_ENDPOINT | Wasabi endpoint URL | s3.eu-central-2.wasabisys.com |

Wasabi Regions

Common Wasabi regions and their endpoints:

| Region | Endpoint | |--------|----------| | us-east-1 | s3.us-east-1.wasabisys.com | | us-east-2 | s3.us-east-2.wasabisys.com | | us-central-1 | s3.us-central-1.wasabisys.com | | us-west-1 | s3.us-west-1.wasabisys.com | | eu-central-1 | s3.eu-central-1.wasabisys.com | | eu-central-2 | s3.eu-central-2.wasabisys.com | | eu-west-1 | s3.eu-west-1.wasabisys.com | | eu-west-2 | s3.eu-west-2.wasabisys.com | | ap-northeast-1 | s3.ap-northeast-1.wasabisys.com | | ap-northeast-2 | s3.ap-northeast-2.wasabisys.com | | ap-southeast-1 | s3.ap-southeast-1.wasabisys.com | | ap-southeast-2 | s3.ap-southeast-2.wasabisys.com |

Usage with Claude Code

Add the server to Claude Code using the claude mcp add command:

claude mcp add wasabi -s user -- npx wasabi-mcp

Then set your environment variables. You can either:

  1. Set in your shell profile (e.g., ~/.bashrc, ~/.zshrc):

    export WASABI_ACCESS_KEY_ID=your_access_key
    export WASABI_SECRET_ACCESS_KEY=your_secret_key
    export WASABI_REGION=eu-central-2
    export WASABI_ENDPOINT=s3.eu-central-2.wasabisys.com
  2. Pass environment variables directly:

    claude mcp add wasabi -s user \
      -e WASABI_ACCESS_KEY_ID=your_access_key \
      -e WASABI_SECRET_ACCESS_KEY=your_secret_key \
      -e WASABI_REGION=eu-central-2 \
      -e WASABI_ENDPOINT=s3.eu-central-2.wasabisys.com \
      -- npx wasabi-mcp

Verify Installation

claude mcp list

You should see wasabi listed with a connected status.

Usage Examples

Once configured, use natural language with Claude Code:

List Buckets

List all my Wasabi buckets

Create a Bucket

Create a new Wasabi bucket called "my-backup"

Upload a File

Upload ~/documents/report.pdf to bucket "my-backup" with key "reports/2025/report.pdf"

Download a File

Download "reports/2025/report.pdf" from bucket "my-backup" to ~/Downloads/

Generate Presigned URL

Generate a presigned URL for "reports/2025/report.pdf" in "my-backup" that expires in 2 hours

List Objects with Prefix

List all objects in "my-backup" bucket that start with "reports/"

API Reference

list_buckets

Lists all Wasabi buckets in your account.

Parameters: None

Returns: Array of bucket objects with names and creation dates


create_bucket

Creates a new Wasabi bucket.

Parameters:

  • bucket_name (string, required): Name of the bucket to create

delete_bucket

Deletes a Wasabi bucket (bucket must be empty).

Parameters:

  • bucket_name (string, required): Name of the bucket to delete

get_bucket_location

Gets the region/location of a bucket.

Parameters:

  • bucket_name (string, required): Name of the bucket

list_objects

Lists objects in a Wasabi bucket.

Parameters:

  • bucket_name (string, required): Name of the bucket
  • prefix (string, optional): Prefix to filter objects
  • max_keys (number, optional): Maximum objects to return (default: 1000)

upload_object

Uploads a file to a Wasabi bucket.

Parameters:

  • bucket_name (string, required): Name of the bucket
  • key (string, required): Object key (path) in the bucket
  • file_path (string, required): Local file path to upload
  • content_type (string, optional): MIME type

download_object

Downloads an object from a Wasabi bucket.

Parameters:

  • bucket_name (string, required): Name of the bucket
  • key (string, required): Object key (path) in the bucket
  • local_path (string, required): Local path to save the file

delete_object

Deletes an object from a Wasabi bucket.

Parameters:

  • bucket_name (string, required): Name of the bucket
  • key (string, required): Object key (path) to delete

get_object_metadata

Gets metadata for an object.

Parameters:

  • bucket_name (string, required): Name of the bucket
  • key (string, required): Object key (path)

Returns: Object metadata (size, content type, last modified, ETag, custom metadata)


generate_presigned_url

Generates a presigned URL for temporary object access.

Parameters:

  • bucket_name (string, required): Name of the bucket
  • key (string, required): Object key (path)
  • expires_in (number, optional): Expiration time in seconds (default: 3600)

Security Notes

  • Never commit credentials to version control
  • Use environment variables or secure credential management
  • Presigned URLs provide temporary access - treat them as sensitive
  • Consider using IAM policies to restrict bucket/object access

Troubleshooting

Server doesn't start

  • Verify all environment variables are set
  • Check that your Wasabi credentials are valid
  • Ensure the endpoint matches your region

Connection errors

  • Verify the endpoint URL is correct for your region
  • Check network connectivity to Wasabi
  • Confirm your credentials have appropriate permissions

Upload/Download fails

  • Verify the file path exists and is accessible
  • Check bucket permissions
  • Ensure the bucket exists

License

MIT

Author

Daniel Rosehill ([email protected])

Contributing

Issues and pull requests welcome at GitHub.