ai-zerolab/mcp-email-server
If you are the rightful owner of mcp-email-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Email Server provides IMAP and SMTP functionalities via the Model Context Protocol (MCP) Server, facilitating seamless email communication.
mcp-email-server
IMAP and SMTP via MCP Server
- Github repository: https://github.com/ai-zerolab/mcp-email-server/
- Documentation https://ai-zerolab.github.io/mcp-email-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": "john@example.com",
"MCP_EMAIL_SERVER_USER_NAME": "john@example.com",
"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
Variable | Description | Default | Required |
---|---|---|---|
MCP_EMAIL_SERVER_ACCOUNT_NAME | Account identifier | "default" | No |
MCP_EMAIL_SERVER_FULL_NAME | Display name | Email prefix | No |
MCP_EMAIL_SERVER_EMAIL_ADDRESS | Email address | - | Yes |
MCP_EMAIL_SERVER_USER_NAME | Login username | Same as email | No |
MCP_EMAIL_SERVER_PASSWORD | Email password | - | Yes |
MCP_EMAIL_SERVER_IMAP_HOST | IMAP server host | - | Yes |
MCP_EMAIL_SERVER_IMAP_PORT | IMAP server port | 993 | No |
MCP_EMAIL_SERVER_IMAP_SSL | Enable IMAP SSL | true | No |
MCP_EMAIL_SERVER_SMTP_HOST | SMTP server host | - | Yes |
MCP_EMAIL_SERVER_SMTP_PORT | SMTP server port | 465 | No |
MCP_EMAIL_SERVER_SMTP_SSL | Enable SMTP SSL | true | No |
MCP_EMAIL_SERVER_SMTP_START_SSL | Enable STARTTLS | false | No |
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.