Cursor + メール

受信トレイをCursorに接続
mcp.jsonに4行書くだけ

エディターに本物のメールボックスを渡せます。原因のファイルを開いたままバグ報告に返信したり、修正内容を顧客にメールしたり、ウィンドウを切り替えずに受信トレイを片付けたりできます。

MCPEmailsが入力済みの状態でCursorが開きます。確認したら、続いて開くブラウザーのページでアカウントを作成し、受信トレイを選んでください。

受信トレイ1つはずっと無料 OAuth認証、APIキー不要 メールはその場で取得、保存はしません

必要な値は1つだけ

~/.cursor/mcp.jsonのmcpServersに、urlをhttps://mcpemails.com/api/mcpとしたエントリを1つ追加します。するとCursorがOAuthでのログインを求めます。APIキーは使いません。

項目値
MCPサーバーURLhttps://mcpemails.com/api/mcp
トランスポートStreamable HTTP (MCP 2025-06-18)
認証OAuth 2.1、PKCE付き認可コード。APIキーは不要です。

Cursorの接続方法:OAuth、APIキー不要

Cursorはこのサーバーに対して標準のMCP OAuthフローを実行します。RFC 7591の動的クライアント登録で自身を登録するため、クライアントIDを作成する必要はなく、S256による認可コードとPKCEで認可します。クライアントシークレットが送信されることはなく、トークンには同意画面で承認したスコープだけが含まれます。取得したアクセストークンの有効期間は1時間で、自動で更新されます。ダッシュボードの「APIキー」にOAuth:とクライアント名の形で表示され、そこから接続を取り消せます。

例:CursorでGmailを使う

MCPEmailsのダッシュボードでGoogleのアプリ パスワードを使ってGmailを接続し、下に示すmcpemailsエントリを~/.cursor/mcp.jsonに追加して、Cursorに求められたらログインします。あとはCursorのエージェントに「昨日Annaが私のGmailに送ってきたバグ報告を探して、修正は今日リリースされると返信の下書きを作って」のように頼みます。エージェントはGmailを検索してスレッドを読み、返信をGmailの下書きとして保存するので、送信前に内容を確認できます。

セットアップ

Cursorを受信トレイに接続する方法

手順は4つです。最初の2つはどのクライアントでも同じで、残りはこのクライアント固有の手順です。

01

無料アカウントを作成してメールボックスを接続

mcpemails.comで新規登録し(カード登録は不要)、ダッシュボードの「受信トレイ」でメールボックスを接続します。受信トレイ1つはずっと無料です。

02

mcp.jsonを開く

すべてのプロジェクトで使うなら~/.cursor/mcp.jsonを、1つのプロジェクトだけなら.cursor/mcp.jsonを編集します。

03

サーバーを追加

下のエントリをmcpServersの中に追加します。ここでCursorが使うフィールドはurlです。

04

認可

CursorがOAuthでのログインを求めます。MCPEmailsで認可し、エディターに持たせたいスコープを承認してください。

~/.cursor/mcp.json
{
  "mcpServers": {
    "mcpemails": {
      "url": "https://mcpemails.com/api/mcp"
    }
  }
}
始める前に

Cursorでつまずきやすいポイント

プロジェクト設定とグローバル設定は別ファイルで、両方とも存在する

~/.cursor/mcp.jsonに置いたサーバーはすべてのプロジェクトで使えます。.cursor/mcp.jsonに置いたものはそのリポジトリ専用です。メールは通常リポジトリではなく個人に属するものなので、グローバルのファイルが適した置き場所です。他の人がクローンするリポジトリにエントリが入ることも防げます。

プロジェクトのmcp.jsonはうっかりコミットしかねないファイル

エントリ自体には秘密情報はなく、公開URLがあるだけです。OAuthトークンはここに書かれず、Cursorが保存します。ただし、誰かがOAuthのエントリをインラインのBearer APIキーに置き換えた時点で話は変わります。キーを使う場合はコミットするファイルに入れないでください。一度でもプッシュされたキーは無効化してください。キーはダッシュボードの「APIキー」からワンクリックで無効化できます。

