~/.cursor/mcp.jsonのmcpServersに、urlをhttps://mcpemails.com/api/mcpとしたエントリを1つ追加します。するとCursorがOAuthでのログインを求めます。APIキーは使いません。
| 項目 | 値 |
|---|---|
| MCPサーバーURL | https://mcpemails.com/api/mcp |
| トランスポート | Streamable HTTP (MCP 2025-06-18) |
| 認証 | OAuth 2.1、PKCE付き認可コード。APIキーは不要です。 |
Cursorはこのサーバーに対して標準のMCP OAuthフローを実行します。RFC 7591の動的クライアント登録で自身を登録するため、クライアントIDを作成する必要はなく、S256による認可コードとPKCEで認可します。クライアントシークレットが送信されることはなく、トークンには同意画面で承認したスコープだけが含まれます。取得したアクセストークンの有効期間は1時間で、自動で更新されます。ダッシュボードの「APIキー」にOAuth:とクライアント名の形で表示され、そこから接続を取り消せます。
MCPEmailsのダッシュボードでGoogleのアプリ パスワードを使ってGmailを接続し、下に示すmcpemailsエントリを~/.cursor/mcp.jsonに追加して、Cursorに求められたらログインします。あとはCursorのエージェントに「昨日Annaが私のGmailに送ってきたバグ報告を探して、修正は今日リリースされると返信の下書きを作って」のように頼みます。エージェントはGmailを検索してスレッドを読み、返信をGmailの下書きとして保存するので、送信前に内容を確認できます。
手順は4つです。最初の2つはどのクライアントでも同じで、残りはこのクライアント固有の手順です。
mcpemails.comで新規登録し(カード登録は不要)、ダッシュボードの「受信トレイ」でメールボックスを接続します。受信トレイ1つはずっと無料です。
すべてのプロジェクトで使うなら~/.cursor/mcp.jsonを、1つのプロジェクトだけなら.cursor/mcp.jsonを編集します。
下のエントリをmcpServersの中に追加します。ここでCursorが使うフィールドはurlです。
CursorがOAuthでのログインを求めます。MCPEmailsで認可し、エディターに持たせたいスコープを承認してください。
{
"mcpServers": {
"mcpemails": {
"url": "https://mcpemails.com/api/mcp"
}
}
}リモートMCPサーバーに関するCursorの公式ドキュメント: https://cursor.com/docs/mcp
詳しい手順をまとめた記事もあります。 Cursor、Cline、VS CodeのAIエージェントでメールを使う
どのメールボックスから接続するか迷っていますか。 プロバイダー互換性の一覧を見る
~/.cursor/mcp.jsonに置いたサーバーはすべてのプロジェクトで使えます。.cursor/mcp.jsonに置いたものはそのリポジトリ専用です。メールは通常リポジトリではなく個人に属するものなので、グローバルのファイルが適した置き場所です。他の人がクローンするリポジトリにエントリが入ることも防げます。
エントリ自体には秘密情報はなく、公開URLがあるだけです。OAuthトークンはここに書かれず、Cursorが保存します。ただし、誰かがOAuthのエントリをインラインのBearer APIキーに置き換えた時点で話は変わります。キーを使う場合はコミットするファイルに入れないでください。一度でもプッシュされたキーは無効化してください。キーはダッシュボードの「APIキー」からワンクリックで無効化できます。
主な仕事がリファクタリングのツールにdelete:emailを持たせるのは、コーディングエージェントにしては過大な権限です。エディターでのほぼすべての作業は、読み取り、検索、下書きのスコープで足ります。実際にメールを仕分けるアシスタント用には、別途より広い接続を発行できます。
~/.cursor/mcp.jsonのmcpServersに、urlをhttps://mcpemails.com/api/mcpとしたエントリを追加し、Cursorが求めるOAuthのログインを完了します。これでCursorに、接続済みのすべてのメールボックスでメールの閲覧、検索、送信、返信、転送、整理、予約送信を行うツールが加わります。
いいえ。Cursorはこのサーバーに対してOAuthのブラウザーフローを実行し、動的に自身を登録してPKCEで認可するので、設定ファイルに秘密情報は入りません。スクリプトやヘッドレスの環境では、BearerのAPIキーも選択肢として使えます。
2つのクライアントが、同じものに別々の設定スキーマを選んだためです。CursorはmcpServersの下のurlを、WindsurfはserverUrlを読み、VS Codeはserversの下にtypeとurlを、Gemini CLIはhttpUrlを求めます。エンドポイントは4つとも同じで、違うのはキー名だけです。スニペットをクライアント間でコピーすることが、設定が何も言わずに機能しないよくある原因です。
Outlook.comとMicrosoft 365は「Microsoftでサインイン」で接続します(職場アカウントでは、IT管理者による一度きりのアプリ承認が必要な場合があります)。Gmail、iCloud、Fastmail、Yahoo、Zoho、Yandexはアプリ パスワードで接続でき、標準ポートでIMAPとSMTPに対応するその他のメールボックスも使えます。クライアントはこれらすべてを同じ接続で扱います。エージェントは最初にinbox_listを呼び出して、接続済みのすべてのメールボックスとそのIDを取得するので、UUIDをどこかに貼り付ける必要はありません。
許可した場合に限ります。送信にはsend:emailスコープが必要なので、このスコープを持たないキーやトークンでは一切送信できません。さらに、受信トレイのオーナーはダッシュボードで人による承認を必須にでき、その場合は送信、返信、転送、下書きの送信、予約送信のすべてが、人が許可するまで保留されます。
いいえ。メッセージはすべて、それを求めたリクエストのためにプロバイダーからその場で取得され、そのままクライアントに渡されます。保存するのは、以降の呼び出しで認証するための暗号化したOAuthトークンまたはアプリ パスワードだけです。ダッシュボードで受信トレイを削除するか、プロバイダー側でアクセスを取り消せば、接続はすぐに切れます。