{"id":"09991483-875f-4ab2-bb8b-f14d05b00be6","slug":"titan-email-mcp","kind":"mcp","name":"titan-email-mcp","summary":"MCP server connecting Claude (or any MCP client) to a Titan Email mailbox over IMAP/SMTP — including Titan mailboxes resold through GoDaddy.","owner":"qmmughal","repoUrl":"https://github.com/qmmughal/titan-email-mcp","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-09T12:42:08.000Z","addedAt":"2026-10-14T05:57:02.378Z","logoUrl":"https://avatars.githubusercontent.com/u/9343060?u=4a58c80fd84ccfad2a5b15b0e61678d5286a9709&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["productivity","developer-tools","cloud-infra"],"tags":["ai-agent","claude","claude-code","claude-desktop","email","godaddy","imap","nodejs"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":true,"reviewed":false,"syncedAt":"2026-10-17T18:33:49.623Z","sample":false,"url":"https://conduits.dev/tools/titan-email-mcp","language":"TypeScript","transports":["stdio"],"install":{"npm":"titan-email-mcp"},"requirements":{"env":[{"name":"TITAN_EMAIL","secret":false,"required":true,"description":"Your Titan Email mailbox address, e.g. you@yourdomain.com"},{"name":"TITAN_PASSWORD","secret":true,"required":true,"description":"Your Titan Email password (use an app-specific password if your provider offers one)"},{"name":"TITAN_PROVIDER","secret":false,"required":false,"description":"IMAP/SMTP host preset: \"titan\" (default) for native Titan Email, or \"godaddy\" if your domain and mailbox were purchased through GoDaddy"},{"name":"TITAN_FROM_NAME","secret":false,"required":false,"description":"Display name shown on outgoing mail"},{"name":"TITAN_ALLOW_SEND","secret":false,"required":false,"description":"Set to \"false\" to disable send_email and sending replies (read + draft-only mode)"},{"name":"TITAN_SENT_FOLDER","secret":false,"required":false,"description":"Folder name sent-mail copies are appended to"},{"name":"TITAN_DRAFTS_FOLDER","secret":false,"required":false,"description":"Folder name drafts are saved to"}],"upstreamMayCharge":false},"tools":null,"readme":"# Titan Email MCP\n\n[![npm version](https://img.shields.io/npm/v/titan-email-mcp.svg)](https://www.npmjs.com/package/titan-email-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/titan-email-mcp.svg)](https://www.npmjs.com/package/titan-email-mcp)\n[![CI](https://github.com/qmmughal/titan-email-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/qmmughal/titan-email-mcp/actions/workflows/ci.yml)\n[![license](https://img.shields.io/npm/l/titan-email-mcp.svg)](LICENSE)\n\nConnect Claude — Desktop, Code, Cursor, or any [MCP](https://modelcontextprotocol.io) client — directly to a **Titan Email** mailbox, so it can read, search, triage, and send mail on your behalf.\n\nPackage: [npmjs.com/package/titan-email-mcp](https://www.npmjs.com/package/titan-email-mcp) · Source: [github.com/qmmughal/titan-email-mcp](https://github.com/qmmughal/titan-email-mcp) · Listed on the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.qmmughal/titan-email-mcp) as `io.github.qmmughal/titan-email-mcp`, and on [Smithery](https://smithery.ai/servers/qmmughal/titan-email-mcp)\n\nTitan Email (the mailbox product bundled with many domain registrars, including **GoDaddy**) has no public REST API. This server bridges that gap by talking to Titan's standard **IMAP** and **SMTP** endpoints instead, so your AI assistant gets real mailbox access without any vendor integration work.\n\n**Contents:** [Why use this](#why-use-this) · [Supported providers](#supported-providers) · [Tools](#tools) · [Quick start](#quick-start) · [GoDaddy users — ready-to-paste config](#godaddy-users--ready-to-paste-config) · [Configuration](#configuration) · [Security notes](#security-notes) · [Troubleshooting](#troubleshooting) · [Development](#development) · [Contributing](#contributing) · [License](#license)\n\n## Why use this\n\n- **Your inbox becomes an agent tool.** Ask Claude to summarize unread mail, draft replies in your voice, triage by sender, or find \"that invoice from last March\" — in plain English, in the same conversation you're already having.\n- **✅ Tested and confirmed working with GoDaddy-hosted Titan mailboxes.** If you bought your domain and mailbox through GoDaddy, your email is very likely running on Titan's infrastructure under the hood. One `TITAN_PROVIDER` setting handles the different server hostnames — see [Supported providers](#supported-providers).\n- **Safe by default.** Sending is gated behind `TITAN_ALLOW_SEND` (default **on**, but trivially switched **off**) so you can run Claude in read-only / draft-only mode until you trust it.\n- **No middleman service.** Credentials go straight from your MCP client's local config to Titan's own IMAP/SMTP servers over TLS. Nothing is proxied through a third party, cached, or logged to disk.\n- **One process, ten focused tools.** No bloated API surface — just the operations you actually do in a mailbox (see [Tools](#tools) below).\n- **Published on npm.** Run it with `npx titan-email-mcp` — no cloning or building required for everyday use.\n- **Discoverable.** Listed on the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.qmmughal/titan-email-mcp) and on [Smithery](https://smithery.ai/servers/qmmughal/titan-email-mcp), so MCP clients and directories that browse those registries can find and install it directly.\n\n## Supported providers\n\nTitan Email is used directly (`imap.titan.email` / `smtp.titan.email`) and resold under other brands with different hostnames. Set `TITAN_PROVIDER` to pick the right defaults — no need to remember hostnames:\n\n| `TITAN_PROVIDER` | IMAP host | SMTP host | Use when... |\n|---|---|---|---|\n| `titan` (default) | `imap.titan.email` | `smtp.titan.email` | You signed up for Titan Email directly, or your registrar just says \"Titan Email\". |\n| `godaddy` | `imap.secureserver.net` | `smtpout.secureserver.net` | Your domain **and mailbox** were purchased through GoDaddy. |\n\n`godaddy` has been tested against a live GoDaddy-hosted Titan mailbox and confirmed working.\n\nIf your reseller uses yet another hostname, leave `TITAN_PROVIDER` unset and override `TITAN_IMAP_HOST` / `TITAN_IMAP_PORT` / `TITAN_SMTP_HOST` / `TITAN_SMTP_PORT` directly — check your provider's welcome email or webmail settings page for the exact values. Explicit host/port variables always win over the preset.\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `test_connection` | Verifies IMAP + SMTP login without touching any mail. **Run this first.** |\n| `list_folders` | Folders with message / unread counts. |\n| `list_emails` | Latest emails in a folder (optionally unread only). |\n| `search_emails` | Filter by from, to, subject, text, date range, unread. |\n| `read_email` | Full message by UID: headers, text body, attachment list. |\n| `send_email` | Send new mail (copy saved to Sent). Disabled when `TITAN_ALLOW_SEND=false`. |\n| `reply_email` | Threaded reply / reply-all, or save the reply as a draft instead of sending. |\n| `save_draft` | Save to Drafts without sending — always available, even in read-only mode. |\n| `move_email` | Move messages to another folder (Archive, Trash, etc.). |\n| `set_flags` | Mark read/unread, flag/unflag. |\n\n## Quick start\n\n**1. Enable IMAP/SMTP access** — in Titan webmail (or your reseller's equivalent, e.g. GoDaddy's Email & Office settings): **Settings → Enable Titan on other apps**. This is required; without it, logins from this server will be rejected even with the correct password.\n\n**2. Get the server** — either works, pick one:\n\n- **npx (no install step)** — your MCP client runs `npx titan-email-mcp` directly; npm fetches it on first use and caches it. This is the path used in the config examples below.\n- **Clone and build**, if you want to read/modify the source first:\n  ```bash\n  git clone https://github.com/qmmughal/titan-email-mcp.git\n  cd titan-email-mcp/titan-mcp\n  npm install\n  npm run build\n  ```\n  This produces `dist/index.js` — point your client's `args` at its **absolute path** instead of using `npx`.\n\n**3. Register it with your MCP client** — pick your client below, plug in your credentials, then restart the client.\n\n**4. Verify.** In a new conversation, ask Claude to run `test_connection`. You should get back `\"status\": \"ok\"` for both `imap` and `smtp`. If not, see [Troubleshooting](#troubleshooting).\n\n### Claude Desktop\n\nEdit your `claude_desktop_config.json` ([config file location](https://modelcontextprotocol.io/quickstart/user)):\n\n```json\n{\n  \"mcpServers\": {\n    \"titan-email\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"titan-email-mcp\"],\n      \"env\": {\n        \"TITAN_EMAIL\": \"you@yourdomain.com\",\n        \"TITAN_PASSWORD\": \"your-password\",\n        \"TITAN_PROVIDER\": \"titan\",\n        \"TITAN_FROM_NAME\": \"Your Name\",\n        \"TITAN_ALLOW_SEND\": \"false\"\n      }\n    }\n  }\n}\n```\n\nBuilt from source instead? Swap `\"command\": \"npx\", \"args\": [\"-y\", \"titan-email-mcp\"]` for `\"command\": \"node\", \"args\": [\"/absolute/path/to/titan-email-mcp/titan-mcp/dist/index.js\"]`.\n\n### Claude Code\n\n```bash\nclaude mcp add titan-email --scope user \\\n  -e TITAN_EMAIL=you@yourdomain.com \\\n  -e TITAN_PASSWORD=your-password \\\n  -e TITAN_PROVIDER=titan \\\n  -e TITAN_FROM_NAME=\"Your Name\" \\\n  -e TITAN_ALLOW_SEND=false \\\n  -- npx -y titan-email-mcp\n```\n\nUse `--scope project` instead of `--scope user` to make it available only inside one repo (written to `.mcp.json`, safe to share with a team since it carries no secrets by itself — just don't commit real credentials into it).\n\n### GoDaddy users — ready-to-paste config\n\nIf your domain **and mailbox** were purchased through GoDaddy, your email almost certainly runs on Titan's infrastructure under GoDaddy's own hostnames, not Titan's. This has been tested end-to-end against a live GoDaddy-hosted Titan mailbox — you don't need to look those hostnames up yourself; just use `TITAN_PROVIDER=godaddy` and everything else works exactly the same as above:\n\n**Claude Desktop** (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"titan-email\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"titan-email-mcp\"],\n      \"env\": {\n        \"TITAN_EMAIL\": \"you@yourdomain.com\",\n        \"TITAN_PASSWORD\": \"your-godaddy-mailbox-password\",\n        \"TITAN_PROVIDER\": \"godaddy\",\n        \"TITAN_FROM_NAME\": \"Your Name\",\n        \"TITAN_ALLOW_SEND\": \"false\"\n      }\n    }\n  }\n}\n```\n\n**Claude Code:**\n\n```bash\nclaude mcp add titan-email --scope user \\\n  -e TITAN_EMAIL=you@yourdomain.com \\\n  -e TITAN_PASSWORD=your-godaddy-mailbox-password \\\n  -e TITAN_PROVIDER=godaddy \\\n  -e TITAN_FROM_NAME=\"Your Name\" \\\n  -e TITAN_ALLOW_SEND=false \\\n  -- npx -y titan-email-mcp\n```\n\nBefore either one works, enable IMAP/SMTP access in GoDaddy's **Email & Office** settings (same \"allow other apps\" toggle mentioned in step 1 above — GoDaddy's webmail may label it slightly differently than Titan's own). Then run `test_connection` to confirm. If `godaddy` doesn't work for your specific plan, your mailbox may be on a different GoDaddy backend — check **Email & Office → Settings → Email Setup** in your GoDaddy dashboard for the exact IMAP/SMTP hostnames and override `TITAN_IMAP_HOST`/`TITAN_SMTP_HOST` directly (see [Configuration](#configuration)).\n\n### Cursor and other MCP clients\n\nAny client that supports the standard `mcpServers` JSON shape (`command` / `args` / `env`) works the same way — use the Claude Desktop block above as a template and drop it into that client's MCP config file.\n\n## Configuration\n\nAll configuration is environment variables passed through your MCP client's server config — never command-line flags or files on disk.\n\n| Variable | Required | Default | Notes |\n|---|---|---|---|\n| `TITAN_EMAIL` | yes | — | Full mailbox address. |\n| `TITAN_PASSWORD` | yes | — | Use an app-specific password if your provider offers one. |\n| `TITAN_PROVIDER` | no | `titan` | `titan` or `godaddy` — see [Supported providers](#supported-providers). |\n| `TITAN_IMAP_HOST` / `TITAN_IMAP_PORT` | no | from provider preset | Override for other resellers. |\n| `TITAN_SMTP_HOST` / `TITAN_SMTP_PORT` | no | from provider preset | Override for other resellers. |\n| `TITAN_FROM_NAME` | no | *(none)* | Display name on outgoing mail. |\n| `TITAN_ALLOW_SEND` | no | `true` | Set `false` to disable `send_email` / sending replies — `save_draft` and draft-only replies still work. |\n| `TITAN_SENT_FOLDER` | no | `Sent` | Folder name sent-mail copies are appended to. |\n| `TITAN_DRAFTS_FOLDER` | no | `Drafts` | Folder name drafts are saved to. |\n\nRun `list_folders` once after setup to confirm the exact Sent/Drafts folder names your mailbox uses — some providers localize or rename them.\n\n## Security notes\n\n- **Start read-only.** Set `TITAN_ALLOW_SEND=false` until you've watched Claude use the mailbox and trust the behavior. You can flip it on later with no code changes.\n- **Credentials live only in your MCP client's local config**, passed as environment variables to this process. They are never written to disk by this server, logged, or sent anywhere except Titan's own IMAP/SMTP servers over TLS.\n- **Prefer an app-specific password** over your main account password if your provider supports one (check webmail security settings).\n- **Each tool call opens a short-lived IMAP session** and closes it immediately after — nothing is cached or kept connected between calls.\n- This server has no telemetry, no analytics, and no network calls other than to the IMAP/SMTP hosts you configure.\n\n## Troubleshooting\n\n| Symptom | Likely cause |\n|---|---|\n| `test_connection` → `imap.status: \"failed: ... Authentication failed\"` | IMAP/SMTP access isn't enabled on the account yet, or the password is wrong. Re-check Settings → Enable Titan on other apps. |\n| Works for GoDaddy mailbox, fails with default settings | Set `TITAN_PROVIDER=godaddy`. |\n| GoDaddy mailbox still fails with `TITAN_PROVIDER=godaddy` | Your plan may use a different GoDaddy backend than `imap.secureserver.net`. Check **Email & Office → Settings → Email Setup** in your GoDaddy dashboard for the exact hostnames and set `TITAN_IMAP_HOST`/`TITAN_SMTP_HOST` directly — see [Configuration](#configuration). |\n| Connection times out | A firewall or VPN is blocking outbound 993/465. Try from a different network to confirm. |\n| Every tool call returns \"Missing TITAN_EMAIL and/or TITAN_PASSWORD\" | Both are missing from the client's `env` block. Tools still appear in the client (by design, so directories can list them), but every call will fail until both are set. |\n| `send_email` returns an error about sending being disabled | `TITAN_ALLOW_SEND` is `false`. Use `save_draft` or `reply_email` with `draft_only: true`, or flip the flag on. |\n\n## Development\n\n```bash\nnpm install\nnpm run build   # tsc -> dist/\nnpm start        # run the built server directly (reads env vars from your shell)\n```\n\nThe server speaks MCP over stdio (`StdioServerTransport`) — it's not an HTTP service, so running it directly just blocks waiting for a client on stdin.\n\n**Releasing a new version** (maintainers): bump `version` in `package.json` (and the matching `version` fields in `server.json`), run `npm run build` to confirm it compiles, commit and push, then `npm publish` from `titan-mcp/`. The package only ships `dist/`, `README.md`, and `LICENSE` (see `files` in `package.json`) — source TypeScript stays GitHub-only. After the npm publish lands, update the [MCP Registry](https://registry.modelcontextprotocol.io) listing with `mcp-publisher publish` (requires `mcp-publisher login github` once per session — see the [registry quickstart](https://modelcontextprotocol.io/registry/quickstart)), then tag a GitHub release (`gh release create vX.Y.Z`) so Smithery's crawler picks up the new version via `smithery.yaml`.\n\n## Contributing\n\nIssues and PRs welcome at [github.com/qmmughal/titan-email-mcp](https://github.com/qmmughal/titan-email-mcp). If you add support for another Titan-based reseller, please add its hostnames to the provider preset table in `src/index.ts` and this README.\n\n## License\n\n[MIT](LICENSE)\n"}