エディターにはメールアプリより少ない権限を

主な仕事がリファクタリングのツールにdelete:emailを持たせるのは、コーディングエージェントにしては過大な権限です。エディターでのほぼすべての作業は、読み取り、検索、下書きのスコープで足ります。実際にメールを仕分けるアシスタント用には、別途より広い接続を発行できます。

知っておきたい制限

  • リクエストにはキーごとに、プランに応じた1分、1時間、1日単位のレート制限があります。429レスポンスにはRetry-Afterが付きます。
  • サーバーはリクエストとレスポンスだけで動作します。Webhookもサーバー発のイベントもないため、新着メールがエージェントを自動で起動することはありません。届いたメールに反応するには、定期的にポーリングしてください。
  • メールは呼び出しのたびにプロバイダーからその場で取得され、保存されることはありません。保存するのは暗号化したOAuthトークンまたはアプリ パスワードだけなので、トークンを取り消すかメールボックスのパスワードを変更すれば、アクセスはすぐに終わります。
よくある質問

Cursorとメールに関するよくある質問

Cursorにメールを接続するには?

~/.cursor/mcp.jsonのmcpServersに、urlをhttps://mcpemails.com/api/mcpとしたエントリを追加し、Cursorが求めるOAuthのログインを完了します。これでCursorに、接続済みのすべてのメールボックスでメールの閲覧、検索、送信、返信、転送、整理、予約送信を行うツールが加わります。

CursorにはAPIキーが必要ですか?

いいえ。Cursorはこのサーバーに対してOAuthのブラウザーフローを実行し、動的に自身を登録してPKCEで認可するので、設定ファイルに秘密情報は入りません。スクリプトやヘッドレスの環境では、BearerのAPIキーも選択肢として使えます。

ここではurl、WindsurfではserverUrlとフィールド名が違うのはなぜですか?

2つのクライアントが、同じものに別々の設定スキーマを選んだためです。CursorはmcpServersの下のurlを、WindsurfはserverUrlを読み、VS Codeはserversの下にtypeとurlを、Gemini CLIはhttpUrlを求めます。エンドポイントは4つとも同じで、違うのはキー名だけです。スニペットをクライアント間でコピーすることが、設定が何も言わずに機能しないよくある原因です。

この方法でCursorが使えるメールボックスは?

Outlook.comとMicrosoft 365は「Microsoftでサインイン」で接続します(職場アカウントでは、IT管理者による一度きりのアプリ承認が必要な場合があります)。Gmail、iCloud、Fastmail、Yahoo、Zoho、Yandexはアプリ パスワードで接続でき、標準ポートでIMAPとSMTPに対応するその他のメールボックスも使えます。クライアントはこれらすべてを同じ接続で扱います。エージェントは最初にinbox_listを呼び出して、接続済みのすべてのメールボックスとそのIDを取得するので、UUIDをどこかに貼り付ける必要はありません。

Cursorが私の知らないうちにメールを送信することはありますか?

許可した場合に限ります。送信にはsend:emailスコープが必要なので、このスコープを持たないキーやトークンでは一切送信できません。さらに、受信トレイのオーナーはダッシュボードで人による承認を必須にでき、その場合は送信、返信、転送、下書きの送信、予約送信のすべてが、人が許可するまで保留されます。

メールはサーバーに保存されますか?

いいえ。メッセージはすべて、それを求めたリクエストのためにプロバイダーからその場で取得され、そのままクライアントに渡されます。保存するのは、以降の呼び出しで認証するための暗号化したOAuthトークンまたはアプリ パスワードだけです。ダッシュボードで受信トレイを削除するか、プロバイダー側でアクセスを取り消せば、接続はすぐに切れます。

Cursorに本物の受信トレイを

設定4行、ログイン1回。受信トレイ1つはずっと無料、カード登録は不要です。