MCP PDF Server
MCP PDF Serverは、PDFファイルを効率的に管理できるModel Context Protocol(MCP)ベースのサーバーです。
このプロジェクトは、組み込み開発者である私が、CursorなどのAIコーディングツールでPDFデータシート文書を直接読み、要約したり、クエリ応答などで開発業務をより便利にできるようにした。つまり、AIがPDFデータシートの内容をすばやく把握し、必要な情報をすぐに提供できるように支援することが主な目的です。
このプロジェクトは2つの主要コンポーネントで構成されています。
manager_server :FastAPIベースのWebページで、ユーザーがWeb UIを通じてPDFファイルをアップロードまたはダウンロードし、ファイルリストを照会・管理する機能を提供します。また、外部システムとの連携のためのRESTful APIも付属しています。
mcp_server : manager_serverで管理するPDFファイルに基づいて、ファイル名検索とテキスト抽出機能を提供します。抽出されたテキストは、MCPプロトコルを介して外部システム(Cursorなど)と連動できます。
主な機能:
PDFテキストの抽出(ローカルファイルとURLのサポート)
ファイル名ベースのPDF検索
PDFリストの閲覧と管理
PDFファイルのWebアップロード/ダウンロードのサポート
RESTful APIとWebサービスの提供
MCPプロトコルを介した外部システム(Curator、Cursorなど)の連動
RESTful APIとWeb UIを介して外部システムと簡単に連携でき、Dockerとローカル環境の両方で簡単にデプロイおよび操作できます。データシート・論文・契約書など様々なPDF文書の自動化された管理と検索に適しています。
主な特長
ローカルPDFファイルとURLでアクセス可能なPDFからテキストを抽出する
/app/datasheetsの PDF ファイルリストを提供ファイル名でPDF検索機能を提供
PyPDF2ベースの安定したテキスト抽出と例外処理
FastMCPベースの標準化されたMCPツールを提供
Related MCP server: File MCP Server
Dockerで実行する
イメージビルド
docker build -t mcp-pdf-server:1.0.0 .コンテナの実行
docker run -d \ -v /호스트/경로/데이터:/app/datasheets \ -p 5050:5050 \ -p 5080:5080 \ --name mcp-pdf-server \ mcp-pdf-server:1.0.0/호스트/경로/데이터にPDFファイルを配置すると、コンテナ内の/app/datasheets/datasheetsからアクセスできます。5050、5080ポートが使用されます。
docker-composeを使用する場合
# docker-compose.yml의 /path/to/your/datasheets를 실제 PDF 폴더 경로로 수정하세요. docker-compose up -d --build
ローカル(Python)で直接実行する
依存関係のインストール
pip install -r requirements.txtサーバーの実行
python mcp_server/mcp_pdf_server.py # 또는 uvicorn manager_server.main:app --host 0.0.0.0 --port 5080
MCPツール(API)の説明
read_local_pdf
ローカルPDFファイルパスを入力してテキストを抽出します。read_url_pdf
PDFファイルのURLを入力してテキストを抽出します。server_pdf_list
/app/datasheetsすべての PDF ファイルのリストを返します。server_pdf_search
ファイル名を入力してサーバー上のPDFファイルを検索し、そのPDFのテキストを抽出します。
ルートガイド
PDFデータは
/app/datasheetsパス(ドッカーコンテナ内)に配置する必要があります。ドッカーを使用する場合は、ホストのPDFフォルダを
/app/datasheetsとしてマウントしてください。ソースコードは
/app/mcp_serverにあります(コンテナの内部基準)。
ライセンス
Apache License 2.0
著者: Dev91