icon for mcp server

Email

STDIO

IMAP and SMTP email client for MCP-compatible AI assistants.

mcp-email-server

Release Build status codecov Commit activity License smithery badge

IMAP and SMTP via MCP Server

Installation

Manual Installation

We recommend using uv to manage your environment.

Try uvx mcp-email-server@latest ui to config, and use following configuration for mcp client:

{ "mcpServers": { "zerolib-email": { "command": "uvx", "args": ["mcp-email-server@latest", "stdio"] } } }

This package is available on PyPI, so you can install it using pip install mcp-email-server

After that, configure your email server using the ui: mcp-email-server ui

Environment Variable Configuration

You can also configure the email server using environment variables, which is particularly useful for CI/CD environments like Jenkins. zerolib-email supports both UI configuration (via TOML file) and environment variables, with environment variables taking precedence.

{ "mcpServers": { "zerolib-email": { "command": "uvx", "args": ["mcp-email-server@latest", "stdio"], "env": { "MCP_EMAIL_SERVER_ACCOUNT_NAME": "work", "MCP_EMAIL_SERVER_FULL_NAME": "John Doe", "MCP_EMAIL_SERVER_EMAIL_ADDRESS": "[email protected]", "MCP_EMAIL_SERVER_USER_NAME": "[email protected]", "MCP_EMAIL_SERVER_PASSWORD": "your_password", "MCP_EMAIL_SERVER_IMAP_HOST": "imap.gmail.com", "MCP_EMAIL_SERVER_IMAP_PORT": "993", "MCP_EMAIL_SERVER_SMTP_HOST": "smtp.gmail.com", "MCP_EMAIL_SERVER_SMTP_PORT": "465" } } } }

Available Environment Variables

VariableDescriptionDefaultRequired
MCP_EMAIL_SERVER_ACCOUNT_NAMEAccount identifier"default"No
MCP_EMAIL_SERVER_FULL_NAMEDisplay nameEmail prefixNo
MCP_EMAIL_SERVER_EMAIL_ADDRESSEmail address-Yes
MCP_EMAIL_SERVER_USER_NAMELogin usernameSame as emailNo
MCP_EMAIL_SERVER_PASSWORDEmail password-Yes
MCP_EMAIL_SERVER_IMAP_HOSTIMAP server host-Yes
MCP_EMAIL_SERVER_IMAP_PORTIMAP server port993No
MCP_EMAIL_SERVER_IMAP_SSLEnable IMAP SSLtrueNo
MCP_EMAIL_SERVER_SMTP_HOSTSMTP server host-Yes
MCP_EMAIL_SERVER_SMTP_PORTSMTP server port465No
MCP_EMAIL_SERVER_SMTP_SSLEnable SMTP SSLtrueNo
MCP_EMAIL_SERVER_SMTP_START_SSLEnable STARTTLSfalseNo

For separate IMAP/SMTP credentials, you can also use:

  • MCP_EMAIL_SERVER_IMAP_USER_NAME / MCP_EMAIL_SERVER_IMAP_PASSWORD
  • MCP_EMAIL_SERVER_SMTP_USER_NAME / MCP_EMAIL_SERVER_SMTP_PASSWORD

Then you can try it in Claude Desktop. If you want to intergrate it with other mcp client, run $which mcp-email-server for the path and configure it in your client like:

{ "mcpServers": { "zerolib-email": { "command": "{{ ENTRYPOINT }}", "args": ["stdio"] } } }

If docker is avaliable, you can try use docker image, but you may need to config it in your client using tools via MCP. The default config path is ~/.config/zerolib/mcp_email_server/config.toml

{ "mcpServers": { "zerolib-email": { "command": "docker", "args": ["run", "-it", "ghcr.io/ai-zerolab/mcp-email-server:latest"] } } }

Installing via Smithery

To install Email Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @ai-zerolab/mcp-email-server --client claude

Development

This project is managed using uv.

Try make install to install the virtual environment and install the pre-commit hooks.

Use uv run mcp-email-server for local development.

Releasing a new version

  • Create an API Token on PyPI.
  • Add the API Token to your projects secrets with the name PYPI_TOKEN by visiting this page.
  • Create a new release on Github.
  • Create a new tag in the form *.*.*.

For more details, see here.

Related MCP Server Picks for You

Be the First to Experience MCP Now