ブラウザのGmailには、ちゃんとメールがある。
なのに、Cursor側のGmail連携で探すと、0件。
同じ日の他のメールは取れる。
接続は死んでない。
再接続しても、状況が変わらない。
んっ? となったんですが。
これ、Cursorを仕事で使っている人だと、たまにハマります。
今日から始めるシリーズ「ハル先生のcursor日記」の1回目は、この話です。
結論だけ先に言うと、
探すのは Gmail API 直叩き(例: gog CLI)。
送る・返信するのは Gmail MCP。
この役割分担で、だいたい前に進めます。
何が起きていたか
Cursor の Hosted Gmail MCP は、常にライブのGmail全文を見ているとは限りません。
内部インデックス経由の挙動があり、特定の新着メールだけ、黙って欠けることがあります。
紛らわしいのはここです。
「件名で検索すれば見つかるでしょ」と思いがち。
でも、インデックスにメール自体が無いと、件名でもヒットしません。
「同期遅れかな」と呼ぶと誤解しやすいです。
数時間経っても、再接続しても、出ないことがあるからです。
症状の見分け方
次が揃うと、この問題の可能性が高いです。
- ブラウザのGmailにはメールがある
- MCPでは同じ日の他メールは取れる(接続は死んでいない)
- 特定メールだけ 0件
- 件名・差出人・固有番号・
in:anywhereで探しても出ない - 再接続しても状況が変わらない
「接続不良」と「特定メールだけ欠ける」は、別物です。
同じ時間帯の別送信者が取れるなら、接続そのものは生きています。
補足: Salesforce経由って何?
ここ、初心者向けに少しだけ。
Salesforce(セールスフォース)は、企業が顧客情報や問い合わせ、審査連絡などを管理するためのクラウドサービスです。
自分のパソコンに入れるソフトではなく、送り手の企業側が使っている仕組みです。
そのため、メールの見た目はこうなりやすいです。
- 差出人表示:
no-reply@会社名.comのような形 - Gmailの注記:
....bnc.salesforce.com 経由
「あの会社から来たメール」なのに、配送の途中で Salesforce のサーバーを経由している、という意味です。
ブラウザのGmailには普通に届きます。
今回の観察では、こうした Salesforce 経由メールで、MCP 側の取り込み・検索だけが欠けることがありました。
原因の断定ではなく、経験則としての補足です。
他社メールでも、同じ仕組みは起こり得ます。
回避方法の全体像
| やりたいこと | 使うもの |
|---|---|
| 重要メールを確実に探す | gog など Gmail API 直叩き |
| メールを送る/返信する | Gmail MCP |
| MCPが0件のとき最短で進める | ブラウザ確認 → 本文をチャットに貼る |
おすすめはシンプルです。
探すは gog。送るは MCP。
gog を使うには、Google Cloud 上の OAuth クライアント(credentials.json)が必要です。
すでに Workspace MCP 等で同じ JSON がある場合は流用できます。
無い場合は、次の節でプロジェクトを1つ作ります。
Google Cloud でプロジェクトを1つ作る(または既存を使う)
個人のGmail API(自分のメールを読むだけ)では、通常すぐ請求されません。
ただ、画面の案内はよく読んでください。
Consoleを開く
- ブラウザで Google Cloud Console を開く
- 使いたい Google アカウントでログインする(Gmailを読みたいアカウントと同じでよい)
プロジェクトを選ぶ/作る
- 画面上部の「プロジェクトを選択」をクリック
- 既存があればそれを使う
- 無ければ「新しいプロジェクト」→ 名前を付ける → 作成
Gmail API を有効化する
- 左メニュー「APIとサービス」→「ライブラリ」
- 「Gmail API」を検索して開く
- 「有効にする」をクリック
OAuth同意画面を設定する
- 「APIとサービス」→「OAuth同意画面」
- User Type は「外部」(個人Gmail向け)を選ぶ
- アプリ名などを入力して保存
- テストユーザーに、ログインする自分のGmailアドレスを追加する
公開アプリにしていない間は、テストユーザー以外はログインできません。
OAuthクライアントIDを作る
- 「APIとサービス」→「認証情報」
- 「認証情報を作成」→「OAuthクライアントID」
- アプリケーションの種類: デスクトップアプリ
- 名前を付けて作成
- JSONをダウンロードし、わかりやすい場所に置く
すでに同じ用途の credentials.json がある場合は、この節を飛ばして次へ進んで大丈夫です。
gog のインストール・登録・検索(macOS)
インストール:
brew install steipete/tap/gogcli
コマンド名は gog です。
credentials を登録し、Gmailログイン:
gog auth credentials set ~/.config/gog/credentials.json
gog auth add あなたの@gmail.com
--services gmail --gmail-scope readonly --force-consent
あなたの@gmail.com は、実際に検索したいGmailアドレスに置き換えてください。
検索:
gog gmail search 'キーワード OR subject:件名の一部'
-a あなたの@gmail.com -p
認証状態の確認:
gog auth list
gog auth status
実例としては、ブラウザにはあるのに MCP では 0件だったメールを、gog で固有キーワード検索したら即座にヒット、というパターンがありました。
同じ日の他メールや、古い同系統メールは MCP で取れていたので、接続死ではなく「特定メールだけ欠ける」タイプでした。
同じ症状のときのチェックリスト
- ブラウザのGmailにメールはあるか
- Gmail画面に
bnc.salesforce.com 経由などの注記はないか - MCPで差出人/件名/固有IDを試す
- 同じ時間帯の別送信者は取れるか(接続死活の切り分け)
- 取れなければ再接続に時間をかけすぎない
- gog 等のライブAPIで再検索する
- それでも無理なら本文を貼って作業継続
大事なのは、再接続ループで時間を溶かしすぎないことです。
60%で次の手に進む。
その感覚、Cursor運用でも同じです。w
おわりに
Cursor は便利です。
でも、MCPが「全部見えている」前提で止まると、大事なメールで詰みます。
ブラウザで確認できる。
API直で探せる。
チャットに貼って先へ進める。
道具を切り替えるだけで、仕事は続きます。
「ハル先生のcursor日記」では、こういう現場メモを、できるだけオープンに残していきます。
同じ症状で困っている人の、ショートカットになればうれしいです。
また書きます。

コメント