================================================================================
■ pdf_as MCP (Model Context Protocol) サーバー機能説明書
================================================================================
【対象バージョン】 pdf_as Ver 1.67 以降
【対応AIクライアント】 Claude Desktop, Cursor, Antigravity, VSCode (Roo/Cline), その他MCP準拠AI
【通信方式】 SSE (Server-Sent Events) 方式 / stdio (標準入出力) 方式
================================================================================

【 1. 概要 】
  pdf_as MCP サーバーは、AIアシスタント（Claude Desktop, Cursor, Antigravity 等）から
  pdf_as の強力な PDF 加工機能・高精度 OCR 機能を直接自律操作できるようにする
  ローカル連携サーバーです。

  ユーザーは AI にチャットで「このPDFを結合して」「1ページずつ分割して」「右に90度回転して」
  「高精度OCRで文字起こしして」「電帳法形式でリネームして台帳を作って」と伝えるだけで、
  AI が裏で pdf_as を自動呼び出しし、0.2〜0.5秒程度の超高速で処理を完了します。

  ・外部クラウドを介さない完全ローカル実行（高い機密性とセキュリティ）
  ・指定した「処理フォルダ（ワークスペース）」外へのアクセスを完全遮断する安全保護機能
  ・PDFの改変・上書きを禁止する「読み取り専用モード」対応


【 2. 起動方法と GUI 設定画面 】
  メニュー［オプション(O)］→［MCP サーバー設定・起動(&M)...］を選択すると設定画面が開きます。

  ① サーバー稼働状態
     ・［▶ サーバー起動］ボタンをクリックすると、バックグラウンドでローカルサーバーが起動します。
     ・［🌐 ブラウザで確認］ボタンを押すと、稼働状態と利用可能ツール一覧をブラウザで確認できます。

  ② サーバー設定
     ・処理フォルダ（ワークスペースディレクトリ）：
       AIアシスタントがアクセス・操作可能なフォルダを指定します。
       ※セキュリティ保護のため、このフォルダの外側にあるファイルは操作できません。
     ・ポート番号：
       初期値は一般的な 8080 を避け、重複しにくい【 9876 】に設定されています。
       （他のアプリと重複した場合は自動的にポート番号を繰り上げて起動します）
     ・読み取り専用モード：
       チェックを入れると、AIによるファイルの作成・変更・削除を禁止し、
       情報の読み取り（OCRテキスト抽出、ページ数確認、一覧取得等）のみに制限できます。

  ③ AIクライアント接続設定アシスト
     ・タブを切り替えるだけで、各有名AIツール向けの設定JSONと保存先パスを表示・コピーできます。
     ・［📁 設定フォルダを開く］ボタンで、各AIの設定保存先フォルダを一発で開くことができます。


【 3. 主要 AI ツールへの設定方法 】

  ■ 1. Claude Desktop
     設定ファイル保存先： %APPDATA%\Claude\claude_desktop_config.json
     設定内容：
     {
       "mcpServers": {
         "pdf-as": {
           "url": "http://localhost:9876/sse"
         }
       }
     }

  ■ 2. Cursor
     設定場所： ワークスペース直下の .cursor\mcp.json または 設定(Features > MCP)
     設定内容：
     {
       "mcpServers": {
         "pdf-as": {
           "url": "http://localhost:9876/sse"
         }
       }
     }

  ■ 3. Antigravity
     設定ファイル保存先： %USERPROFILE%\.gemini\config\mcp_config.json
     設定内容：
     {
       "mcpServers": {
         "pdf-as": {
           "serverUrl": "http://localhost:9876/sse",
           "url": "http://localhost:9876/sse"
         }
       }
     }

  ■ 4. VSCode (Roo Code / Cline)
     設定ファイル保存先： %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json
     設定内容：
     {
       "mcpServers": {
         "pdf-as": {
           "url": "http://localhost:9876/sse",
           "disabled": false,
           "autoApprove": []
         }
       }
     }

  ■ 5. 直接起動方式 (stdio / 常駐サーバー不要)
     AIクライアント側で常駐サーバーを起動せず、AIが子プロセスとして直接起動する設定です：
     {
       "mcpServers": {
         "pdf-as": {
           "command": "C:\\path\\to\\pdf_as.exe",
           "args": [
             "--stdio",
             "--dir",
             "C:\\Users\\...\\処理フォルダ"
           ]
         }
       }
     }


