Install
$ agentstack add mcp-yangboy91-zoho-mail-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Zoho Mail MCP
[](LICENSE) [](https://www.python.org/) [](https://modelcontextprotocol.io)
A tiny MCP 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
- Sign in at → Security.
- Enable Two-Factor Authentication if it isn't already (required for app
passwords).
- 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
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
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:
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:
{
"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:
{
"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
- Source: 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.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.