メール処理MCPサーバー
この MCP サーバーは、セマンティック検索のための MongoDB 統合と、効率的な保存と取得のための SQLite を備えた電子メール処理機能を提供します。
特徴
- 日付範囲フィルタリングを使用して Outlook からのメールを処理する
- 適切な接続管理を使用してSQLiteデータベースにメールを保存する
- Ollamaを使用してベクトル埋め込みを生成する
- 複数のメールボックスのサポート
- 受信トレイ、送信済みアイテム、およびオプションで削除済みアイテム フォルダのサポート
今後の機能
- セマンティック機能を備えたメール検索
- LLMを使用した電子メール要約
- 自動メール分類
- カスタマイズ可能なメールレポート
- 高度なフィルタリングオプション
- Outlook でメール返信を下書きする
- Outlook ルールの提案
- Neo4j と ChromaDB の統合によるデータベース オプションの拡張
前提条件
- Python 3.10以上
- ローカルで実行される Ollama(埋め込み用)
- Microsoft Outlookがインストールされている
- Windows OS(Outlook統合用)
- MongoDB サーバー (埋め込みの保存用)
インストール
- uv をインストールします (まだインストールされていない場合)。
- 仮想環境を作成します。
- 仮想環境をアクティブ化します。ウィンドウズ:macOS/Linux:
- 依存関係をインストールします:
- fastmcp パッケージをインストールします。
- Ollama が必要なモデルを使用してローカルで実行されていることを確認します。
構成
Claude for Desktop 構成ファイルにサーバーを追加します。
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
追跡と監視
サーバーは外部のトレースおよび監視ソリューションをサポートするように設計されています。MCPログ実装は意図的に削除され、より堅牢なトレース手法が別途実装されます。
注: 以前のログシステムを再実装しないでください。将来、新しいトレースソリューションが提供される予定です。
構成フィールドの説明:
command
: 仮想環境内の Python 実行ファイルへのフルパスargs
: MCP サーバー スクリプトへのフル パスを含む配列env
: 設定用の環境変数MONGODB_URI
: MongoDB接続文字列SQLITE_DB_PATH
: SQLite データベースファイルへの絶対パスEMBEDDING_BASE_URL
: OllamaサーバーのURLEMBEDDING_MODEL
: 埋め込みに使用するモデルLLM_MODEL
: LLM操作に使用するモデルCOLLECTION_NAME
: 使用するMongoDBコレクションの名前(必須)PROCESS_DELETED_ITEMS
: 削除済みアイテムフォルダからメールを処理するかどうか(オプション、デフォルト: "false")
disabled
: サーバーが無効かどうか(falseである必要があります)alwaysAllow
: ユーザーの確認を必要としないツールの配列autoApprove
: 自動承認できるツールの配列
パスをシステム上の実際のパスに置き換えてください。env env
の Windows パスには二重のバックスラッシュを使用する必要があります。
利用可能なツール
1. メール処理
指定した日付範囲のメールを処理します。
このツールは次のことを行います。
- 指定された Outlook メールボックスに接続する
- 受信トレイと送信済みアイテムフォルダ(有効な場合は削除済みアイテムも)からメールを取得します
- SQLiteデータベースにメールを保存する
- Ollamaを使用して埋め込みを生成する
- セマンティック検索のためにMongoDBに埋め込みを保存する
クロードでの使用例
建築
サーバーはハイブリッド検索アプローチを使用します。
- SQLite データベース:
- プライマリメールストレージ
- 全文検索機能
- 処理状況の追跡
- 効率的なフィルタリング
- ディレクトリが存在しない場合は自動的に作成されます
- データベースのロックを防ぐために接続が適切に閉じられている
- MongoDB の用途:
- ベクトル埋め込みストレージ
- 意味的類似性検索
- メタデータフィルタリング
- 効率的な検索
- 使用後は接続が適切に閉じられている
エラー処理
サーバーは、一般的な問題に関する詳細なエラー メッセージを提供します。
- 無効な日付形式
- Outlook との接続の問題
- MongoDBエラー
- 再試行ロジックによる生成失敗の埋め込み
- SQLite ストレージエラー
- 自動再試行による Ollama サーバー接続の問題
リソース管理
サーバーは問題を防ぐために適切なリソース管理を実装します。
- データベース接続(SQLite および MongoDB)は、サーバーの存続期間中は開いたままになり、「閉じたデータベースでは操作できません」というエラーを防止します。
- 接続は、サーバーがシャットダウンしたときにのみ、atexitハンドラを使用して閉じられます。
- デストラクタとコンテキストマネージャは、オブジェクトがガベージコレクションされるときに接続が閉じられるようにするためのフォールバックとして使用されます。
- 接続管理は、リソースの使用と運用の信頼性のバランスをとるように設計されています。
- Ollama などの外部サービスが一時的な接続の問題を処理するための堅牢な再試行ロジック
セキュリティノート
- サーバーは指定されたメールボックスからのメールのみを処理します
- すべてのデータはローカル(SQLite)とMongoDBに保存されます
- ローカル Ollama サーバー以外の外部 API 呼び出しはできません
- メール処理には明示的なユーザー承認が必要
- MCPインターフェースを通じて機密メールデータは公開されません
デバッグ
問題が発生した場合:
- メールが正常に処理されたことを確認する(process_emails の応答を確認する)
- 埋め込み生成のためにOllamaサーバーが稼働していることを確認する
- SQLiteデータベースにアクセスできることを確認する
- MongoDB接続が正常に動作していることを確認する
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Outlook からの電子メールを日付フィルタリングで処理し、SQLite データベースに保存しながら、MongoDB のセマンティック検索機能用のベクター埋め込みを生成します。
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityProvides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.Last updated -216TypeScript
- -securityAlicense-qualityProvides IMAP and SMTP capabilities, enabling developers to manage email services with seamless integration and automated workflows.Last updated -38PythonBSD 3-Clause
- -securityAlicense-qualityProvides comprehensive Gmail integration with LLM processing capabilities, allowing users to read, search, filter emails and handle attachments through the Model Context Protocol.Last updated -31TypeScriptMIT License
- AsecurityAlicenseAqualityManage your emails effortlessly with a standardized interface for drafting, sending, retrieving, and organizing messages. Streamline your email workflow with complete Gmail API coverage, including label and thread management.Last updated -6521215JavaScriptMIT License