Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Zoho Mail

FreeNot checked

MCP server for Zoho Mail — read, search, and send email via Claude. Supports listing inbox, searching by keyword or sender, reading full message bodies, and sen

GitHubEmbed

About

MCP server for Zoho Mail — read, search, and send email via Claude. Supports listing inbox, searching by keyword or sender, reading full message bodies, and sending HTML email.

README

A Model Context Protocol server for Zoho Mail. Lets Claude (or any MCP client) read, search, and send email from a Zoho Mail account without browser automation.

No equivalent exists in the official MCP registry — this fills that gap.

Tools

Tool Description
list_inbox List recent inbox messages — returns sender, subject, date, messageId, folderId
search_emails Search by keyword, sender email, or subject fragment
read_email Read full email body given a messageId and folderId
send_email Send an email from your configured sender address

Prerequisites

Setup

1. Create a Zoho OAuth app

  1. Go to Zoho API Console
  2. Create a Self Client application
  3. Under Generate Code, add these scopes:
    ZohoMail.messages.READ,ZohoMail.messages.CREATE,ZohoMail.folders.READ,ZohoMail.accounts.READ
    
  4. Set expiry to 10 minutes, add a description, click Create
  5. Copy the generated client_id, client_secret, and grant code

2. Exchange the grant code for a refresh token

Run immediately (grant code expires in 10 minutes):

curl -X POST https://accounts.zoho.com/oauth/v2/token \
  -d "grant_type=authorization_code" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "code=YOUR_GRANT_CODE"

Save the refresh_token from the response — it doesn't expire.

3. Get your account ID

curl -X GET https://mail.zoho.com/api/accounts \
  -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN"

Use the accountId value from the first object in data[].

4. Install

git clone https://github.com/SirGreed808/zoho-mail-mcp
cd zoho-mail-mcp
npm install

5. Add to Claude Code

claude mcp add --scope user \
  -e "ZOHO_CLIENT_ID=..." \
  -e "ZOHO_CLIENT_SECRET=..." \
  -e "ZOHO_REFRESH_TOKEN=..." \
  -e "ZOHO_ACCOUNT_ID=..." \
  -e "[email protected]" \
  zoho-mail -- node /absolute/path/to/zoho-mail-mcp/index.js

ZOHO_SENDER must be a verified address or alias on the account.

Environment Variables

Variable Description
ZOHO_CLIENT_ID OAuth app client ID
ZOHO_CLIENT_SECRET OAuth app client secret
ZOHO_REFRESH_TOKEN Long-lived refresh token (from step 2)
ZOHO_ACCOUNT_ID Zoho Mail account ID (from step 3)
ZOHO_SENDER Email address to send from

Notes

  • Access tokens are refreshed automatically — no manual intervention needed
  • read_email requires both messageId and folderId, both returned by list_inbox and search_emails
  • Only REST API — no IMAP/SMTP

License

MIT

from github.com/SirGreed808/zoho-mail-mcp

Installing Zoho Mail

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/SirGreed808/zoho-mail-mcp

FAQ

Is Zoho Mail MCP free?

Yes, Zoho Mail MCP is free — one-click install via Unyly at no cost.

Does Zoho Mail need an API key?

No, Zoho Mail runs without API keys or environment variables.

Is Zoho Mail hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Zoho Mail in Claude Desktop, Claude Code or Cursor?

Open Zoho Mail on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Zoho Mail with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All communication MCPs