Email Processing MCP Server

Integrations

  • Stores email vector embeddings for semantic search capabilities, manages connections properly, and provides metadata filtering and efficient retrieval

  • Planned future integration for expanded database options and more advanced relationship modeling for emails

  • Generates vector embeddings for emails using models like nomic-embed-text for enhanced semantic search capabilities

メール処理MCPサーバー

この MCP サーバーは、セマンティック検索のための MongoDB 統合と、効率的な保存と取得のための SQLite を備えた電子メール処理機能を提供します。

特徴

  • 日付範囲フィルタリングを使用して Outlook からのメールを処理する
  • 適切な接続管理を使用してSQLiteデータベースにメールを保存する
  • Ollamaを使用してベクトル埋め込みを生成する
  • 複数のメールボックスのサポート
  • 受信トレイ、送信済みアイテム、およびオプションで削除済みアイテム フォルダのサポート

今後の機能

  • セマンティック機能を備えたメール検索
  • LLMを使用した電子メール要約
  • 自動メール分類
  • カスタマイズ可能なメールレポート
  • 高度なフィルタリングオプション
  • Outlook でメール返信を下書きする
  • Outlook ルールの提案
  • Neo4j と ChromaDB の統合によるデータベース オプションの拡張

前提条件

  • Python 3.10以上
  • ローカルで実行される Ollama(埋め込み用)
  • Microsoft Outlookがインストールされている
  • Windows OS(Outlook統合用)
  • MongoDB サーバー (埋め込みの保存用)

インストール

  1. uv をインストールします (まだインストールされていない場合)。
pip install uv
  1. 仮想環境を作成します。
uv venv .venv
  1. 仮想環境をアクティブ化します。ウィンドウズ:
    .venv\Scripts\activate
    macOS/Linux:
    source .venv/bin/activate
  2. 依存関係をインストールします:
uv pip install -e .
  1. fastmcp パッケージをインストールします。
uv pip install fastmcp
  1. Ollama が必要なモデルを使用してローカルで実行されていることを確認します。
ollama pull nomic-embed-text

構成

Claude for Desktop 構成ファイルにサーバーを追加します。

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "outlook-email": { "command": "C:/Users/username/path/to/mcp-server-outlook-email/.venv/Scripts/python", "args": [ "C:/Users/username/path/to/mcp-server-outlook-email/src/mcp_server.py" ], "env": { "MONGODB_URI": "mongodb://localhost:27017/MCP?authSource=admin", "SQLITE_DB_PATH": "C:\\Users\\username\\path\\to\\mcp-server-outlook-email\\data\\emails.db", "EMBEDDING_BASE_URL": "http://localhost:11434", "EMBEDDING_MODEL": "nomic-embed-text", "COLLECTION_NAME": "outlook-emails", "PROCESS_DELETED_ITEMS": "false" } } } }

追跡と監視

サーバーは外部のトレースおよび監視ソリューションをサポートするように設計されています。MCPログ実装は意図的に削除され、より堅牢なトレース手法が別途実装されます。

注: 以前のログシステムを再実装しないでください。将来、新しいトレースソリューションが提供される予定です。

構成フィールドの説明:

  • command : 仮想環境内の Python 実行ファイルへのフルパス
  • args : MCP サーバー スクリプトへのフル パスを含む配列
  • env : 設定用の環境変数
    • MONGODB_URI : MongoDB接続文字列
    • SQLITE_DB_PATH : SQLite データベースファイルへの絶対パス
    • EMBEDDING_BASE_URL : OllamaサーバーのURL
    • EMBEDDING_MODEL : 埋め込みに使用するモデル
    • LLM_MODEL : LLM操作に使用するモデル
    • COLLECTION_NAME : 使用するMongoDBコレクションの名前(必須)
    • PROCESS_DELETED_ITEMS : 削除済みアイテムフォルダからメールを処理するかどうか(オプション、デフォルト: "false")
  • disabled : サーバーが無効かどうか(falseである必要があります)
  • alwaysAllow : ユーザーの確認を必要としないツールの配列
  • autoApprove : 自動承認できるツールの配列

パスをシステム上の実際のパスに置き換えてください。env envの Windows パスには二重のバックスラッシュを使用する必要があります。

利用可能なツール

1. メール処理

指定した日付範囲のメールを処理します。

