CLI to create Fastmail Masked Emails for whenever you need to

npm install -g maskedemail-cli
mise use -g go:github.com/dvcrn/maskedemail-cli@latest
go install github.com/dvcrn/maskedemail-cli@latest
You'll need to create a FastMail API token.
🔒 The only necessary scope is "Masked Email".
Always use unique API tokens with the minimum scope(s) necessary for different purposes.
You can test authentication by running maskedemail-cli -token abcdef12345 session.
Usage of maskedemail-cli:
Flags:
-accountid string
fastmail account id (or MASKEDEMAIL_ACCOUNTID env)
-appname string
the appname to identify the creator (or MASKEDEMAIL_APPNAME env) (default: maskedemail-cli)
-token string
the token to authenticate with (or MASKEDEMAIL_TOKEN env)
Commands:
maskedemail-cli create [-domain "<domain>"] [-desc "<description>"] [-prefix "<prefix>"] [-enabled=true|false (default true)]
maskedemail-cli list [-show-deleted] [-all-fields]
maskedemail-cli enable <maskedemail>
maskedemail-cli disable <maskedemail>
maskedemail-cli delete <maskedemail>
maskedemail-cli update <maskedemail> [-domain "<domain>"] [-desc "<description>"]
maskedemail-cli session
maskedemail-cli version
Example:
$ maskedemail-cli -token abcdef12345 create -domain "facebook.com" -desc "Facebook"
$ maskedemail-cli -token abcdef12345 enable 123@mydomain.com
$ maskedemail-cli -token abcdef12345 disable 123@mydomain.com
$ maskedemail-cli -token abcdef12345 list
Masked Email For Domain Description State
123@mydomain.com facebook.com Facebook disabled
Note that these are based on an earlier version of the CLI.
GitHub release artifacts are built with GoReleaser via .goreleaser.yml and .github/workflows/release.yml.
The npm wrapper package lives in npm/ and downloads the matching GitHub release asset during npm install.
Before publishing, make sure:
npm/package.json version matches the Git tag you will releasev0.1.0)npm/Example:
git tag v0.1.0
git push origin v0.1.0
cd npm && npm publish
For local work in npm/ before a matching GitHub release exists, you can skip the binary download step with MASKEDEMAIL_CLI_SKIP_POSTINSTALL=1.
MIT
JMAP API documentation from jmapio/jmap (Apache 2.0 / Copyright 2016 Fastmail Pty Ltd)
$ claude mcp add maskedemail-cli \
-- python -m otcore.mcp_server <graph>