Packetrove

Conectar Packetrove a un agente de IA

Conecta un cliente MCP compatible para usar las herramientas de red de Packetrove. Configúralo siguiendo estos pasos y utiliza los ejemplos.

Streamable HTTP · Sin cuenta ni clave de API

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

Conectar tu cliente

Con Claude Code o Codex instalado, añade este servidor remoto. Los comandos configuran el cliente; no instalan un servidor Packetrove local.

Claude Code

claude mcp add --transport http --scope user packetrove \
  https://api.staging.packetrove.com/mcp
Documentación MCP de Claude Code

Codex

codex mcp add packetrove \
  --url https://api.staging.packetrove.com/mcp
Documentación MCP de Codex

Usa /mcp en tu cliente para comprobar la conexión. Confirma que estas herramientas estén disponibles: cidr-cover, cidr-subtract, range-to-cidrs, certificate-bundle, public-ip.

Tras configurarlo, el cliente descubre las herramientas con tools/list. Las descripciones y los esquemas orientan la selección y los argumentos. Leer una página web no configura un cliente ni le concede acceso a herramientas.

Identidad del servidor

El servidor anuncia la siguiente identidad del servicio, con su versión de publicación. Los nombres, las descripciones y los esquemas de cada herramienta se enumeran por separado mediante tools/list.

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

Cada cliente decide si muestra el título, la descripción, el sitio web o el icono y puede ignorar los campos opcionales. El descubrimiento correcto del protocolo no demuestra que el cliente muestre esta información. El icono PNG mide 32×32 y no tiene restricción de tema.

Leer resultados y gestionar errores

Lee structuredContent o el JSON del bloque de texto. Conserva los recuentos como cadenas decimales o enteros de precisión arbitraria; convertir grandes recuentos IPv6 a números de coma flotante pierde precisión.

Las respuestas correctas conservan el resultado en structuredContent y en el primer bloque de texto JSON, y añaden un resource_link opcional a la página de la herramienta en inglés. Los enlaces no contienen entradas ni resultados y no restauran el cálculo. Cada cliente decide si muestra, ignora o abre los enlaces; no se garantiza su presentación o cita automática. Abrir la página de IP pública comprueba una nueva conexión del navegador, que puede diferir de la conexión del cliente MCP. Los errores no incluyen enlaces a la herramienta.

Si isError es true, lee el error JSON antes de reintentar. Corrige INVALID_INPUT y MIXED_ADDRESS_FAMILIES con la información del usuario. CLIENT_IP_UNAVAILABLE indica que faltan metadatos fiables de conexión; no inventes una dirección.

Los errores de negocio usan el JSON de error compartido. El SDK de MCP valida el protocolo. El HTTP rechaza JSON inválido, tipos de contenido no admitidos y cuerpos demasiado grandes.

Ejecutar un ejemplo de Node.js

En un directorio nuevo, guarda el código como packetrove-example.mjs y ejecuta los comandos. El ejemplo usa @modelcontextprotocol/client@2.0.0, descubre herramientas e invoca la herramienta CIDR con direcciones de documentación.

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

const client = new Client(
  { name: 'packetrove-example', version: "0.5.0" },
  { versionNegotiation: { mode: 'auto' } },
);
try {
  await client.connect(new StreamableHTTPClientTransport(new URL("https://api.staging.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

Para el desarrollo local, inicia pnpm dev:api y cambia la URL del servidor del ejemplo por http://localhost:8787/mcp.

Despliegue y límites de conexión

El servidor admite solicitudes modernas sin estado e inicialización, descubrimiento y llamadas del transporte Streamable HTTP anterior. No ofrece sesiones persistentes ni flujos de eventos independientes del servidor.

Los metadatos de la IP pública se leen en cada llamada y las instancias del servidor se aíslan entre clientes concurrentes. Los resultados y errores MCP usan Cache-Control: no-store, no-transform. La aplicación no conserva ni registra las direcciones consultadas.

Contamos las ejecuciones con eventos operativos que contienen el nombre de la herramienta, éxito o error, un código de error controlado y una clasificación del origen de la llamada. Las comprobaciones automáticas verificadas también pueden registrar un identificador de ejecución de automatización. Se excluyen entradas, resultados, direcciones consultadas, cabeceras de solicitud sin procesar y tokens de automatización. Cloudflare puede añadir metadatos de la solicitud; la política de privacidad explica el tratamiento y la conservación.

Los nombres anteriores no tienen alias de compatibilidad: smallest_covering_cidr → cidr-cover, subtract_cidrs → cidr-subtract, get_public_ip → public-ip. Actualiza el descubrimiento de herramientas y las llamadas guardadas.

La ruta /mcp del sitio no es el servicio: GET devuelve 404 y POST 405, sin reenviar ni redirigir llamadas. Configura los clientes con https://api.staging.packetrove.com/mcp. En tu despliegue, actualiza los dominios y las listas exactas separadas de Host y Origin del navegador; se admiten clientes sin cabecera Origin.

Despliegue, alojamiento propio y verificación de producciónPolítica de privacidadPublicación en MCP Registry y política de versionesLeer la guía técnica MCP del repositorio (inglés)