About SirGreed808/zoho-mail-mcp
SirGreed808/zoho-mail-mcp is an MCP server in the Search category: mCP server for Zoho Mail. Read, search, and send email from Claude. It has been installed 0 times through Conduid.
Install
git clone https://github.com/SirGreed808/zoho-mail-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about SirGreed808/zoho-mail-mcp
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- ·Scoped permissionsNot checked yet.
README
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
| 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
- A Zoho Mail account
- Node.js 18+
Setup
1. Create a Zoho OAuth app
- Go to Zoho API Console
- Create a Self Client application
- Under Generate Code, add these scopes:
ZohoMail.messages.READ,ZohoMail.messages.CREATE,ZohoMail.folders.READ,ZohoMail.accounts.READ - Set expiry to 10 minutes, add a description, click Create
- Copy the generated
client_id,client_secret, and grantcode
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
| 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_emailrequires bothmessageIdandfolderId, both returned bylist_inboxandsearch_emails- Only REST API — no IMAP/SMTP
License
MIT
README mirrored from the source repository 4 months ago. The original is authoritative.