Packetrove

Подключение Packetrove к ИИ-агенту

Подключите совместимый клиент 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
Документация MCP для Claude Code

Codex

codex mcp add packetrove \
  --url https://api.dev.packetrove.com/mcp
Документация MCP для Codex

Проверьте соединение командой /mcp в клиенте. Убедитесь, что доступны инструменты: cidr-cover, cidr-subtract, range-to-cidrs, certificate-bundle, public-ip.

После настройки клиент получает список инструментов через tools/list. Описания и схемы помогают выбирать инструмент и аргументы. Чтение веб-страницы не настраивает клиент и не предоставляет доступ к инструментам.

Идентификация сервера

Сервер предоставляет следующие сведения о сервисе вместе с версией выпуска. Имена, описания и схемы отдельных инструментов перечисляются отдельно через 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"
}

Клиенты сами решают, показывать ли название, описание, сайт или значок, и могут игнорировать необязательные поля. Успешное обнаружение по протоколу не доказывает, что клиент отображает эти сведения. Значок PNG имеет размер 32×32 и не ограничен темой оформления.

Чтение результатов и обработка ошибок

Читайте structuredContent или JSON в текстовом блоке. Храните количества адресов как десятичные строки или целые числа произвольной точности; преобразование больших количеств IPv6 в числа с плавающей точкой теряет точность.

Успешные ответы сохраняют результат в structuredContent и первом текстовом блоке JSON, затем добавляют необязательный resource_link на английскую страницу инструмента. Ссылки не содержат входных данных или результатов и не восстанавливают расчёт. Клиент решает, показывать, игнорировать или открывать ссылки; автоматическое отображение или цитирование не гарантируется. Страница публичного IP проверяет новое соединение браузера, которое может отличаться от соединения клиента MCP. Ошибки не содержат ссылки на инструмент.

Если isError равен true, прочитайте JSON ошибки перед повторным вызовом. Исправьте INVALID_INPUT и MIXED_ADDRESS_FAMILIES по данным пользователя. CLIENT_IP_UNAVAILABLE означает отсутствие доверенных метаданных соединения; не выдумывайте адрес.

Ошибки операций используют общий JSON. SDK MCP проверяет протокол. Некорректный 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 в репозитории (на английском)