Zoho Mail MCP Server
Integrates with Zoho Mail API to provide email management (send, receive, search, organize), organization administration (domains, users, groups), and productivity tools (tasks, bookmarks, notes) for Zoho Mail accounts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zoho Mail MCP ServerSend an email to alice@example.com about project update"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zoho Mail MCP Server
A comprehensive Model Context Protocol (MCP) server for integrating with Zoho Mail API, providing seamless email management, organization administration, and productivity features through AI assistants like Claude.
🚀 Features
Core Email Functions
Send & Receive: Send emails with/without attachments, list and search emails
Email Management: Mark as read/unread, move between folders, delete emails
Content Access: Get full email content and manage email threads
Organization Management
Domain Management: Add, verify, and manage domains with DNS settings
User Administration: Add users, manage permissions and storage limits
Security: IP allowlists, spam management, and audit logging
Productivity Tools
Folders & Labels: Create and organize email folders and labels
Tasks: Manage group and personal tasks
Bookmarks: Save and organize important links
Notes: Create and manage notes within groups
Advanced Features
Multi-region Support: Automatically adapts to different Zoho regions (.com, .in, .eu, etc.)
Structured Responses: All API responses are structured with consistent error handling
Comprehensive Logging: Detailed logging for debugging and monitoring
Related MCP server: IMAP Email MCP Server
📋 Prerequisites
Python 3.8 or higher
Nango account with Zoho Mail integration configured
Zoho Mail account with appropriate permissions
🛠️ Installation
Clone the repository
git clone <repository-url> cd zoho-mail-mcp-serverInstall dependencies
pip install -r requirements.txtSet up environment variables Create a
.envfile in the project root:NANGO_CONNECTION_ID=your_connection_id NANGO_INTEGRATION_ID=your_integration_id NANGO_BASE_URL=https://api.nango.dev NANGO_SECRET_KEY=your_nango_secret_key
⚙️ Configuration
Nango Setup
Create a Nango Account
Visit Nango and create an account
Set up a new integration for Zoho Mail
Configure Zoho Mail Integration
In Nango dashboard, create a new Zoho Mail integration
Configure the required scopes:
ZohoMail.messages.ALLZohoMail.folders.ALLZohoMail.accounts.READZohoMail.organization.ALL(for admin functions)
Get Connection Details
Create a connection in Nango
Note down your connection ID, integration ID, and secret key
Ensure your connection config includes the correct extension (e.g.,
{'extension': 'in'})
Environment Variables
Variable | Description | Required |
| Your Nango connection identifier | ✅ |
| Your Nango integration identifier | ✅ |
| Nango API base URL | ✅ |
| Your Nango secret key | ✅ |
🚀 Usage
Starting the Server
python zoho_mail_mcp.pyThe server will start and automatically detect your Zoho region based on your Nango configuration.
Using with Claude Desktop
Add to Claude Desktop Configuration
Edit your Claude Desktop config file (usually located at
~/.claude/claude_desktop_config.json):{ "mcpServers": { "zoho-mail": { "command": "python", "args": ["/path/to/your/zoho_mail_mcp.py"], "env": { "NANGO_CONNECTION_ID": "your_connection_id", "NANGO_INTEGRATION_ID": "your_integration_id", "NANGO_BASE_URL": "https://api.nango.dev", "NANGO_SECRET_KEY": "your_nango_secret_key" } } } }Restart Claude Desktop
Start Using
You can now use natural language commands with Claude:
"Send an email to john@example.com with subject 'Meeting Tomorrow'" "List my recent emails" "Create a new folder called 'Projects'" "Show me all users in my organization"
📚 Available Functions
Authentication
get_nango_auth_info()- Get current authentication status and user info
Email Management
send_email()- Send email with basic optionssend_email_with_attachments()- Send email with file attachmentslist_emails()- List emails in account or specific foldersearch_emails()- Search emails with custom parametersget_email_content()- Get full email contentmark_emails_as_read()/mark_emails_as_unread()- Change read statusmove_emails()- Move emails between foldersdelete_email()- Delete specific email
Folder & Label Management
create_folder()/delete_folder()- Manage email foldersget_all_folders()/get_folder_details()- Retrieve folder informationcreate_label()/update_label()/delete_label()- Manage email labels
Organization Management
get_organization_details()- Get organization informationadd_domain()/verify_domain()- Domain managementadd_user()/get_all_users()- User administrationcreate_group()/get_all_groups()- Group management
Security & Compliance
add_allowed_ips()/get_allowed_ips()- IP allowlist managementget_login_history()- Access login audit logsget_audit_records()- Get detailed audit records
Productivity Tools
add_task()/get_all_tasks_in_group()- Task managementcreate_bookmark()/get_all_bookmarks()- Bookmark managementcreate_note()/edit_note()- Note management
🌍 Multi-Region Support
The server automatically detects your Zoho region from Nango configuration:
Global (.com):
https://mail.zoho.com/apiIndia (.in):
https://mail.zoho.in/apiEurope (.eu):
https://mail.zoho.eu/apiChina (.com.cn):
https://mail.zoho.com.cn/api
No manual configuration needed - the server adapts automatically!
🔧 Troubleshooting
Common Issues
1. Authentication Errors
Error: Authentication failed: No access token foundVerify your Nango environment variables are correct
Check that your Nango connection is active and not expired
Ensure your Zoho Mail integration has the required scopes
2. Wrong Region/Extension
Error: HTTP 404: Not FoundCheck your Nango connection config includes the correct extension
Verify you're using the right Zoho region for your account
3. Permission Errors
Error: HTTP 403: ForbiddenEnsure your Zoho account has the necessary permissions
For organization functions, you need admin privileges
Check that required scopes are granted in Nango
Debug Mode
Enable detailed logging by setting the log level:
logging.basicConfig(level=logging.DEBUG)Testing Connection
Use the authentication info function to test your setup:
# This will show your current auth status
auth_info = get_nango_auth_info()
print(f"Connected as: {auth_info.user_email}")
print(f"Region: {auth_info.extension}")
print(f"Scopes: {auth_info.scopes}")📖 API Response Format
All functions return structured ApiResponse objects:
{
"success": bool, # Whether operation succeeded
"data": dict, # Response data from Zoho API
"error": str, # Error message if any
"status_code": int # HTTP status code
}🤝 Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
Issues: Open an issue on GitHub for bugs or feature requests
Documentation: Check the Zoho Mail API Documentation
Nango Help: Visit Nango Documentation for authentication issues
🏗️ Roadmap
Real-time email notifications via webhooks
Email template management
Advanced search filters
Bulk operations support
Calendar integration
Mobile push notifications setup
Made with ❤️ for seamless Zoho Mail integration
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ampcome-mcps/zoho-mail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server