mcpField
U
Utilitly PDF

Utilitly PDF

ローカル
utilitly.com生産性02 週間前に更新

Utilitly PDF について

Utilitly PDF は、AI アプリから利用できるローカル MCP サーバーで、PDF のページを操作します。アクセス対象のフォルダーを制限でき、結果は元ファイルとは別に保存されます。

主な機能

  1. 01PDF ファイルの結合
  2. 02ページ範囲による PDF 分割
  3. 03ページの抽出、回転、削除、並べ替え、複製
  4. 04ページ数、ファイルサイズ、暗号化状態の確認
  5. 05指定フォルダーへのアクセス制限
  6. 06元ファイルを上書きせず新規ファイルを作成

活用シーン

  1. 01月次レポートを 1 つの PDF にまとめる
  2. 02ハンドブックを複数の章に分割する
  3. 03スキャン文書のページを回転または削除する
  4. 04PDF のページ数とパスワード保護を確認する

MCP 対応

ローカルサーバーを通じて、MCP クライアントに PDF の情報取得と編集ツールを提供します。ファイルはコンピューター上で読み書きされ、PDF の内容はアップロードされません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"com-utilitly": {
"command": "npx",
"args": [
"-y",
"@utilitly/mcp"
]
}
}
}
起動コマンドnpx -y @utilitly/mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@utilitly/mcp0.1.1

ツール

8

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはいPDF ファイルの絶対パス、または ~/ で始まるパス。

詳細

AI チャットで、誰かが 2 つの請求書を結合して空白ページを削除するよう依頼し、merge_pdfs と delete_pages ツールが実行され、変更されていない元のファイルの隣に新しい PDF が表示されます

@utilitly/mcp

Utilitly PDF MCP server

Claude、ChatGPT デスクトップアプリ、Codex、Gemini CLI、Cursor、およびローカル MCP サーバーを実行できるその他のアプリ向けの PDF MCP サーバーです。AI にページの結合、分割、回転、削除、並べ替え、複製を依頼すると、お使いのコンピューター上の PDF ファイルを操作します。

サーバーは AI アプリの隣でローカルに実行され、ファイルが置かれている場所で編集します。Utilitly のオープンソース PDF エンジンをベースに構築されており、utilitly.com の無料ツールを移植したものです。ファイルが置き換えられることはなく、処理結果はすべて元のファイルの隣に新しい PDF として保存されます。

インストール

Node.js 22 以降が必要です。初回の実行時に、サーバーが npx を通じてダウンロードされます。

パッケージ名の後に指定するフォルダーが、サーバーによる読み書きが許可される唯一の場所です。PDF の保存場所に合わせて変更してください。

Claude Code

claude mcp add utilitly -- npx -y @utilitly/mcp ~/Documents ~/Downloads ~/Desktop

Claude Desktop:設定を開き、「Developer」、「Edit Config」の順に選択して、claude_desktop_config.json に次の内容を追加します。その後、Claude Desktop を再起動してください。

{
  "mcpServers": {
    "utilitly": {
      "command": "npx",
      "args": ["-y", "@utilitly/mcp", "~/Documents", "~/Downloads", "~/Desktop"]
    }
  }
}

Cursor:同じ mcpServers ブロックを ~/.cursor/mcp.json に記述してください。

ChatGPT デスクトップアプリと Codex は同じ設定を共有するため、どちらか一方にサーバーを追加すれば両方で使えます。ChatGPT アプリで「設定」、「MCP サーバー」、「サーバーを追加」の順に開きます。STDIO を選び、コマンドに npx、引数に -y @utilitly/mcp ~/Documents ~/Downloads ~/Desktop を入力して保存し、再起動します。Codex CLI から設定する場合:

codex mcp add utilitly -- npx -y @utilitly/mcp ~/Documents ~/Downloads ~/Desktop

Gemini CLI:-- の後のすべての内容は npx に渡され、-s user を指定すると、Gemini を起動するすべてのフォルダーでサーバーを利用できます。

gemini mcp add -s user utilitly npx -- -y @utilitly/mcp ~/Documents ~/Downloads ~/Desktop

ローカル(stdio)MCP サーバーを起動できるその他のアプリでは、コマンドに npx、引数に -y @utilitly/mcp を指定し、その後にフォルダーを続けてください。

このサーバーは公式 MCP Registry に com.utilitly/mcp としても登録されているため、レジストリを参照するアプリやディレクトリから、この名前で見つけられます。

フォルダー一覧について

シンボリックリンクが解決された後にチェックが行われるため、許可されたフォルダー内のリンクから別の場所へ移動することはできません。

