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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@oc-forge/mcmail

v0.1.0

Published

Mailcheap CLI — manage your mail server from the terminal

Readme

mcmail

Mailcheap CLI — manage your mail server from the terminal.

Features

  • 🔐 Secure authentication with token caching
  • 📬 Manage email accounts (list / create / delete / info)
  • 🔀 Manage aliases (list / create / delete)
  • 🌐 List domains
  • 📋 Table or JSON output (--json flag)
  • 🔄 Auto token refresh (if password is cached)
  • 🌍 Environment variable support

Installation

From npm (recommended)

npm install -g mcmail

From source

git clone https://github.com/shazhou-ww/mcmail.git
cd mcmail
npm install
npm run build
npm link

Configuration

Environment variables (highest priority)

| Variable | Description | |------------------|---------------------------------------------------| | MCMAIL_HOST | API host (default: https://mail8.mymailcheap.com) | | MCMAIL_USER | Username for stateless auth | | MCMAIL_PASSWORD| Password for stateless auth |

When MCMAIL_USER and MCMAIL_PASSWORD are set, mcmail authenticates fresh on every call and ignores the credentials file.

Credentials file

After mcmail login, credentials are stored at:

~/.config/mcmail/credentials.json

The file is created with 0600 permissions. It stores:

  • username
  • auth_token (valid 24h)
  • valid_to (UNIX timestamp)
  • password (for auto-refresh)

Usage

Authentication

# Log in interactively
mcmail login

# Show current login status
mcmail whoami

# Log out (clear cached token)
mcmail logout

Account Management

# List all accounts
mcmail accounts list

# List with search
mcmail accounts list --search alice

# Create a MailUser account
mcmail accounts create [email protected] --password "SecurePass123!"

# Create with custom quota
mcmail accounts create [email protected] --password "SecurePass123!" --quota 4096

# Show account details
mcmail accounts info [email protected]

# Delete an account (prompts for confirmation)
mcmail accounts delete [email protected]

# Delete without confirmation prompt
mcmail accounts delete [email protected] --yes

Alias Management

# List all aliases
mcmail aliases list

# Create an alias
mcmail aliases create [email protected] --to [email protected]

# Create alias with multiple recipients
mcmail aliases create [email protected] --to "[email protected],[email protected]"

# Delete an alias
mcmail aliases delete [email protected]

# Delete without confirmation
mcmail aliases delete [email protected] --yes

Domain Management

# List all domains
mcmail domains list

JSON output

Append --json to any command to get machine-readable JSON:

mcmail accounts list --json
mcmail accounts info [email protected] --json
mcmail whoami --json

Password Requirements

Account passwords must:

  • Be at least 12 characters long
  • Contain at least 1 uppercase and 1 lowercase letter
  • Contain at least 1 digit

Examples

# Stateless one-liner (useful in scripts)
MCMAIL_USER=admin MCMAIL_PASSWORD=secret mcmail accounts list --json

# Login and use credentials file
mcmail login
mcmail accounts create [email protected] --password "Deploy-2026-Secure!"
mcmail aliases create [email protected] --to [email protected]
mcmail accounts info [email protected]

Requirements

  • Node.js ≥ 18

License

MIT