【 4. 提供されている全20種類の MCP Tools リスト 】

--------------------------------------------------------------------------------
1. ページ編集・結合・分割
--------------------------------------------------------------------------------
■ pdf_combine
  【機能】複数のPDFファイルや各種画像（PNG/JPG/BMP/GIF/TIFF）を1つのPDFに結合します。
  【主な引数】files（ファイル一覧配列）, outputFile（出力PDF名）, password（解除パスワード）
  【AI指示例】「A.pdf と B.pdf と 写真.png を結合して まとめ.pdf を作って」

■ pdf_split
  【機能】PDFファイルを1ページごとの個別PDFファイルに一括分割します。
  【主な引数】file（対象ファイル）, outputDir（保存フォルダ）, password（解除パスワード）
  【AI指示例】「この資料を1ページずつ分割して pages フォルダに保存して」

■ pdf_extract_pages
  【機能】PDFから指定したページのみを抜き出して新しいPDFファイルを作成します。
  【主な引数】file（対象ファイル）, pages（例: "1-3,5"）, outputFile（出力PDF名）
  【AI指示例】「2ページ目と 5〜7ページ目だけを抜き出して 抜粋.pdf を作って」

■ pdf_delete_pages
  【機能】PDFから指定したページを削除した新しいPDFファイルを作成します。
  【主な引数】file（対象ファイル）, pages（例: "2,4"）, outputFile（出力PDF名）
  【AI指示例】「表紙と最後の白紙ページ（1, 10ページ目）を削除して」

■ pdf_rotate
  【機能】PDFの全ページまたは指定ページを回転します（90度、180度、270度）。
  【主な引数】file（対象ファイル）, angle（90/180/270）, pages（任意）, outputFile
  【AI指示例】「横向きになっているページを右に90度回転して」

--------------------------------------------------------------------------------
2. OCR・画像化・AI連携・電帳法支援
--------------------------------------------------------------------------------
■ pdf_ocr_extract
  【機能】高精度OCR（Tesseract＋画像前処理＋表記揺れ自動補正）を用いてPDFからテキストを抽出します。
  【主な引数】file（対象ファイル）, saveTextFile（テキスト保存有無）, outputTxtPath
  【AI指示例】「スキャンしたPDFから高精度OCRで文字起こしをしてテキストファイルに保存して」

■ pdf_denchoho_process
  【機能】電子帳簿保存法支援：領収書や請求書PDFから取引先名・日付・金額・インボイス番号を高精度OCRで抽出し、
          ファイル名を自動リネーム＆検索用CSV台帳（Index_Searchable.csv）を作成します。
  【主な引数】subDir（対象サブフォルダ）, applyRename（リネーム実行有無）, generateCsv
  【AI指示例】「フォルダ内の領収書PDFを電帳法形式でリネームしてCSV台帳を作成して」

■ pdf_optimize
  【機能】PDFファイルを最適化・圧縮・軽量化します。
  【主な引数】file（対象ファイル）, mode（balanced / size / quality / bw）, outputFile
  【AI指示例】「メール添付用に画質を保ちながらファイルサイズを圧縮して」

■ pdf_extract_images
  【機能】PDFファイル内部に埋め込まれているオリジナル画像を無劣化で一括抽出します。
  【主な引数】file（対象ファイル）, outputDir（保存先フォルダ）
  【AI指示例】「PDFの中に含まれている画像をすべて取り出して images フォルダに保存して」