{ "start_date": "2024-01-01", # ISO format date (YYYY-MM-DD) "end_date": "2024-02-15", # ISO format date (YYYY-MM-DD) "mailboxes": ["All"] # List of mailbox names or ["All"] for all mailboxes }

このツールは次のことを行います。

  1. 指定された Outlook メールボックスに接続する
  2. 受信トレイと送信済みアイテムフォルダ(有効な場合は削除済みアイテムも)からメールを取得します
  3. SQLiteデータベースにメールを保存する
  4. Ollamaを使用して埋め込みを生成する
  5. セマンティック検索のためにMongoDBに埋め込みを保存する

クロードでの使用例

"Process emails from February 1st to February 17th from all mailboxes"

建築

サーバーはハイブリッド検索アプローチを使用します。

  1. SQLite データベース:
    • プライマリメールストレージ
    • 全文検索機能
    • 処理状況の追跡
    • 効率的なフィルタリング
    • ディレクトリが存在しない場合は自動的に作成されます
    • データベースのロックを防ぐために接続が適切に閉じられている
  2. MongoDB の用途:
    • ベクトル埋め込みストレージ
    • 意味的類似性検索
    • メタデータフィルタリング
    • 効率的な検索
    • 使用後は接続が適切に閉じられている

エラー処理

サーバーは、一般的な問題に関する詳細なエラー メッセージを提供します。

  • 無効な日付形式
  • Outlook との接続の問題
  • MongoDBエラー
  • 再試行ロジックによる生成失敗の埋め込み
  • SQLite ストレージエラー
  • 自動再試行による Ollama サーバー接続の問題

リソース管理

サーバーは問題を防ぐために適切なリソース管理を実装します。

  • データベース接続(SQLite および MongoDB)は、サーバーの存続期間中は開いたままになり、「閉じたデータベースでは操作できません」というエラーを防止します。
  • 接続は、サーバーがシャットダウンしたときにのみ、atexitハンドラを使用して閉じられます。
  • デストラクタとコンテキストマネージャは、オブジェクトがガベージコレクションされるときに接続が閉じられるようにするためのフォールバックとして使用されます。
  • 接続管理は、リソースの使用と運用の信頼性のバランスをとるように設計されています。
  • Ollama などの外部サービスが一時的な接続の問題を処理するための堅牢な再試行ロジック

セキュリティノート

  • サーバーは指定されたメールボックスからのメールのみを処理します
  • すべてのデータはローカル(SQLite)とMongoDBに保存されます
  • ローカル Ollama サーバー以外の外部 API 呼び出しはできません
  • メール処理には明示的なユーザー承認が必要
  • MCPインターフェースを通じて機密メールデータは公開されません

デバッグ

問題が発生した場合:

  1. メールが正常に処理されたことを確認する(process_emails の応答を確認する)
  2. 埋め込み生成のためにOllamaサーバーが稼働していることを確認する
  3. SQLiteデータベースにアクセスできることを確認する
  4. MongoDB接続が正常に動作していることを確認する
-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Outlook からの電子メールを日付フィルタリングで処理し、SQLite データベースに保存しながら、MongoDB のセマンティック検索機能用のベクター埋め込みを生成します。

  1. 特徴
    1. 今後の機能
      1. 前提条件
        1. インストール
          1. 構成
            1. 追跡と監視
          2. 利用可能なツール
            1. 1. メール処理
          3. クロードでの使用例
            1. 建築
              1. エラー処理
                1. リソース管理
                  1. セキュリティノート
                    1. デバッグ

                      Related MCP Servers

                      • -
                        security
                        F
                        license
                        -
                        quality
                        Enables querying log data stored in SQLite databases through the Model Context Protocol, allowing natural language interactions with log analysis.
                        Last updated -
                        Python
                      • -
                        security
                        F
                        license
                        -
                        quality
                        A protocol server that enables LLMs like Claude to interact with MongoDB databases, providing tools for schema exploration, aggregation queries, and data analysis through natural language in Cursor.
                        Last updated -
                        11
                        5
                        TypeScript
                        • Linux
                        • Apple
                      • -
                        security
                        A
                        license
                        -
                        quality
                        An MCP server that enables large language models to interact directly with MongoDB databases, allowing them to query collections, inspect schemas, and manage data through natural language.
                        Last updated -
                        340
                        MIT License
                        • Apple
                      • -
                        security
                        A
                        license
                        -
                        quality
                        A Model Context Protocol server that enables semantic search capabilities by providing tools to manage Qdrant vector database collections, process and embed documents using various embedding services, and perform semantic searches across vector embeddings.
                        Last updated -
                        89
                        TypeScript
                        MIT License

                      View all related MCP servers

                      ID: i2klzdyvt1