コンテンツにスキップ

NextPDF Connect のトラブルシューティング

ほとんどの障害は、次の 5 つのグループのいずれかに分類できます。不正な形式の JSON-RPC ハンドシェイク、欠落した API キー、このティアにインストールされていないツール、未応答の確認チャレンジ、ワーカー間で共有されていないストアです。各グループには固有のシグネチャがあります。

Terminal window
composer require nextpdf/server

MCP トランスポートは、標準コードを持つ JSON-RPC 2.0 エラーオブジェクトを返します。REST トランスポートは、RFC 7807 の problem-details ドキュメントを返します。それぞれに、条件を識別する type URL が含まれます。環境の問題を調べる場合は、まず診断ツール(diagnostic.doctordiagnostic.capabilities)を使用してください。これらのツールは常にコアカタログに含まれています。

コード名前原因
-32700パースエラー有効な JSON ではない行
-32600無効なリクエストJSON-RPC 2.0 メッセージではない形式(jsonrpc/method が欠落)
-32601メソッドが見つかりません許可されたメソッド以外:initializetools/listtools/call
-32602無効なパラメーター対象メソッド tools/call でのパラメーター params.name の欠落
-32603内部エラー実行中のツールによる例外のスロー

ツールが 正常に 失敗した場合、これらのコードは使用されません。代わりに、成功した JSON-RPC レスポンスが返され、その結果には isError: true と、不明なツール、ポリシーによる無効化、無効な引数といったテキスト説明が含まれます。

HTTPtype スラッグ原因
401unauthorizedAPI キーの欠落/不正/無効化/期限切れ
403capability-deniedキーのティアにおけるこの操作の権限不足
413payload-too-large / tier-payload-exceededボディのグローバルまたはティア上限超過
422validation-failedリクエストボディのスキーマ検証失敗
429ip-rate-exceeded / client-rate-exceededレート制限への到達
404not-found不明なルートまたは job/session ID
504(リクエストタイムアウト)操作のティアタイムアウト超過

環境のヘルスチェックを実行します。ドキュメントも確認も不要です。

Terminal window
./vendor/bin/nextpdf-mcp <<'EOF'
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"diag","version":"1.0.0"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"diagnostic.doctor","arguments":{}}}
EOF

「見つからないツール」をデバッグする前に、このデプロイメントで公開されているツールを確認してください。

Terminal window
./vendor/bin/generate-skills --dry-run --list-tools

または、稼働中の REST サーバーに対して実行します。

Terminal window
curl -sS http://localhost:8080/api/v1/capabilities \
-H "Authorization: Bearer $NEXTPDF_KEY"
  • Pro/Enterprise ツールで「Unknown tool」と表示される。 そのツールのパッケージがインストールされていません。レジストリはプロバイダークラスをプローブし、存在しないティアは警告なしでスキップします。これは想定どおりの動作であり、バグではありません。サーバーとあわせて nextpdf/premium をインストールするか、コアツールを使用してください。エラーメッセージにはインストールパスが含まれています。

  • enabled_tools で設定したツールが表示されない。 許可リストは、検出されたツールとの積集合として扱われます。レジストリが検出できなかったツールを追加することはできません。ティアのインストール状況と環境ゲートを確認してください。たとえば、parse_pdfNEXTPDF_MCP_TOOL_PARSE_PDF_ENABLED によってオプトインで有効になります。

  • tools/call がトークンを求めるテキストを返した。 これは確認チャレンジであり、エラーではありません。発行されたトークンを設定した _confirmation_token を添えて、300 秒以内にツールを再度呼び出してください。/connect/hitl-risk-tiers/. を参照してください。

  • 通知行が何も出力しなかった。 これは正しい動作です。id を持たない JSON-RPC メッセージは通知であり、ハンドラーは何も返しません。レスポンスを得るには、id を持つリクエストを送信してください。

  • 繰り返し使ったリクエスト ID が古いレスポンスを返した。 ハンドラーは 64 エントリのバッファを使い、リクエスト ID によって重複を排除します。論理的なリクエストごとに新しい ID を使用してください。

  • ワーカー間でレート制限の動作がおかしい。 インメモリストアはワーカーごとです。カウントを共有するには、NEXTPDF_REDIS_HOST を設定し、ext-redis をインストールしてください。/connect/deployment/. を参照してください。

  • リクエスト間でドキュメントが消える。 インメモリのドキュメントストアはワーカー単位で、有効期間(document_ttl、デフォルト 1800 秒)の制限を受けます。ワーカー間でドキュメントを維持するには、Redis ベースのストア、セッションエンドポイント、または完全な操作セットを 1 回の同期レンダリング内に収める方法を使用してください。

  • Redis の設定があるにもかかわらず、サーバーがインメモリにフォールバックした。 REST サーバーは、起動時の Redis 接続に失敗すると自動的にフォールバックします。Redis への到達性を確認し、稼働中のイメージに ext-redis が存在することを確認してください。検証せずに Redis が使用されていると想定しないでください。

  • サーバーが設定エラーで起動を拒否する。 risk_level_overrides のエントリが ApprovalRequired ツールをダウングレードしようとしました。ローダーは設計上これを拒否します。ダウングレードを削除してください。オーバーライドはリスクを引き上げることのみが可能です。

負荷時にレンダリングが遅い場合は、ワーカープールが飽和していないか確認してください。RoadRunner のメトリクスエンドポイントも確認します。その後、長時間かかるレンダリングを非同期ジョブパスに移し、ワーカーが占有されないようにしてください。/connect/production-usage/. を参照してください。

未認証の MCP トランスポートをネットワーク上に公開して 401 を回避しないでください。これは認証を完全に取り除いてしまいます。代わりに API キーを修正してください。共有環境でツール引数を確認する目的で、ログの詳細度を上げないでください。引数ペイロードには機微な情報が含まれる可能性があります。/connect/security-and-operations/. を参照してください。

このページは運用ガイダンスです。プロトコルとセキュリティの引用は、/transports/mcp/、/transports/rest/、/connect/security-and-operations/. に固定されています。

  • /connect/tool-catalog/ — コアカタログの内容と、数が変動する理由
  • /connect/hitl-risk-tiers/ — 確認チャレンジの詳細
  • /connect/deployment/ — Redis、ワーカープール、ストア共有
  • /connect/security-and-operations/ — 認証の失敗とセキュリティ態勢