■ pdf_rasterize
  【機能】PDFの全ページを高解像度画像（PNG または JPEG）にラスタライズして保存します。
  【主な引数】file（対象ファイル）, dpi（デフォルト: 300）, format（png / jpeg）, outputDir
  【AI指示例】「全ページを 300dpi の鮮明な PNG 画像に変換して」

■ pdf_convert_images
  【機能】複数の画像ファイル（JPG, PNG, BMP等）を1つのPDFファイルに変換・結合します。
  【主な引数】files（画像ファイル一覧）, outputDir（保存フォルダ）
  【AI指示例】「スキャンした写真をまとめて1つのPDFに変換して」

--------------------------------------------------------------------------------
3. セキュリティ・パスワード設定
--------------------------------------------------------------------------------
■ pdf_set_security
  【機能】PDFファイルに閲覧パスワード、編集・印刷禁止などの制限、およびAES-256bit暗号化を適用します。
  【主な引数】file（対象ファイル）, userPassword（閲覧パスワード）, ownerPassword（権限パスワード）,
              allowPrint（印刷許可）, allowCopy（コピー許可）, allowModify（編集許可）,
              isAes256（デフォルト: true）, outputFile
  【AI指示例】「パスワード 'secret2026' で暗号化し、印刷とテキストコピーを禁止して」

■ pdf_decrypt
  【機能】パスワードで保護されたPDFを解除し、パスワード不要の通常PDFとして保存します。
  【主な引数】file（対象ファイル）, password（現在のパスワード）, outputFile
  【AI指示例】「パスワード 'secret2026' を解除して誰でも開けるPDFにして」

--------------------------------------------------------------------------------
4. メタデータ・しおり（目次）編集
--------------------------------------------------------------------------------
■ pdf_set_properties
  【機能】PDF文書のタイトル、作成者、サブジェクト、キーワード等のプロパティ情報を設定します。
  【主な引数】file（対象ファイル）, title, author, subject, keywords, outputFile
  【AI指示例】「このPDFのタイトルを『2026年度事業計画』、作成者を『企画部』に設定して」

■ pdf_export_bookmarks
  【機能】PDFファイルのしおり（目次構造）をXMLまたはテキストファイルとしてエクスポートします。
  【主な引数】file（対象ファイル）, outputFile（XMLまたはTXT）
  【AI指示例】「PDFの目次構造をテキストファイルに書き出して」

■ pdf_import_bookmarks
  【機能】XMLまたはテキスト形式のしおり定義ファイルを読み込み、PDFに目次構造を再構築します。
  【主な引数】file（対象ファイル）, bookmarkFile（定義ファイル）, outputFile
  【AI指示例】「修正した目次テキストを読み込んでPDFにしおりを再登録して」

--------------------------------------------------------------------------------
5. ワークスペース・ファイル確認（AI の状況把握用）
--------------------------------------------------------------------------------
■ get_workspace_info
  【機能】現在設定されている処理フォルダの絶対パス、読取専用モード、高精度OCRエンジンの有効状態を取得します。
  【主な引数】なし
  【AI指示例】「現在の処理フォルダとOCRエンジンの状態を教えて」

■ list_files
  【機能】処理フォルダ内のファイルおよびサブディレクトリ一覧を取得します。
  【主な引数】subDir（任意）
  【AI指示例】「処理フォルダの中にどんなPDFが入っているか一覧で見せて」

■ get_pdf_info
  【機能】指定したPDFファイルのページ数、暗号化・保護状態、文書メタデータを取得します。
  【主な引数】file（対象ファイル）, password（パスワード保護時）
  【AI指示例】「このPDFの総ページ数と暗号化の有無を教えて」

■ read_text_file
  【機能】処理フォルダ内のテキストファイル、OCR抽出テキストファイル、CSVファイル等の内容を読み取ります。
  【主な引数】file（テキストファイル名）
  【AI指示例】「先ほど作成された台帳CSVの内容を読み取って要約して」

================================================================================
