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 サーバー (埋め込みの保存用)
インストール
- uv をインストールします (まだインストールされていない場合)。
- 仮想環境を作成します。
- 仮想環境をアクティブ化します。ウィンドウズ:macOS/Linux:CopyCopy
- 依存関係をインストールします:
- 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
- -securityFlicense-qualityEnables querying log data stored in SQLite databases through the Model Context Protocol, allowing natural language interactions with log analysis.Last updated -Python
- -securityFlicense-qualityA 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 -115TypeScript
- -securityAlicense-qualityAn 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 -340MIT License
- -securityAlicense-qualityA 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 -89TypeScriptMIT License