# Installation & Setup ← Back to Index ## Quick Start > [!TIP] > For Gmail, Outlook, iCloud, Fastmail, Posteo, mailbox.org, GMX, web.de, Yahoo, and ProtonMail Bridge, `USERNAME` + `PASSWORD` is all you need — hosts are auto-detected. ```json { "mcpServers": { "mail": { "command": "npx", "args": ["-y", "@gnidreve/classic-imap-smtp-mcp"], "env": { "USERNAME": "you@example.com", "PASSWORD": "your-app-password", "IMAP_HOST": "imap.example.com", "IMAP_PORT": "993", "SMTP_HOST": "smtp.example.com", "SMTP_PORT": "465" } } } } ``` Place this in your MCP client config: - **Claude Desktop:** `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) / `%APPDATA%\Claude\claude_desktop_config.json` (Windows) - **VS Code / Cursor / Windsurf:** analogous MCP config file ### Claude Code ```bash claude mcp add mail \ -e IMAP_HOST=imap.example.com \ -e SMTP_HOST=smtp.example.com \ -e USERNAME=you@example.com \ -e PASSWORD=your-app-password \ -- npx -y @gnidreve/classic-imap-smtp-mcp ``` ## Client-Specific Snippets See [`docs/clients.md`](clients.md) for Cursor, Windsurf, VS Code, and other client configurations. ## Docker / HTTP Deployment ```bash docker build -t classic-imap-smtp-mcp . docker run --rm -p 3000:3000 \ -e USERNAME=you@example.com \ -e PASSWORD=your-app-password \ -e MCP_TRANSPORT=http \ -e MCP_HOST=0.0.0.0 \ -e MCP_PORT=3000 \ classic-imap-smtp-mcp ``` Available HTTP endpoints by default: - `POST/GET/DELETE /mcp` for Streamable HTTP MCP clients - `GET /sse` plus `POST /messages?sessionId=...` for legacy SSE clients You can override them with: - `--http-endpoint=/custom-mcp` - `--sse-endpoint=/custom-sse` - `--messages-endpoint=/custom-messages` ## Verify It Works After starting the server, ask your AI assistant: > "List my email folders" This triggers `imap_list_mailboxes`. If you see your mailbox folders, everything is connected. --- Next: Configuration →