Zoho Mail MCP

Community Search and web

Read, search and send email with Zoho Mail.

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. zoho-mail-mcp
  2. Tools
  3. Prerequisites
  4. Setup
  5. Environment Variables
  6. Notes
  7. License

zoho-mail-mcp

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

ToolDescription
list_inboxList recent inbox messages — returns sender, subject, date, messageId, folderId
search_emailsSearch by keyword, sender email, or subject fragment
read_emailRead full email body given a messageId and folderId
send_emailSend 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 "ZOHO_SENDER=you@yourdomain.com" \
  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

VariableDescription
ZOHO_CLIENT_IDOAuth app client ID
ZOHO_CLIENT_SECRETOAuth app client secret
ZOHO_REFRESH_TOKENLong-lived refresh token (from step 2)
ZOHO_ACCOUNT_IDZoho Mail account ID (from step 3)
ZOHO_SENDEREmail 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

Frequently asked questions

What is Zoho Mail MCP?

Read, search and send email with Zoho Mail.

How do I install Zoho Mail MCP?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is Zoho Mail MCP open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Zoho Mail MCP?

It is published by SirGreed808. AI.tn lists it but does not maintain or endorse it.

From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.