フォルダーを指定しない場合、サーバーはアクセス可能な任意のファイルを使用できます。それでも、ファイルが上書きまたは削除されることはなく、PDF の内容が AI に表示されることもありません。ただし、別の場所で読み取った情報に惑わされた AI が、PDF を任意のフォルダーにコピーする可能性があります。全フォルダーで使う必要がない場合は、フォルダーを指定してください。

30 秒で試す

インストール後、自然な言葉で依頼し、完全なパスを使ってください。

  • 「~/Downloads/march.pdf と ~/Downloads/april.pdf を結合して。」
  • 「~/Desktop/scan.pdf の空白ページ 3 を削除して。」
  • 「~/Documents/handbook.pdf を、1~12 ページ、13~30 ページ、31 ページから最後までに分割して。」
  • 「~/Desktop/scan.pdf の 2~4 ページが横向きになっています。正しい向きに回転して。」
  • 「~/Documents/contract.pdf は何ページありますか? ロックされていますか?」

ツール

ツール動作新規に書き込むファイル
pdf_infoページ数、ファイルサイズ、先頭ページのサイズ、PDF がパスワードで保護されているかどうかを確認します。変更は行いません。なし
merge_pdfs指定された順序で PDF を結合します。<first>-merged.pdf
split_pdf範囲ごとに 1 つのファイルを作成します。例:"1-2, 3-end"<name>-part1.pdf、-part2.pdf、…
extract_pages選択したページをページ順に 1 つの PDF にまとめます。<name>-pages.pdf
rotate_pdfページを 90 度単位で回転します。<name>-rotated.pdf
delete_pagesページを削除します。少なくとも 1 ページは残す必要があります。<name>-trimmed.pdf
reorder_pagesすべてのページを新しい順序に並べ替えます。<name>-reordered.pdf
duplicate_pages各ページの後または末尾にコピーを追加します。<name>-duplicated.pdf

結果は入力ファイルと同じフォルダーに保存されます。書き込みを行う各ツールでは省略可能な output_path も指定できます。また、split_pdf では省略可能な output_folder も指定できます。ページの指定には、"2"、"1-3, 5"、"4-end" のような形式を使います。

問題が発生すると、AI に短いコードと、対処可能なメッセージが返されます。例:NO_PAGES: "9" doesn't match any page. The PDF has 4 pages. や ENCRYPTED: File 2 is password-protected. Remove the password first, then try again.

操作できるもの、できないもの

  • ファイルが上書きされることはありません。report-merged.pdf がすでに存在する場合、結果は report-merged-2.pdf になり、すでに存在する output_path は拒否されます。
  • 入力ファイルは読み取りのみで、変更されることはありません。
  • パスは絶対パス、または ~/ で始まるパスである必要があります。そのため、相対パスによって AI が誤ったフォルダーにアクセスすることはありません。
  • インストール時にフォルダーを指定した場合、その範囲外のファイルを読み書きすることはできません。
  • パスワードで保護された PDF は変更されず、処理が拒否されます。pdf_info はファイルがロックされていることを報告します。
  • 1 回の呼び出しで、入力ファイルの合計ページ数を超えて追加できるのは最大 10,000 ページです。また、分割で書き込めるファイルは最大 1,000 個です(PDF がそれより長い場合はページごとに 1 個)。1 億個のコピーを作るような誤ったリクエストは、処理が始まる前に拒否されます。

アップロードされない理由

ネットワークへのすべての接続経路を遮断するテストの後、8 つすべてのツールを実行します。各ツールは完了し、接続が開かれることなくテストに合格します

PDF の処理は、このサーバー内で、お使いのマシン上で行われます。サーバーにはネットワークコードが一切含まれていません。test/network.test.ts は変更のたびにこれを検証します。接続の開始、ホスト名の検索、fetch の呼び出しがすべて例外をスローするようにしたうえで各ツールを実行し、すべてが正常に動作することを確認します。

AI アプリは通常どおりモデルと通信します。その会話には入力した内容(ファイルパスを含む)と、各ツールからの短い応答(書き込んだパス、ページ数、ファイルサイズ)が含まれます。このサーバーが PDF の内容を会話に含めることはありません。

知っておくとよいこと

  • merge_pdfs、split_pdf、extract_pages、delete_pages、reorder_pages、duplicate_pages は新しい PDF を作成するため、ブックマーク、文書プロパティ、機能するフォームフィールドは結果に引き継がれません。rotate_pdf は文書全体を保持します。
  • ページ間で共有されている画像とフォントは共有されたままなので、結果のファイルサイズが大幅に増えることはありません。
  • 実行中のものを確認するには、npx -y @utilitly/mcp --version でバージョンを、--help で使い方を表示します。

ライセンス

MIT。@utilitly PDF engines と pdf-lib(どちらも MIT)、および公式の MCP TypeScript SDK(Apache-2.0)を基盤としています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。