Skip to main content
Glama

IMAP MCP サーバー

AI アシスタントが電子メールをチェックし、メッセージを処理し、対話を通じてユーザーの好みを学習できるようにするモデル コンテキスト プロトコル (MCP) サーバー。

概要

このプロジェクトは、IMAP 電子メール サーバーとインターフェイスして次の機能を提供する MCP サーバーを実装します。

  • メールの閲覧と検索

  • メールの整理(移動、タグ付け、マーク付け)

  • メールの作成と返信

  • インタラクティブな電子メール処理とユーザー設定の学習

  • 自動メール要約と分類

  • 複数のIMAPプロバイダーのサポート

IMAP MCP サーバーは、Claude やその他の MCP 互換アシスタントと連携するように設計されており、時間の経過とともにユーザーの好みを学習するインテリジェントな電子メール アシスタントとして機能します。

Related MCP server: Gmail MCP Server

特徴

  • メール認証: さまざまな認証方法による IMAP サーバーへの安全なアクセス

  • メール閲覧: フィルタリングオプションを使用してフォルダとメッセージを一覧表示します

  • メールの内容: テキスト、HTML、添付ファイルを含むメッセージの内容を読む

  • メールアクション: 移動、削除、既読/未読としてマーク、メッセージにフラグを付ける

  • メール作成: 適切な形式でメッセージへの返信を下書きして保存します

    • プレーンテキストとHTMLの返信をサポート

    • CC サポートによる全員返信機能

    • In-Reply-To と References ヘッダーを使用した適切なスレッド化

    • 下書きを適切なフォルダに保存する

  • 検索: フォルダ間の基本的な検索機能

  • インタラクションパターン:電子メールの処理と学習設定のための構造化パターン(計画中)

  • 学習レイヤー: ユーザーの意思決定を記録・分析し、将来の行動を予測する(計画)

現在のプロジェクト構造

プロジェクトは現在、次のように構成されています。

.
├── examples/              # Example configurations
│   └── config.yaml.example
├── imap_mcp/              # Source code
│   ├── __init__.py
│   ├── config.py          # Configuration handling
│   ├── imap_client.py     # IMAP client implementation
│   ├── models.py          # Data models
│   ├── resources.py       # MCP resources implementation
│   ├── server.py          # Main server implementation
│   └── tools.py           # MCP tools implementation
├── tests/                 # Test suite
│   ├── __init__.py
│   └── test_models.py
├── INSTALLATION.md        # Detailed installation guide
├── pyproject.toml         # Project configuration
└── README.md              # This file

はじめる

前提条件

  • Python 3.8以上

  • IMAP 対応のメールアカウント(Gmail を推奨)

  • パッケージ管理とPythonスクリプトの実行のためのuv

インストール

  1. まだインストールしていない場合は、uv をインストールします。

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. パッケージをクローンしてインストールします。

    git clone https://github.com/non-dirty/imap-mcp.git
    cd imap-mcp
    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    uv pip install -e ".[dev]"

Gmailの設定

  1. 設定ファイルを作成します。

    cp config.sample.yaml config.yaml
  2. Gmail OAuth2 認証情報を設定します。

    • Google Cloud Consoleに移動

    • 新しいプロジェクトを作成するか、既存のプロジェクトを選択してください

    • Gmail APIを有効にする

    • OAuth2 認証情報を作成する (デスクトップ アプリケーション タイプ)

    • クライアント構成をダウンロードする

  3. Gmail の設定でconfig.yaml更新します。

    imap:
      host: imap.gmail.com
      port: 993
      username: your-email@gmail.com
      use_ssl: true
      oauth2:
        client_id: YOUR_CLIENT_ID
        client_secret: YOUR_CLIENT_SECRET
        refresh_token: YOUR_REFRESH_TOKEN

使用法

メールをチェック

受信トレイ内のメールを一覧表示するには:

uv run list_inbox.py --config config.yaml --folder INBOX --limit 10

利用可能なオプション:

  • --folder : チェックするフォルダを指定します(デフォルト: INBOX)

  • --limit : 表示するメールの最大数(デフォルト: 10)

  • --verbose : 詳細なログ出力を有効にする

MCPサーバーの起動

IMAP MCP サーバーを起動するには:

uv run imap_mcp.server --config config.yaml

デバッグ付き開発モードの場合:

uv run imap_mcp.server --dev

OAuth2トークンの管理

OAuth2 トークンを更新するには:

uv run imap_mcp.auth_setup refresh-token --config config.yaml

新しい OAuth2 トークンを生成するには:

uv run imap_mcp.auth_setup generate-token --config config.yaml

発達

開発環境の設定

# Set up virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"

テストの実行

pytest

セキュリティに関する考慮事項

このMCPサーバーは、お客様のメールアカウントへのアクセスを必要とします。メールアカウントには、個人情報が含まれています。以下のセキュリティ上の考慮事項にご注意ください。

  • 環境変数または安全な資格情報ストレージを使用して電子メール資格情報を安全に保存します

  • メインアカウントのパスワードの代わりにアプリ固有のパスワードの使用を検討してください

  • フォルダへのアクセスをユースケースに必要なものだけに制限する

  • メールプロバイダーの設定でサーバーに付与された権限を確認します

プロジェクトロードマップ

  • [x] プロジェクトの初期化とリポジトリのセットアップ

  • [x] 基本的なIMAP統合

  • [x] メールリソースの実装

  • [x] メールツールの実装

  • [x] メールの返信と下書き機能

  • [ ] ユーザー嗜好学習の実装

  • [ ] 高度な検索機能

  • [ ] 複数アカウントのサポート

  • [ ] 主要メールプロバイダーとの統合

貢献

貢献を歓迎します!ガイドラインについてはCONTRIBUTING.mdをご覧ください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

謝辞

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

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/non-dirty/imap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server