Integrations
Used for API communication between the frontend and backend, enabling efficient HTTP requests for document processing workflows.
Integrates with the UI for data visualization of document statistics, providing graphical representation of document processing metrics.
Powers the REST interface for the document processing system, enabling API-based interactions with the document processing capabilities.
MCPドキュメントプロセッサ
モデル コンテキスト プロトコル (MCP) を使用してビジネス ドキュメントを自動的に抽出、分析、ルーティングするインテリジェントなドキュメント処理システム。
プロジェクト概要
このプロジェクトでは、MCPを用いて実際のビジネス課題であるドキュメント処理ワークフローの自動化を解決する方法を示します。このシステムは以下のことが可能です。
- 受信文書(請求書、契約書、メール)を分類する
- MLモデルを使用して関連情報を抽出する
- ドキュメントの種類に応じて処理し、処理パイプライン全体でコンテキストを維持し、REST API を通じて機能を公開します。
主要なMCPコンポーネント
- コンテキスト オブジェクト: MCP の中心となるこれらのオブジェクト (
MCPContext
で実装) は、処理ステップ間で情報を伝達し、ドキュメントの状態を維持します。 - メモリ システム: プラグ可能なバックエンドを使用して、処理ステップ間のコンテキスト オブジェクトを保存します。
- プロトコル: プロセッサとモデルの明確なインターフェースを定義し、モジュール性を保証します。
- ルーター: コンテンツに基づいてドキュメントを専門のプロセッサにインテリジェントにルーティングします。
ビジネス価値
このソリューションは、次のようないくつかのビジネス上の課題に対処します。
- 手作業の削減: 文書からのデータ抽出を自動化
- 一貫性: ドキュメントの種類を問わず一貫した処理を保証します
- 監査可能性: 処理履歴と信頼スコアを維持する
- 拡張性: モジュール設計により、新しいドキュメントタイプを簡単に追加できます。
技術的なハイライト
- 分類とエンティティ抽出にBERTベースのモデルを使用する
- 文書要約のためのT5モデル
- RESTインターフェース用のFastAPI
- 簡単に拡張できるプラグ可能なアーキテクチャ
- 包括的なログ記録とエラー処理
- より良いユーザーエクスペリエンスを実現するReactベースのUI
概要
MCPドキュメントプロセッサは、請求書、契約書、電子メールなど、様々な種類のドキュメントを一貫性と自動化をもって処理するという、ビジネスにおける一般的な課題を解決するために設計されています。モデルコンテキストプロトコルフレームワークを活用し、システムの様々なコンポーネント間の情報フローを管理します。
主な特徴
- 文書分類: 文書の種類を自動的に識別します
- 情報抽出: 文書から重要な情報を抽出します
- ドキュメントルーティング: 適切なプロセッサにドキュメントをルーティングします
- コンテキスト管理: 処理パイプライン全体でコンテキストを維持します
- APIインターフェース:他のシステムとの統合のためのRESTful APIを提供します
建築
このシステムは、以下を提供するモデル コンテキスト プロトコル (MCP) を中心に構築されています。
- コンテキストオブジェクト: 処理ステップ間で情報を伝達するCopy
- メモリシステム: API呼び出し間のコンテキストオブジェクトを保存しますCopy
- プロトコル: プロセッサとモデルのインターフェースを定義するCopy
- ルーター: 適切な専門プロセッサにドキュメントをルーティングしますCopy
MCPフロー図
MCP実装の詳細
このプロジェクトにおけるモデルコンテキストプロトコルの実装には、いくつかの重要な利点があります。
1. コンテキストの永続性を備えたステートフル処理
MCPContext
クラスは、ドキュメント処理ライフサイクル全体にわたって状態を維持します。
2. プラガブルメモリシステム
メモリ システムはプラグ可能に設計されており、さまざまなストレージ バックエンドを可能にします。
3. 信頼度の追跡
MCP は抽出されたすべてのデータの信頼スコアを追跡し、より適切な意思決定を可能にします。
4. 処理履歴
各処理ステップはコンテキストの履歴に記録され、監査可能性を実現します。
5. インテリジェントなドキュメントルーティング
ProcessorRouter
、各ドキュメントに適切なプロセッサを決定します。
6. 拡張性
Processor
プロトコルを実装すると、新しいドキュメント タイプを簡単に追加できます。
ドキュメントプロセッサ
システムには、さまざまなドキュメント タイプ専用のプロセッサが含まれています。
- 請求書プロセッサ: ベンダー、顧客、明細項目、合計などを抽出します。
- 契約プロセッサ: 当事者、重要な日付、条件などを抽出します。
- 電子メール プロセッサ: 送信者、受信者、件名、本文などを抽出します。
機械学習モデル
さまざまなタスクに複数の ML モデルが使用されます。
- 文書分類器: 文書タイプ分類のためのBERTベースのモデル
- エンティティ抽出器: 重要な情報を抽出するための固有表現抽出モデル
- サマライザー: 文書要約を生成するためのT5ベースのモデル
ユーザーインターフェース
MCP Document Processorには、ドキュメント処理システムを直感的に操作できるReactベースの最新ユーザーインターフェースが搭載されています。UIはMaterial-UIで構築されており、以下の機能を提供します。
UI機能
- ダッシュボード: 処理されたドキュメントの概要、統計情報、ドキュメントの詳細へのクイックアクセス
- ドキュメントのアップロード: 新しいドキュメントをアップロードするためのドラッグアンドドロップインターフェース
- 文書処理:文書を処理するためのステップバイステップのワークフロー
- ドキュメントビューア: 抽出された情報を含む処理済みドキュメントの詳細表示
- 処理履歴: 監査可能性のためにすべての処理ステップをタイムラインで表示します
UIアーキテクチャ
フロントエンドは以下で構築されています:
- React : ユーザーインターフェースコンポーネントの構築用
- Material-UI : 一貫性のあるレスポンシブなデザイン
- React Router : 異なるビュー間のナビゲーション用
- Axios : バックエンドとのAPI通信用
- Chart.js : ドキュメント統計のデータ視覚化
UI-バックエンド統合
フロントエンドは、次の主要なエンドポイントを使用して、RESTful API を介してバックエンドと通信します。
GET /api/documents
: すべてのドキュメントを取得するPOST /api/documents/upload
: 新しいドキュメントをアップロードするPOST /api/documents/{document_id}/process
: ドキュメントを処理するGET /api/documents/{document_id}
: ドキュメントの詳細を取得するDELETE /api/documents/{document_id}
: ドキュメントを削除する
完全なシステムアーキテクチャ
MCP ドキュメント プロセッサは、フロントエンド、API レイヤー、処理コンポーネント、機械学習モデルを統合した階層型アーキテクチャに従います。
完全なワークフロー
ドキュメント処理ワークフローには、システム コンポーネント全体にわたる複数のステップが含まれます。
- ドキュメントのアップロード:
- ユーザーはUIを通じてドキュメントをアップロードします
- フロントエンドはドキュメントをバックエンドAPIに送信します
- バックエンドはドキュメントメタデータを持つMCPContextオブジェクトを作成します
- コンテキストはメモリシステムに保存されます
- 文書分類:
- ユーザーはUIを通じて処理を開始する
- バックエンドはメモリからドキュメントのコンテキストを取得します
- ドキュメント分類モデルはドキュメントの種類を決定します
- コンテキストはドキュメントタイプ情報で更新されます
- 文書処理:
- プロセッサルータはドキュメントの種類に基づいて適切なプロセッサを選択します
- 選択されたプロセッサ(請求書、契約書、または電子メール)がドキュメントを処理します
- プロセッサはエンティティ抽出器を使用して重要な情報を識別する
- 抽出されたデータは信頼スコアとともにコンテキストに追加されます
- 結果取得:
- 更新されたコンテキストはメモリに保存されます
- UIは処理された文書情報を取得して表示します
- ユーザーは抽出されたデータ、信頼スコア、処理履歴を表示できます。
- 監査とレビュー:
- すべての処理手順はコンテキストの処理履歴に記録されます
- UIは抽出されたデータの信頼スコアの視覚化を提供します
- ユーザーは抽出された情報と一緒に文書のテキストを確認することができます
はじめる
前提条件
- Python 3.8以上
- Node.js 14+ と npm (フロントエンド用)
- requirements.txt にリストされている依存関係
インストールとセットアップ
バックエンドのセットアップ
- リポジトリをクローンするCopy
- 仮想環境を作成してアクティブ化するCopy
- バックエンドの依存関係をインストールするCopy
- ドキュメント保存用のデータディレクトリを作成します(存在しない場合)Copy
フロントエンドのセットアップ
- フロントエンドディレクトリに移動するCopy
- フロントエンドの依存関係をインストールするCopy
アプリケーションの実行
バックエンドサーバーを起動する
- プロジェクトのルート ディレクトリから (仮想環境が有効になっている):これにより、 http://localhost:8000で FastAPI サーバーが起動します。Copy
- APIドキュメントはhttp://localhost:8000/docsからアクセスできます。
フロントエンド開発サーバーを起動する
- 新しいターミナルウィンドウ/タブを開く
- フロントエンドディレクトリに移動します。Copy
- React 開発サーバーを起動します。これにより、 http://localhost:3000でフロントエンドが起動します。Copy
アプリケーションの使用
- ブラウザを開き、 http://localhost:3000にアクセスします。
- サイドバー ナビゲーションを使用して次の操作を実行します。
- ダッシュボードを見る
- 新しい文書をアップロードする
- ドキュメントの詳細を処理して表示する
ワークフローの例
- ドキュメントをアップロード:
- サイドバーの「ドキュメントをアップロード」をクリックします
- ドキュメント(PDF、画像、またはテキストファイル)をドラッグアンドドロップします
- 「ドキュメントをアップロード」ボタンをクリックします
- ドキュメントを処理する:
- アップロードが成功したら、「ドキュメントを処理」をクリックします。
- 処理が完了するまでお待ちください
- 結果を表示:
- 抽出されたデータ、信頼スコア、処理履歴を表示する
- ダッシュボードに移動して、処理済みのすべてのドキュメントを確認します。
APIの使用
API と直接やり取りすることもできます。
GET /api/documents
: すべてのドキュメントを取得するPOST /api/documents/upload
: 新しいドキュメントをアップロードするPOST /api/documents/{document_id}/process
: ドキュメントを処理するGET /api/documents/{document_id}
: ドキュメントの詳細を取得するDELETE /api/documents/{document_id}
: ドキュメントを削除する
システムの拡張
新しいドキュメントプロセッサの追加
BaseProcessor
を継承する新しいプロセッサ クラスを作成するcan_handle
とprocess
メソッドを実装するapi/routes.py
でルーターにプロセッサを追加します。
新しいモデルの追加
- 適切なプロトコルを実装する新しいモデルクラスを作成する
config/config.yaml
に設定を追加する- モデルを関連プロセッサと統合する
ライセンス
This server cannot be installed
モデル コンテキスト プロトコル (MCP) を使用して、ビジネス ドキュメントを自動的に分類、情報抽出、ルーティングするインテリジェントなドキュメント処理システム。
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.Last updated -1474JavaScriptApache 2.0
- -securityAlicense-qualityA tool for Model Context Protocol (MCP) that allows you to analyze web content and add it to your knowledge base, storing content as Markdown files for easy viewing with tools like Obsidian.Last updated -6PythonMIT License
- -securityAlicense-qualityA server that provides document processing capabilities using the Model Context Protocol, allowing conversion of documents to markdown, extraction of tables, and processing of document images.Last updated -6PythonMIT License
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that provides tools for reading Excel (xlsx) files, enabling extraction of data from entire workbooks or specific sheets with results returned in structured JSON format.Last updated -32PythonApache 2.0