Skip to main content
Choose an installation method based on your environment and preferences. The server runs as a stdio process and communicates via the Model Context Protocol. The easiest method—no global install required. Uses npx to run the latest version on demand.
npx @bradsjm/mail-imap-mcp-rs@latest
The npm package includes prebuilt binaries for Linux (x64, ARM64), macOS (x64, Apple Silicon), and Windows (x64).

Curl installer

Install a pinned release directly from GitHub Releases. This method downloads and installs the binary for your platform.
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/bradsjm/mail-imap-mcp-rs/releases/download/v0.1.0/mail-imap-mcp-rs-installer.sh | sh
Replace v0.1.0 with the desired version tag. See GitHub Releases for available versions.

Docker

Run the server in a container using the prebuilt multi-arch image from GitHub Container Registry.
# Pull latest image
docker pull ghcr.io/bradsjm/mail-imap-mcp-rs:latest

# Run with environment file
docker run --rm -i --env-file .env ghcr.io/bradsjm/mail-imap-mcp-rs:latest
The Docker container requires an .env file with IMAP credentials. Create one from .env.example before running.

Build from source

Build from source using Rust and Cargo. Requires Rust 1.75 or later.
# Clone repository
git clone https://github.com/bradsjm/mail-imap-mcp-rs.git
cd mail-imap-mcp-rs

# Install binary to ~/.cargo/bin
cargo install --path .

# Run installed binary
mail-imap-mcp-rs

Verify installation

After installation, verify the server is working:
1

Check version

Run the binary with --version flag:
npx @bradsjm/mail-imap-mcp-rs@latest --version
# or if installed globally/via cargo:
mail-imap-mcp-rs --version
2

Test stdio communication

The server communicates over stdin/stdout. When run without configuration, it will wait for MCP messages on stdin.Press Ctrl+C to exit if testing manually.
3

Configure environment

Before using the server, you need to configure at least one IMAP account via environment variables.See the Quick start guide for configuration examples.

Troubleshooting

Binary not found after installation

If the binary isn’t found after cargo install, ensure ~/.cargo/bin is in your PATH:
export PATH="$HOME/.cargo/bin:$PATH"
Add this to your shell profile (.bashrc, .zshrc, etc.) to make it permanent.

Docker permission denied

If you encounter permission errors when running Docker, ensure your user is in the docker group:
sudo usermod -aG docker $USER
Log out and back in for the changes to take effect.

NPM package installation fails

If npm installation fails, ensure you have Node.js 18 or later:
node --version
Update Node.js if needed, then retry the installation.

Next steps

Quick start

Configure your first IMAP account and test the connection

Configuration

Learn about account setup and environment variables

Build docs developers (and LLMs) love