Packetrove

Packetrove を AI エージェントに接続する

互換性のある MCP クライアントを接続して Packetrove のネットワークツールを利用します。以下の設定を済ませてから、ツールの例を参照してください。

Streamable HTTP · アカウントや API キーは不要

https://api.dev.packetrove.com/mcp

クライアントを接続する

Claude Code または Codex をインストールしたら、このリモートサーバーを追加してください。以下のコマンドはクライアントを設定し、ローカルの Packetrove サーバーはインストールしません。

Claude Code

claude mcp add --transport http --scope user packetrove \
  https://api.dev.packetrove.com/mcp
Claude Code の MCP 公式ドキュメント

Codex

codex mcp add packetrove \
  --url https://api.dev.packetrove.com/mcp
Codex の MCP 公式ドキュメント

クライアントで /mcp を使って接続を確認します。次のツールが利用可能か確認してください:cidr-cover, cidr-subtract, range-to-cidrs, certificate-bundle, public-ip。

設定後、クライアントは tools/list でツールを検出し、説明とスキーマに基づいてツールと引数を選びます。Web ページを読むだけではクライアントの設定やアクセス権の付与は行われません。

サーバーの識別情報

サーバーはリリースバージョンとともに、以下のサービス識別情報を提供します。各ツールの名前、説明、スキーマは tools/list で個別に一覧表示されます。

{
  "name": "Packetrove",
  "title": "Packetrove",
  "description": "Open-source IP address and CIDR tools for network calculations and public IP lookup.",
  "websiteUrl": "https://dev.packetrove.com",
  "icons": [
    {
      "src": "https://dev.packetrove.com/packetrove-logo-32x32.png",
      "mimeType": "image/png",
      "sizes": [
        "32x32"
      ]
    }
  ],
  "version": "0.4.0"
}

タイトル、説明、Web サイト、アイコンを表示するかどうかはクライアントが決め、任意のフィールドを無視する場合もあります。プロトコルでの検出成功は、クライアントがこれらの情報を表示することを意味しません。PNG アイコンは 32×32 で、テーマの制限はありません。

結果の読み取りとエラー処理

structuredContent またはテキストブロックの JSON を読み取ってください。アドレス数は十進数の文字列か任意精度整数として保持してください。大きな IPv6 の値を浮動小数点数に変換すると精度が失われます。

成功した応答は structuredContent と最初の JSON テキストブロックに結果を保持し、英語のツールページへの任意の resource_link を追加します。リンクには入力や結果を含めず、計算内容を復元しません。表示、無視、リンクを開くかどうかはクライアントが決定し、自動表示や引用は保証されません。公開 IP ページを開くとブラウザの新しい接続を確認するため、MCP クライアントの接続とは異なる場合があります。エラー応答にツールページリンクは含まれません。

isError が true の場合は再試行前にエラー JSON を確認してください。ユーザーの情報で INVALID_INPUT と MIXED_ADDRESS_FAMILIES を修正します。CLIENT_IP_UNAVAILABLE は信頼できる接続情報がないことを示すため、アドレスを推測しないでください。

業務エラーは共通のエラー JSON を返します。MCP SDK がプロトコルを検証します。不正な JSON、未対応のメディア形式、過大な本文は HTTP 層で拒否されます。

Node.js の例を実行する

新しいディレクトリで、下のコードを packetrove-example.mjs として保存し、コマンドを実行します。例は @modelcontextprotocol/client@2.0.0 を使い、ツールを検出して文書用アドレスで CIDR ツールを呼び出します。

import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';

const client = new Client(
  { name: 'packetrove-example', version: "0.4.0" },
  { versionNegotiation: { mode: 'auto' } },
);
try {
  await client.connect(new StreamableHTTPClientTransport(new URL("https://api.dev.packetrove.com/mcp")));
  const serverInfo = client.getServerVersion();
  const { tools } = await client.listTools();
  const result = await client.callTool({
    name: "cidr-cover",
    arguments: {"inputs":["203.0.113.1","203.0.113.2","203.0.113.6"]},
  });
  if (result.isError) throw new Error(JSON.stringify(result.content));
  console.log(serverInfo, tools.map(tool => tool.name), result.structuredContent);
  const links = result.content?.filter(content => content.type === 'resource_link') ?? [];
  console.log(links); // Optional links; opening or presenting them is the client's choice.
} finally {
  await client.close();
}
npm init -y
npm install @modelcontextprotocol/client@2.0.0
node packetrove-example.mjs

ローカル開発では pnpm dev:api を起動し、例のサーバー URL を http://localhost:8787/mcp に置き換えてください。

デプロイと接続の制限

サーバーは新しいステートレス要求と、従来の Streamable HTTP の初期化、検出、呼び出しに対応します。永続セッションや独立したサーバーイベントストリームは提供しません。

公開 IP の接続情報は呼び出しごとに読み取られ、同時接続するクライアントのサーバーインスタンスは分離されます。MCP の結果とエラーは Cache-Control: no-store, no-transform を使用します。アプリは照会アドレスを保存・記録しません。

ツール名、成功またはエラー、管理されたエラーコード、呼び出し元の分類を含む運用イベントで実行回数を集計します。検証済みの自動チェックでは実行識別子も記録する場合があります。入力、結果、取得したアドレス、生のリクエストヘッダー、自動チェック用トークンは含めません。Cloudflare がリクエストのメタデータを追加する場合があります。データ処理と保持期間はプライバシーポリシーをご確認ください。

旧ツール名に互換エイリアスはありません:smallest_covering_cidr → cidr-cover, subtract_cidrs → cidr-subtract, get_public_ip → public-ip。ツール検出と保存済みの呼び出しを更新してください。

ウェブサイトの /mcp はサービスではなく、GET は 404、POST は 405 を返し、呼び出しを転送しません。クライアントには https://api.dev.packetrove.com/mcp を設定してください。独自デプロイではドメインと、Host およびブラウザー Origin の個別の完全一致許可リストを更新します。Origin ヘッダーのないクライアントも対応します。

デプロイ、セルフホスティング、本番確認プライバシーポリシーMCP Registry への公開とバージョン方針リポジトリの MCP 技術ガイドを読む(英語)