abox.tools について
abox.toolsは、画像やPDFの処理、ファイルのチェックサム計算を行う、エージェント向けのローカルMCPサーバー兼コマンドラインツールです。ファイルは利用者のコンピューター上で処理され、出力パスと簡潔なJSON結果を返します。
主な機能
- 01画像の圧縮、サイズ変更、変換
- 02PDFの結合、分割、並べ替え、回転
- 03画像からPDFへの変換
- 04画像メタデータの確認と削除
- 05ファイルのチェックサム計算
- 06MCPまたはCLIでの操作
活用シーン
- 01画像を指定ファイルサイズに圧縮
- 02PDFページの並べ替えや分割
- 03画像ファイルからPDFを作成
- 04共有前に画像メタデータを削除
MCP 対応
画像処理、PDF編集、メタデータ操作、チェックサム計算用のローカルMCPツールを提供します。アダプターによる処理中、ファイルのバイトデータはコンピューター上に保持されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
エージェント向け abox.tools
Abox Technologies が公開しています。既存の abox.tools のコードを使って、画像の圧縮、サイズ変更、変換、PDFページの結合、分割、並べ替え、回転、画像からPDFへの変換、画像メタデータの確認や削除、ファイルのチェックサム計算ができます。エージェントはローカルパスを渡し、出力パスと簡潔なJSON結果を受け取ります。ファイルのバイトデータはお使いのコンピューターから外部に送信されません。
最新リリースをダウンロード。
Official MCP Registry に io.github.A-Box-of-Tools/abox-tools として登録されています。新しいタグ付きリリースは、ダウンロードの検証に合格すると、Registry が自動的に更新されます。
リリースバンドルには、Node.js、本番用の依存関係、固定された処理コード、共有スキルが含まれています。Node や npm のインストール、セットアップコマンドの入力は不要です。画像処理と画像からPDFへの変換には、Edge、Chrome、または Chromium のインストールが必要です。 PDFの編集、メタデータ操作、チェックサム計算には必要ありません。
Codex にインストールする
リリースの Assets から、該当する .zip をダウンロードします。
| リリースラベル | コンピューター |
|---|---|
windows-x64 | Intel または AMD の64ビットプロセッサーを搭載した Windows |
macos-arm64 | Appleシリコン搭載の Mac |
macos-x64 | Intelプロセッサー搭載の Mac |
linux-x64 | Intel または AMD の64ビットプロセッサーを搭載した Linux |
- ZIP全体を、恒久的に使用するフォルダーに展開します。たとえば、0.4.0 の Windows バンドルを展開すると
abox-tools-0.4.0-windows-x64になります。ローカルマーケットプレイスがプラグインの更新にこのフォルダーを使用するため、フォルダーは移動しないでください。 - 展開したフォルダー内の
START-HERE.htmlを開きます。このページはオフラインで動作します。Install in Codex を選択し、ブラウザーからデスクトップアプリを開くことを許可したら、プラグインの詳細ページで Install を選択します。 - 新しいローカルチャットを開始し、以下の操作を依頼します。
codex:// リンクハンドラーが利用可能な状態で、デスクトップアプリがインストールされている必要があります。ボタンを押すと、アプリがサポートするローカルプラグインの詳細リンクが開き、インストールはアプリが処理します。OpenAI の公式ディープリンクドキュメントをご覧ください。ブラウザーがリンクをブロックする場合は、Windows では Install in Codex.cmd、macOS では Install in Codex.command を使用してください。Linux には、シェルスクリプトの実行に対応したファイルマネージャー向けに Install in Codex.sh が含まれています。これらのランチャーは同じ詳細ページを開き、一時的にターミナルが表示される場合がありますが、コマンドを入力する必要はありません。
Claude Desktop にツールをインストールする
同じリリースから universal.mcpb をダウンロードし、Claude Desktop で開いて、インストール画面の指示に従います。1つのファイルで Windows x64、Linux x64、Appleシリコンと Intel の両方を搭載した Mac に対応します。ランタイムと処理用の依存関係も含まれています。プラットフォーム別の小型の MCPB も用意されています。MCP ツールがインストールされます。共有エージェントスキルは Codex ZIP に含まれています。
ファイルを開いてもインストーラーが表示されない場合は、Settings → Desktop app → Manage の Extensions の横にある項目を開き、次に Advanced settings → Install Extension… を選択して .mcpb を指定します。Claude のデスクトップ拡張機能の手順をご覧ください。バンドル形式と MCP の実行は、CI ですべての4つのプラットフォームについて確認されています。0.2.1 のユニバーサルバンドルは Windows の Claude Desktop にインストールして有効化され、アプリにはローカル MCP サーバーが「Running」と表示されました。macOS のデスクトップインターフェースでは確認していません。更新するには、新しいバンドルをダウンロードしてインストールしてください。カスタム MCPB は自動更新されません。
バージョン 0.3.0 では、公開元が Abox Technologies に修正されています。デスクトップホストに以前の公開元の項目と新しい項目の両方が表示される場合は、ツールの重複を避けるため、古い項目を無効にしてください。
Gemini CLI にインストールする
Gemini CLI をインストールした状態で、次を実行します。
gemini extensions install https://github.com/A-Box-of-Tools/abox-tools-plugin
Gemini は、最新の GitHub Release から一致するビルド済みアーカイブを選択します。 拡張機能には、ランタイム、依存関係、共有スキルが含まれています。インストール プロンプトを確認し、ローカルの MCP サーバーを許可してください。詳しくは、 Gemini extension release guide をご覧ください。
Cursor にツールをインストールする
一致するネイティブ ZIP を展開し、START-HERE.html を開いて、Cursor に
ツールをインストールを選択します。Cursor は追加する前に、ローカルサーバーの
設定を表示します。展開したフォルダーはそのまま保持してください。これにより MCP
ツールが追加されます。共有スキルは別途インストールできます。このリポジトリの
Cursor プラグイン経由の方法では、Node と一度限りのアダプター設定が必要です。
Cursor installation をご覧ください。
skills.sh を通じて共有スキルをインストールする
skills CLI がサポートするエージェントの場合(Node 22.20 以降):
npx skills add A-Box-of-Tools/abox-tools-plugin --skill abox-local-files
次に、エージェントに abox.tools ローカルアダプターをセットアップするよう依頼します。このスキルには、 一致するパッケージ済みリリースをダウンロードし、チェックサムを検証して、 バンドルされたランタイムをインストールする Python 3.9 以降のセットアップスクリプトが含まれています。 このプロジェクトをクローンしたり、ビルドしたりする必要はありません。詳しくは standalone setup をご覧ください。 skills.sh listing は公開されています。Gemini のリリースインストールは検証済みですが、ギャラリーへの登録は保留中です。
エージェントに依頼する
- 「この写真を 500 KB 未満に圧縮して、新しいコピーを保存してください。」
- 「この写真を、幅 1200 ピクセル、高さ 800 ピクセル以内に収まるようにリサイズしてください。」
- 「この PNG を WebP に変換してください。」
- 「これらの PDF をこの順序で結合してください。」
- 「この PDF をページごとに 1 つのファイルに分割してください。」
- 「1~3 ページと 4~6 ページを、それぞれ 2 つの PDF として抽出してください。」
- 「3 ページ、1~2 ページ、そして 3 ページの別のコピーを含む PDF を 1 つ作成してください。」
- 「2~4 ページを時計回りに 90 度回転してください。」
- 「これらの写真をこの順序で 1 つの PDF にまとめてください。」
- 「この画像に EXIF または XMP メタデータが含まれているか確認してください。」
- 「向きと色は保持したまま、位置情報などの画像メタデータを削除してください。」
- 「これらのファイルの SHA-256 チェックサムを計算してください。」
すべての入力パスと出力パスには絶対パスを指定する必要があります。既存の出力が 上書きされることはありません。画像圧縮では正確なバイト数を目標に指定できます。結果には、 目標を達成したかどうかが報告されます。
| MCP ツール | 必須引数 | 便利なオプション |
|---|---|---|
abox_capabilities | なし | 形式、制限、デフォルトを一覧表示します。 |
abox_image_compress | input_path、output_path、target_bytes | format:keep、auto、jpeg、png、webp;allow_resize |
abox_image_resize | input_path、output_path、width、および/または height | fit:contain または cover;allow_upscale:false;format、quality、background |
abox_image_convert | input_path、output_path、format | jpeg、png、または webp;quality は 0~1;JPEG の background |
abox_pdf_split | input_path、output_dir | mode:each、every、ranges;pages_per_file;ranges;keep_bookmarks |
abox_pdf_merge | input_paths、output_path | 入力順で 2~32 個の PDF;keep_bookmarks |
abox_pdf_select | input_path、output_path、pages | 3,1-2,3 のような順序付きの指定;keep_bookmarks |
abox_pdf_rotate | input_path、output_path、degrees | 時計回りに 90、180、または 270 度;pages のデフォルトは all;すべてのページを保持 |
abox_images_to_pdf | input_paths、output_path | 1 ページにつき画像 1 枚;page_size、orientation、fit、margin_mm、dpi、image_mode、quality、max_side、background |
abox_exif_inspect | input_path | 読み取り専用のメタデータ一覧;非公開のタグ値は返しません |
abox_exif_remove | input_path、output_path | keep_orientation;keep_icc |
abox_file_hash | input_path | algorithms:MD5、SHA-1、SHA-256(デフォルト)、SHA-384、SHA-512 |
CLI を使用する
CLI では、MCP を使わずに同じ操作を実行できます。これらのコマンドは、ソースチェックアウトで Node を使用します。リリースバンドルでは、node を ./runtime/node に置き換えてください。Windows の場合は .\runtime\node.exe に置き換えます。
node bin/abox.mjs capabilities
node bin/abox.mjs doctor
node bin/abox.mjs compress-image --request-file /absolute/path/compress.json
node bin/abox.mjs resize-image --request-file /absolute/path/resize.json
node bin/abox.mjs convert-image --request-file /absolute/path/convert.json
node bin/abox.mjs split-pdf --request-file /absolute/path/split.json
node bin/abox.mjs merge-pdf --request-file /absolute/path/merge.json
node bin/abox.mjs select-pdf-pages --request-file /absolute/path/select.json
node bin/abox.mjs rotate-pdf --request-file /absolute/path/rotate.json
node bin/abox.mjs images-to-pdf --request-file /absolute/path/photos.json
node bin/abox.mjs inspect-exif --request-file /absolute/path/inspect.json
node bin/abox.mjs remove-exif --request-file /absolute/path/metadata.json
node bin/abox.mjs hash-file --request-file /absolute/path/hash.json
圧縮リクエストファイルの内容は次のとおりです。
{
"input_path": "/absolute/path/photo.jpg",
"output_path": "/absolute/path/photo-small.jpg",
"target_bytes": 500000,
"format": "keep",
"allow_resize": true
}
ページ範囲リクエストファイルの内容は次のとおりです。
{
"input_path": "/absolute/path/document.pdf",
"output_dir": "/absolute/path/document-parts",
"mode": "ranges",
"ranges": ["1-3", "4-6"],
"keep_bookmarks": true
}
画像メタデータリクエストファイルの内容は次のとおりです。
{
"input_path": "/absolute/path/photo.jpg",
"output_path": "/absolute/path/photo-clean.jpg",
"keep_orientation": true,
"keep_icc": true
}
--request '<JSON>' もサポートされていますが、シェルの引用符のルールに従う必要があります。リクエストファイルを使えば、こうした違いを避けられます。CLI は JSON の概要を出力し、ファイルの内容は出力しません。
制限事項と動作
- 画像の圧縮、サイズ変更、形式変換:JPEG、PNG、静止 WebP に対応します。アニメーション画像は受け付けません。サイズ変更では画像全体を収める(
contain)か、中央で切り抜く(cover)かを選べます。デフォルトでは拡大しません。再エンコードすると色が変わる場合があり、元のメタデータは削除されます。サイズ変更が不要な場合は、元のバイト列が保持されます。 - メタデータの削除:アニメーションを含む JPEG、PNG、WebP コンテナに対応します。
- PDF:暗号化されていない入力に対応し、最大 5,000 ページ、出力ファイルは最大 1,000 個です。結合では 2~32 個の PDF を受け付け、合計サイズは最大 128 MiB です。ページ選択では、カンマ区切りの項目の順序と重複が保持されます。範囲は昇順に展開されます。例:
3,1-2,3は 3,1,2,3 になります。逆順にする場合は、項目を明示してください。インタラクティブフォームのフィールド名が重複する PDF の結合は、現在ソースエンジンでサポートされておらず、出力を作成する前に失敗します。ツールの応答に含まれる出力項目は最大 20 個です。これを超える分割では、すべての出力パスと元のページを記載したローカルのmanifest.jsonも作成されます。 - 画像から PDF への変換:静止 JPEG、PNG、WebP に対応し、1 ページにつき画像 1 枚、合計サイズは最大 128 MiB、画像あたり最大 80 メガピクセルです。デフォルトでは A4、向きは自動、
contain、余白なしです。keepを指定すると、元の JPEG ストリームをメタデータ付きで埋め込めます。クリーンなドキュメントが必要な場合は、先にメタデータを削除してください。losslessはデコードされた画像のピクセルを保持します。jpegは指定した品質で再エンコードします。 - チェックサム:読み取り専用でストリーミング処理に対応し、空のファイルと最大 8 GiB のファイルを扱えます。
- その他の各入力:最大 128 MiB です。
- 圧縮:画像あたり最大 80 メガピクセル、処理時間は最大 2 分です。
autoでは、選択された形式に合わせて出力拡張子が変更される場合があります。ほかのモードでは、変更のない元ファイルも含め、出力拡張子を実際のバイト列の形式と一致させる必要があります。 allow_resizeがfalseでない限り、圧縮時に画像のサイズが変更されることがあります。すでに目標を満たしているファイルは、メタデータを保持したまま変更せずに処理される場合があります。メタデータの削除が必要なタスクでは、メタデータの削除を使用してください。- メタデータの削除では、PNG と WebP のコンテナを編集するため、アニメーションを保持できます。圧縮では、アニメーションを平坦化せずに処理を拒否します。
- PDF の分割では、新しい PDF が作成されます。ドキュメントのタグやメタデータが削除される場合があり、デジタル署名は有効な署名として保持されません。出力ページ数は検証されます。サポートされている場合、デフォルトでブックマークが保持されます。
- メタデータの削除では、表示を維持するため、デフォルトで向きと ICC プロファイルが保持されます。これらのサポート対象フィールドも削除するには、
keep_orientationとkeep_iccをfalseに設定してください。表示される向きや色が変わる場合があります。画像が匿名であることを保証するものではありません。
リリースのダウンロードやブラウザーのインストールにはネットワークを使用します。このアダプターによるファイル処理では、ファイルのバイト列がネットワーク経由で送信されることはありません。ただし、エージェントとそのホストはパス、設定、概要、エラーを受け取ります。このアダプターにアカウントや API キーは必要ありません。
アダプターが扱うデータと、エージェントホストが個別に担う責任については、プラグインのプライバシーに関するお知らせをご覧ください。
コンプレッサーは一般的なブラウザーのインストールを検出します。必要に応じて、ABOX_BROWSER_PATH に既存のブラウザー実行ファイルを指定してください。ブラウザーのサンドボックスがホスト OS で動作する必要があります。Linux では、検出時に汎用 Chromium ビルドよりインストール済みの安定版 Chrome が優先されます。プラグインは処理中にブラウザーをダウンロードしません。
このプラグインとウェブサイトの開発用 MCP
このプラグインは、MCP stdio を介してローカルでファイル操作を行います。別個のウェブサイトカタログである mcp-dev.abox.tools/mcp は、find_browser_tools を公開しています。このツールは公開検索クエリ、ロケール、件数上限を受け取り、ツールへのリンクとインタラクティブなカタログを返します。ファイルやファイル名は受け取らず、ファイルを処理することもありません。そのソースはウェブサイトの
開発用カタログワーカーです。
mcp-dev エンドポイントは開発用です。このリポジトリのリリースワークフローでは、ウェブサイトをデプロイしたり、本番用カタログエンドポイントを公開したりすることはありません。ディレクトリへの登録申請と MCP 登録については、公開をご覧ください。Gemini CLI、Vercel skills.sh、Cursor などの配布方法については、プラットフォームのサポートと公開をご覧ください。
開発者向けセットアップとその他の MCP ホスト
開発ツールを使わずにインストールするには、リリースバンドルを使用してください。ソースをチェックアウトして開発するには、Node.js 22.15 以降をインストールしてから、次を実行します。
npm ci --ignore-scripts
npm test
npm run test:browser
npm run doctor
ソースからのセットアップでは、npm 依存関係がダウンロードされます。ソースチェックアウトの mcp.json はホストの Node を使用します。リリースパッケージでは、これがバンドルされた実行ファイルに置き換わります。開発者は codex plugin marketplace add A-Box-of-Tools/abox-tools-plugin でこのリポジトリのマーケットプレイスを追加し、デスクトップアプリにインストールして、インストール済みのコピーでセットアップを実行できます。OpenAI 公式パッケージガイドをご覧ください。
ローカル MCP stdio に対応する別のホストでは、設定で展開したバンドルの実行ファイルとサーバースクリプトを絶対パスで指定してください。
{
"mcpServers": {
"abox": {
"command": "/absolute/path/to/bundle/runtime/node",
"args": ["/absolute/path/to/bundle/bin/abox-mcp.mjs"]
}
}
}
Windows では runtime/node.exe を使用してください。JSON 内のバックスラッシュはエスケープするか、スラッシュを使用してください。ソースチェックアウトでは、バンドルされた実行ファイルの代わりに node を使用できます。ホスト独自の設定形式に従い、関係のない設定は置き換えないでください。
再利用コードのメンテナンス
ローカルのウェブサイトチェックアウトから、固定されたウェブサイトのソースを更新するには、次を実行します。
npm run sync-upstream -- --source /absolute/path/to/etoolbox
ベンダー差分と出所を確認し、ライセンス表記を維持したうえで、上記のチェックを実行してください。v* タグを付けると .github/workflows/release.yml が開始されます。このワークフローでは、テスト、4 つのプラットフォームバンドルのビルド、ユニバーサル MCPB のビルドを行い、公開前に 4 つすべてのプラットフォームで、展開した MCP が実行できることを確認します。タグ付きリリースが成功すると、GitHub の短期有効な ID トークンを使用して、検証済みのメタデータが Official MCP Registry に公開されます。Claude と OpenAI のディレクトリ審査には、それぞれ別途申請が必要です。公開をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。