ブラウザだけでなく AI エージェントのために作る:API の仕組み
カタログの全ツールは /api/v1/ 配下の REST エンドポイントであり、/mcp の MCP からも使える。匿名呼び出しにアカウントも API Key も不要。失敗は RFC 7807 problem+json。

ブラウザのタブは今も使える。ツールを選び、ファイルをアップロードし、結果をダウンロードする。エージェントやスクリプトは UI を開かずに同じ操作を呼び出す。どちらの経路も同じカタログに到達する。
すべてのツールページはエンドポイントでもある
PDF の結合、分割、圧縮、OCR、変換。カタログのすべてのツールが /api/v1/… に対応している。ツールページを開いて Call this from code までスクロールすると、そのツールの実際のパラメータから組み立てた curl の例が出る。汎用のテンプレートではない。公開サイトでは匿名呼び出しにアカウントも API Key も要らない。匿名のプレフィックスは /api/v1/general/、/api/v1/misc/、/api/v1/security/、/api/v1/convert/、/api/v1/filter/ だ。
結合の例は具体的である:
curl -fsS -X POST "$API_BASE/api/v1/general/merge-pdfs" \
-F "[email protected]" \
-F "[email protected]" \
-o merged.pdf
OpenAPI は /v1/openapi.json にある。多段の処理には順序付きの steps リストを渡す POST /api/v1/pipeline を使う。再試行で二重実行したくない変更系ジョブには Idempotency-Key を送る。ホスト側の応答は X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset を告知し、HTTP 429 では Retry-After を読む(匿名レート制限)。
同じカタログ経由の OCR は /api/v1/misc/ocr-pdf から Markdown(text/markdown)を返す。隠しテキスト層を持つ PDF ではない。このエンドポイントから検索可能な PDF が返ると期待したエージェントは、ダウンロードを誤って扱う。ここでの契約はパイプライン向けのテキスト抽出であり、OCRmyPDF のような書き換えではない。
MCP を話せるクライアントのために
MCP(Model Context Protocol)を使うと、エージェントクライアントはドキュメントをスクレイピングする代わりに、ツールを関数として発見して呼び出せる。本サイトは REST API の隣に /mcp で MCP サーバーを公開しており、対応クライアントは一度接続すればカタログ全体を利用できる。
MCP と REST は認証の前提を共有する。ツールのプレフィックスが許す範囲では匿名、安定した自動化とアクセス制限付きのセルフホストサーバーでは API Key が必要だ。エージェントを /mcp に向けることは、curl を /api/v1/… に向けることと別の製品ではない。ドキュメント:開発者向け MCP。
エラーは散文ではなく構造化されている
失敗時は素の 500 や「問題が発生しました」ではなく、application/problem+json(RFC 7807 形式)が返る。各ペイロードには安定したコード(rate_limited、bad_request、invalid_document、missing_dependency など)と読めるヒント、そして多くの場合に次の一手が含まれる。人間は流し読みでき、エージェントはスタックトレースを人間に読ませることなく、再試行するか、ファイルを差し替えるか、停止するかを判断できる。
呼び出し元がスクリプトである場合、この構造は親切な HTML のエラーページより重要だ。リファレンス:開発者向けエラー。
llms.txt はツール向けで、ランキング向けではない
/llms.txt はすべてのツール(名前、短い説明、URL)を並べたプレーンテキストの索引で、サイトを動かしているのと同じカタログから生成される。コーディングエージェントやドキュメントツールは README のように読める。Google のランキングを動かすレバーではない。Search は /llms.txt を無視する(出典:Google の AI 最適化ガイド)。生成物であるため、手で編集したファイルのように静かに古くなることはない。
CLI と skill は同じ形を共有する
pdfx はローカルの pdf-core を走らせることも、base URL に対して --cloud を使うこともできる。dist/skills/pdf-toolbox/SKILL.md の skill は結合と pipeline の curl の形を記録しており、エージェントが第二の契約を勝手に作らないようにしている。四つのクライアント、一つのカタログ:同じ操作、四つのクライアント。
ブラウザ経路は変わらない
タブにファイルをドロップする操作はこれまでと同じだ。増えたのは、エージェントやスクリプト、CI が同じエンドポイントを使えるという面である。処理は同じで、間に人間は要らない。セルフホストはその面を自ネットワーク内に置く(セルフホスト)。ホスト版は匿名のお試し経路のままだ。