yt-zoho-mcp
v0.1.3
Published
MCP server for Zoho Mail — search, read, send, and manage messages across folders.
Downloads
121
Maintainers
Readme
yt-zoho-mcp
MCP server for Zoho Mail — search, read, send, and manage messages across folders.
Implements the Model Context Protocol specification: it runs over the stdio transport, speaks JSON-RPC 2.0, negotiates the protocol version on initialize, advertises tools capabilities, and describes each tool with a JSON Schema. Protocol version negotiation is handled by the @modelcontextprotocol/sdk Server class, which defaults to the latest supported version.
Tools
| Tool | Description |
|------|-------------|
| list_messages | List messages in a folder (default: inbox) with search |
| get_message | Fetch the full body of a message |
| send_email | Send an email (plain text or HTML) |
| list_folders | List all folders (inbox, sent, drafts, custom) |
| trash_message | Move a message to Trash |
Setup
1. Create a Zoho Mail API client
Go to the Zoho API Console
Create a Self Client (or server-based app)
Copy the
client_idandclient_secretGenerate an OAuth token with the offline scope to get a
refresh_token:virtualoffice.accounts.read virtualoffice.messages.read virtualoffice.messages.create virtualoffice.messages.update virtualoffice.messages.deleteFind your
account_idvia the Get Accounts endpoint, and note your email address (e.g.[email protected]).
2. Place the credentials
Installing the package creates the config directory ~/.yt-zoho-mcp (named after the npm package, yt-zoho-mcp) automatically via a postinstall script. Drop credentials.json into it:
{
"clientId": "...",
"clientSecret": "...",
"refreshToken": "...",
"accountId": "...",
"email": "[email protected]"
}The server refreshes the access token automatically from refreshToken on every call (and re-refreshes on a 401).
Configuration
| Env var | Default | Description |
|---------|---------|-------------|
| ZOHO_MCP_CONFIG_DIR | ~/.yt-zoho-mcp | Directory holding credentials.json |
MCP host config
opencode
{
"mcp": {
"zoho-mail": {
"type": "local",
"command": ["npx", "yt-zoho-mcp"]
}
}
}Claude Desktop
{
"mcpServers": {
"zoho-mail": {
"command": "npx",
"args": ["yt-zoho-mcp"]
}
}
}License
MIT
