ZeptoMail Templates MCP
ZeptoMail Templates MCP
AIエージェント(opencode、Claude Desktop、Cursorなど)が、Zohoアカウント内のすべてのZeptoMailエージェントにわたってメールテンプレートを閲覧・管理できるようにするMCPサーバーです。
このサーバーは、メールの送信、エージェントの作成・削除、Send Mailトークンの公開、ドメインの管理を意図的に行いません。エージェント一覧の読み取りとテンプレートの管理のみを行います。
クイックスタート(ローカル、約5分)
1. サーバーをインストールする
npm i -g zeptomail-mcpこれで、PATHにzeptomail-mcpコマンドが追加されます。ローカルクローン(リポジトリ)から実行したい場合は、この手順をスキップしてください(node /path/to/zeptomail-mcp/dist/src/server.js)。
2. Zoho OAuthアプリを作成する
Zoho APIコンソールを開きます。
サーバーベースのアプリケーションを作成します:
クライアント名:
zeptomailmcp(ハイフン不可 — Zohoが拒否します)ホームページURL:任意、例:
https://github.com/P4rthPat3l/zeptomail-mcp認可リダイレクトURI:
http://localhost:4567/callback
クライアントIDとクライアントシークレットを控えます。
セルフクライアントも利用可能です。リダイレクトURIフィールドがないため、手順2の代わりにそのコード生成タブを使用します(下記のセルフクライアントのセットアップを参照)。
3. リフレッシュトークンを取得する
ZOHO_CLIENT_ID=<your-client-id> ZOHO_CLIENT_SECRET=<your-secret> zeptomail-mcp-loginブラウザでZohoの同意画面が開き、スコープZeptomail.MailAgents.READ + Zeptomail.MailTemplates.Allが表示されます。承認すると、スクリプトがリフレッシュトークンを出力します。
グローバルインストールではなくローカルクローンから実行している場合、同じコマンドは
npm run loginです。
4. MCPホストを設定する
Zohoの認証情報をホスト設定にインラインで渡すか、.envファイルから読み込むことができます(設定ファイル自体にシークレットを含めないため)。どちらでも動作します。いずれかを選択してください。
オプションA — .envファイルから読み込む(推奨)
シークレットを.envファイルに保存します(gitignoreに追加してください — 認証情報です):
# .env
ZOHO_CLIENT_ID=<your-client-id>
ZOHO_CLIENT_SECRET=<your-secret>
ZOHO_REFRESH_TOKEN=<your-refresh-token>
ZOHO_ACCOUNTS_URL=https://accounts.zoho.com次に、--env-fileでサーバーをそのファイルに指定します。パスはホストの作業ディレクトリからの相対パスで解決されます。不明な場合は絶対パスを使用してください。
opencode — opencode.json(または.opencode/opencode.json):
{
"mcp": {
"zeptomail": {
"type": "local",
"command": ["zeptomail-mcp", "--env-file=/absolute/path/to/.env"],
"enabled": true
}
}
}Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"zeptomail": {
"command": "zeptomail-mcp",
"args": ["--env-file=/absolute/path/to/.env"]
}
}
}オプションB — ホスト設定にインラインで記述
opencode — opencode.json(または.opencode/opencode.json):
{
"mcp": {
"zeptomail": {
"type": "local",
"command": ["zeptomail-mcp"],
"enabled": true,
"environment": {
"ZOHO_CLIENT_ID": "...",
"ZOHO_CLIENT_SECRET": "...",
"ZOHO_REFRESH_TOKEN": "...",
"ZOHO_ACCOUNTS_URL": "https://accounts.zoho.com"
}
}
}
}Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"zeptomail": {
"command": "zeptomail-mcp",
"env": {
"ZOHO_CLIENT_ID": "...",
"ZOHO_CLIENT_SECRET": "...",
"ZOHO_REFRESH_TOKEN": "...",
"ZOHO_ACCOUNTS_URL": "https://accounts.zoho.com"
}
}
}
}グローバルインストールではなくローカルクローンから実行する場合
ビルド済みランチャーをnodeで直接実行します。グローバルのzeptomail-mcpコマンドと同じように--env-fileを解析するため、フラグはスクリプトの後に置きます:
opencode(オプションAのenv-file):
["node", "/absolute/path/to/zeptomail-mcp/dist/src/cli.js", "--env-file=/absolute/path/to/.env"]opencode(オプションBのインライン):
["node", "/absolute/path/to/zeptomail-mcp/dist/src/cli.js"]+environmentブロックClaude Desktop:
"command": "node"、"args": [".../dist/src/cli.js", "--env-file=..."](またはenvブロック付きで[".../dist/src/cli.js"]のみ)
5. 使用する
エージェントにツールの呼び出しを依頼します:
「ZeptoMailエージェントを一覧表示して」
「エイリアス
team_inviteのテンプレートを探して」「サンドボックスエージェントのOTPテンプレートを表示して」
Related MCP server: Zoho Mail MCP Server
セルフクライアントのセットアップ
セルフクライアントにはリダイレクトURIがないため、zeptomail-mcp-loginはそのコールバックを受け取れません。代わりに:
APIコンソール → セルフクライアント → コード生成。
スコープ:
Zeptomail.MailAgents.READ,Zeptomail.MailTemplates.All→ CREATE。生成されたコードをコピーして交換します:
curl -X POST https://accounts.zoho.com/oauth/v2/token \
-d "code=<generated code>" \
-d "client_id=<client id>" \
-d "client_secret=<client secret>" \
-d "grant_type=authorization_code" \
-d "redirect_uri=https://api-console.zoho.com/"JSONレスポンスにrefresh_tokenが含まれます。
ツール
MCPツール | 目的 | データ変更 |
| アクセス可能なエージェントと正確なエージェントキー/エイリアスを一覧表示 | いいえ |
| 指定した1つのエージェント内のテンプレートを一覧表示 | いいえ |
| 名前/エイリアス/件名で1つのエージェントまたは全エージェントを検索 | いいえ |
| 1つのエージェントから完全なテンプレートを1件読み取る | いいえ |
| 指定した1つのエージェントにテンプレートを作成 | はい |
| エージェント+古い書き込み保護付きの部分更新 | はい |
| エージェント/名前/タイムスタンプのチェック付きの完全削除 | はい |
書き込みツールには両方が必要です:
サーバー環境に
ZEPTOMAIL_MCP_ALLOW_WRITES=true。個々のツール呼び出しに
confirm=true。
また、すべての書き込みには、最新のzeptomail_list_agents呼び出しからの正確なagentKeyとexpectedAgentNameが必要です。更新/削除にはさらに、現在のテンプレートの安全値(expectedModifiedTime、expectedTemplateName)が必要です。これにより、古い読み取りが新しい編集を上書きすることはありません。
設定リファレンス
変数 | 必須 | デフォルト | 目的 |
| はい | — | Zoho OAuthアプリのクライアントID |
| はい | — | Zoho OAuthアプリのクライアントシークレット |
| はい (stdio) | — | 長期有効なトークン。サーバーはこれから1時間のアクセストークンを生成します |
| いいえ |
| Zohoデータセンター( |
| いいえ |
| ZeptoMail APIのベースURL |
| いいえ |
| 作成/更新/削除を有効にするには |
| いいえ | すべてのエージェント | カンマ区切りの |
| いいえ |
|
|
すべての変数は、プロセス環境変数(ホスト設定で設定)またはサーバーへの--env-file=<path>引数(上記のMCPホストの設定を参照)のいずれかで指定できます。プロセス変数が優先されます。ファイルは未設定の変数のみを補完します。
ホスト型(リモート)モード(OAuth 2.0 + PKCE)
共有/公開MCPエンドポイントの場合、ZEPTOMAIL_MCP_TRANSPORT=httpで実行します。サーバーはOAuth認可サーバーとなり、上流の認可サーバーとしてZohoにプロキシします:
MCP client ⇄ this MCP server (OAuth AS + resource server) ⇄ Zoho (upstream AS) ⇄ ZeptoMail APIZEPTOMAIL_MCP_TRANSPORT=http \
ZEPTOMAIL_MCP_SERVER_URL=https://mcp.example.com \
ZEPTOMAIL_MCP_PORT=3006 \
ZEPTOMAIL_MCP_TOKEN_STORE=/var/lib/zeptomail-mcp/tokens.json \
node dist/src/server.jsクライアントは
/.well-known/oauth-protected-resourceと/.well-known/oauth-authorization-serverでメタデータを検出し、動的に登録し、ブラウザで同意します。サーバーはクライアントのPKCE S256チャレンジと
access_type=offlineをZohoにリダイレクトし、サーバーのZohoクライアントシークレットでコードを交換し、クライアントごとのZohoリフレッシュトークンを保存します(サーバーから外部に出ることはありません)。各ユーザーのツールは、それぞれのZeptoMailアカウントで動作します。
ホスト設定(opencode):
{
"mcp": {
"zeptomail": {
"type": "remote",
"url": "https://mcp.example.com/mcp",
"oauth": {}
}
}
}ホスト型モードの要件:HTTPS(SDKはlocalhost以外の非HTTPS発行者URLを拒否します)、APIコンソールに登録されたZohoコールバックURI(https://mcp.example.com/callback)、永続的なトークンストア。サーバーを再起動すると発行済みトークンが無効になります — クライアントは一度再同意します。
開発
npm install
npm run typecheck
npm test
npm run buildセキュリティに関する注意
エージェントの検出は読み取り専用です。エージェントの作成、APIキーの生成、Send Mailトークンへのアクセスを行うツールはありません。
MCPはメールを送信しません。
ZEPTOMAIL_MCP_ALLOWED_AGENT_KEYSは、OAuthアカウントがより多くを表示できる場合でも、MCPが操作できるエージェントを制限します。リフレッシュトークンは長期有効な認証情報です。サーバー側に保管し、パスワードと同様に扱い、漏洩した場合はZohoコンソールで失効させてください。
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.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to read, search, send, and reply to Zoho Mail via IMAP/SMTP using an application-specific password.1MIT
- AlicenseNot gradedqualityDmaintenanceProvides full access to Zoho Mail accounts, enabling email search, read, send, reply, thread management, folder/label operations, and more via 14 tools.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with email accounts via IMAP and SMTP, supporting mailbox listing, email search, retrieval, sending, and management.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to read, send, search, reply to, and delete emails directly from a Zoho Mail account.5MIT
Related MCP Connectors
Email for AI agents — send, receive as a webhook, manage domains, templates, routing.
Email for AI agents: send mail, manage contacts, automations & webhooks. Zero-DNS first send.
AI agents read & send email, manage mailboxes, domains and webhooks via the QMailing API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/P4rthPat3l/zeptomail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server