MCP server for IMAP mailboxes: read, search, organise and draft mail — it deliberately cannot send
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add imap-mailbox --env IMAP_HOST='<IMAP_HOST>' --env IMAP_USER='<IMAP_USER>' --env IMAP_PASSWORD='<IMAP_PASSWORD>' -- npx -y @ni-c/imap-mcp~/.codex/config.toml
[mcp_servers.imap-mailbox]
command = "npx"
args = ["-y", "@ni-c/imap-mcp"]
env = { IMAP_HOST = "<IMAP_HOST>", IMAP_USER = "<IMAP_USER>", IMAP_PASSWORD = "<IMAP_PASSWORD>" }
# codex mcp add imap-mailbox --env IMAP_HOST='<IMAP_HOST>' --env IMAP_USER='<IMAP_USER>' --env IMAP_PASSWORD='<IMAP_PASSWORD>' -- npx -y @ni-c/imap-mcp~/.cursor/mcp.json
{
"mcpServers": {
"imap-mailbox": {
"command": "npx",
"args": [
"-y",
"@ni-c/imap-mcp"
],
"env": {
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_USER": "<IMAP_USER>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"imap-mailbox": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ni-c/imap-mcp"
],
"env": {
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_USER": "<IMAP_USER>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"imap-mailbox": {
"command": "npx",
"args": [
"-y",
"@ni-c/imap-mcp"
],
"env": {
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_USER": "<IMAP_USER>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"imap-mailbox": {
"command": "npx",
"args": [
"-y",
"@ni-c/imap-mcp"
],
"env": {
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_USER": "<IMAP_USER>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"imap-mailbox": {
"command": "npx",
"args": [
"-y",
"@ni-c/imap-mcp"
],
"env": {
"IMAP_HOST": "<IMAP_HOST>",
"IMAP_USER": "<IMAP_USER>",
"IMAP_PASSWORD": "<IMAP_PASSWORD>"
}
}
}
}Environment variables
IMAP_HOSTIMAP_USERIMAP_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.