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ファイルを参照してください。

謝辞

A
license - permissive license
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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