[WIP] Programmable Email について
[WIP] Programmable Email は、ローカルの OAuth トークンで Claude などの MCP クライアントを Gmail に接続する実験用 MCP サーバーです。現在は Gmail 検索機能の一部に対応し、メール送信は今後の実装項目です。
主な機能
- 01ローカル OAuth トークンで Gmail に接続
- 02Gmail の一部検索機能に対応
- 03Docker イメージとして実行
活用シーン
- 01MCP クライアントで最近の未読メールを取得
- 02Claude から Gmail へのアクセスを試す
MCP 対応
MCP を通じて Claude などのクライアントに Gmail アクセスを提供します。Claude で使用する場合、取得したメールは Claude のサーバーに送信されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
[WIP]プログラマブルメール
Claude を Gmail に接続する MCP サーバー
このサーバーは、Gmail のローカル OAuth トークンを使用して、Claude または任意の MCP クライアントを Gmail に接続します。 このサーバーは、実験およびテストを目的として設計されています。取得したメールは Claude のサーバーに送信されることにご注意ください。
前提条件
- Docker
- Mac 版 Claude Desktop
インストール
1. Gmail の OAuth 認証情報
まず、こちらのガイドに従って、個人用 OAuth トークンを生成する必要があります。サーバーサイドアプリケーションとして OAuth クライアント ID 認証情報を作成してください。
Google OAuth トークンを表す credentials.json をルートディレクトリに用意する必要があります。また、token.json も必要です。token.json は、Google OAuth 認証情報を初めて使用したときに自動的に生成されます。
2. docker build を実行
docker build -t programmable-email . を実行してイメージをビルドします。
docker run -i --rm programmable-email を実行して、正常に動作することを確認します。
3. MCP サーバーを Claude に設定
MCP サーバーの設定ファイルが保存されているディレクトリに移動します:cd ~/Library/Application\ Support/Claude
次の内容で claude_desktop_config.json を編集します:
{
"mcpServers": {
"programmable-email": {
"command": "docker",
"args": ["run", "-i", "--rm", "programmable-email"]
}
}
}
4. Claude を開く(または再起動する)
5. Claude に最近の未読メールを取得するよう依頼する
TODO
- Gmail の読み取り機能を完成させる(現在利用できるのは検索機能の一部のみです。index.ts を参照)
- Gmail の送信機能を MCP ツールとして実装する(利用可能な機能については
gmail_api.tsを参照) - テストを追加する
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。