# Zoho Mail Mcp

> A tiny MCP server to read, search, send, and reply to Zoho Mail over IMAP/SMTP. Works with any MCP client.

- **Type:** MCP server
- **Install:** `agentstack add mcp-yangboy91-zoho-mail-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [yangboy91](https://agentstack.voostack.com/s/yangboy91)
- **Installs:** 0
- **Category:** [Communication](https://agentstack.voostack.com/c/communication)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [yangboy91](https://github.com/yangboy91)
- **Source:** https://github.com/yangboy91/zoho-mail-mcp
- **Website:** https://github.com/yangboy91/zoho-mail-mcp#readme

## Install

```sh
agentstack add mcp-yangboy91-zoho-mail-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Zoho Mail MCP

[](LICENSE)
[](https://www.python.org/)
[](https://modelcontextprotocol.io)

A tiny [MCP](https://modelcontextprotocol.io) server that lets an AI assistant
read, search, send, and reply to mail on a Zoho mailbox over standard IMAP/SMTP.
No OAuth — it authenticates with a Zoho **application-specific password**.

MCP is an open standard, so this works with **any MCP-compatible client** —
Claude Code, Claude Desktop, Cursor, Cline, Continue, and others. Setup is the
same everywhere: point your client at `.venv/bin/python server.py` and pass the
two env vars. Client-specific examples are in
[§5 Register with an MCP client](#5-register-with-an-mcp-client).

## Tools

| Tool | What it does |
|------|--------------|
| `search_emails` | Search/list a folder, newest first (free-text + unread filter) |
| `read_email`    | Read one message's full plain-text body by UID |
| `send_email`    | Send a new message (to / cc / bcc) |
| `reply_email`   | Reply to a message, preserving subject + threading headers |

## 1. Generate a Zoho app-specific password

1. Sign in at  → **Security**.
2. Enable **Two-Factor Authentication** if it isn't already (required for app
   passwords).
3. Under **App Passwords**, click **Generate New Password**, name it
   `zoho-mcp`, and copy the password Zoho shows you.

> Use this generated password — **not** your normal login password.
> IMAP/SMTP access must also be enabled in Zoho Mail → Settings → Mail Accounts.

## 2. Install

```bash
git clone https://github.com/yangboy91/zoho-mail-mcp.git
cd zoho-mail-mcp
python3 -m venv .venv
./.venv/bin/pip install -r requirements.txt
```

## 3. Set credentials

The server reads these env vars:

| Var | Required | Default |
|-----|----------|---------|
| `ZOHO_EMAIL` | yes | — |
| `ZOHO_APP_PASSWORD` | yes | — |
| `ZOHO_IMAP_HOST` | no | `imap.zoho.com` |
| `ZOHO_SMTP_HOST` | no | `smtp.zoho.com` |
| `ZOHO_SMTP_PORT` | no | `465` |

> Non‑`.com` data centers: use `imap.zoho.eu` / `smtp.zoho.eu`,
> `imap.zoho.in` / `smtp.zoho.in`, etc.

## 4. Test the connection

```bash
ZOHO_EMAIL="you@example.com" \
ZOHO_APP_PASSWORD="xxxx-xxxx-xxxx" \
./.venv/bin/python test_connection.py
```

You should see your 5 most recent inbox subjects and `SMTP ... ok`.

## 5. Register with an MCP client

Every client needs the same three things: the **command**
(`.venv/bin/python`), the **server path** (`server.py`), and the two **env
vars**. Use absolute paths — most clients don't run from the repo directory.

### Claude Code

Run from the cloned repo directory:

```bash
claude mcp add zoho-mail \
  --env ZOHO_EMAIL="you@example.com" \
  --env ZOHO_APP_PASSWORD="xxxx-xxxx-xxxx" \
  -- "$(pwd)/.venv/bin/python" "$(pwd)/server.py"
```

Then restart Claude Code and ask: *"search my Zoho inbox for invoices"*.

### Claude Desktop

Add to `claude_desktop_config.json` under `mcpServers`:

```json
{
  "mcpServers": {
    "zoho-mail": {
      "command": "/absolute/path/to/zoho-mail-mcp/.venv/bin/python",
      "args": ["/absolute/path/to/zoho-mail-mcp/server.py"],
      "env": {
        "ZOHO_EMAIL": "you@example.com",
        "ZOHO_APP_PASSWORD": "xxxx-xxxx-xxxx"
      }
    }
  }
}
```

### Cursor

Add to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (per-project) — the
block is identical to Claude Desktop's:

```json
{
  "mcpServers": {
    "zoho-mail": {
      "command": "/absolute/path/to/zoho-mail-mcp/.venv/bin/python",
      "args": ["/absolute/path/to/zoho-mail-mcp/server.py"],
      "env": {
        "ZOHO_EMAIL": "you@example.com",
        "ZOHO_APP_PASSWORD": "xxxx-xxxx-xxxx"
      }
    }
  }
}
```

### Any other MCP client (Cline, Continue, custom, …)

This is a standard **stdio** MCP server. Whatever the client's config format,
give it these values:

| Field | Value |
|-------|-------|
| Transport | `stdio` |
| Command | `/absolute/path/to/zoho-mail-mcp/.venv/bin/python` |
| Args | `["/absolute/path/to/zoho-mail-mcp/server.py"]` |
| Env | `ZOHO_EMAIL`, `ZOHO_APP_PASSWORD` (+ optional host overrides) |

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [yangboy91](https://github.com/yangboy91)
- **Source:** [yangboy91/zoho-mail-mcp](https://github.com/yangboy91/zoho-mail-mcp)
- **License:** MIT
- **Homepage:** https://github.com/yangboy91/zoho-mail-mcp#readme

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-yangboy91-zoho-mail-mcp
- Seller: https://agentstack.voostack.com/s/yangboy91
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
