Packetrove

Collega Packetrove a un agente IA

Collega un client MCP compatibile per usare gli strumenti di rete Packetrove. Inizia dalla configurazione qui sotto, poi consulta gli esempi.

Streamable HTTP · Non servono account né chiave API

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

Collega il client

Con Claude Code o Codex installato, aggiungi questo server remoto. I comandi configurano il client; non installano un server Packetrove locale.

Claude Code

claude mcp add --transport http --scope user packetrove \
  https://api.staging.packetrove.com/mcp
Documentazione MCP di Claude Code

Codex

codex mcp add packetrove \
  --url https://api.staging.packetrove.com/mcp
Documentazione MCP di Codex

Usa /mcp nel client per verificare la connessione. Conferma che siano disponibili questi strumenti: cidr-cover, cidr-subtract, range-to-cidrs, certificate-bundle, public-ip.

Dopo la configurazione, il client scopre gli strumenti tramite tools/list. Descrizioni e schemi guidano la scelta e gli argomenti. Leggere una pagina web non configura il client e non concede accesso agli strumenti.

Identità del server

Il server fornisce la seguente identità del servizio, con la sua versione pubblicata. Nomi, descrizioni e schemi dei singoli strumenti sono elencati separatamente tramite 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"
}

I client decidono se mostrare titolo, descrizione, sito web o icona e possono ignorare i campi facoltativi. Il successo della scoperta tramite protocollo non dimostra che un client visualizzi queste informazioni. L’icona PNG misura 32×32 e non ha restrizioni di tema.

Leggere i risultati e gestire gli errori

Leggi structuredContent oppure il JSON nel blocco di testo. Conserva i conteggi come stringhe decimali o interi a precisione arbitraria; convertire grandi conteggi IPv6 in numeri in virgola mobile perde precisione.

Le risposte riuscite mantengono il risultato in structuredContent e nel primo blocco di testo JSON, quindi aggiungono un resource_link facoltativo alla pagina inglese dello strumento. I link non contengono input o risultati e non ripristinano il calcolo. Ogni client decide se visualizzare, ignorare o aprire i link; la visualizzazione o citazione automatica non è garantita. Aprire la pagina IP pubblico verifica una nuova connessione del browser, che può differire dalla connessione del client MCP. Gli errori non includono link alla pagina dello strumento.

Se isError è true, leggi l’errore JSON prima di riprovare. Correggi INVALID_INPUT e MIXED_ADDRESS_FAMILIES usando le informazioni dell’utente. CLIENT_IP_UNAVAILABLE indica che mancano metadati di connessione attendibili; non inventare un indirizzo.

Gli errori applicativi usano il JSON condiviso. L’SDK MCP valida il protocollo. JSON non valido, tipi di contenuto non supportati e corpi troppo grandi vengono rifiutati dal livello HTTP.

Esegui un esempio Node.js

In una nuova cartella, salva il codice come packetrove-example.mjs, poi esegui i comandi. L’esempio usa @modelcontextprotocol/client@2.0.0, scopre gli strumenti e chiama lo strumento CIDR con indirizzi di documentazione.

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

Per lo sviluppo locale, avvia pnpm dev:api e sostituisci l’URL del server con http://localhost:8787/mcp.

Distribuzione e limiti della connessione

Il server supporta richieste moderne senza stato e inizializzazione, scoperta e chiamate del precedente Streamable HTTP. Non offre sessioni persistenti o flussi di eventi server autonomi.

I metadati dell’IP pubblico vengono letti per ogni chiamata, con istanze separate per client concorrenti. Risultati ed errori MCP usano Cache-Control: no-store, no-transform. L’applicazione non conserva né registra gli indirizzi consultati.

Contiamo le esecuzioni con eventi operativi che includono il nome dello strumento, successo o errore, un codice di errore controllato e una classificazione dell’origine della chiamata. I controlli automatici verificati possono anche registrare un identificatore di esecuzione dell’automazione. Sono esclusi input, risultati, indirizzi rilevati, intestazioni di richiesta grezze e token di automazione. Cloudflare può aggiungere metadati della richiesta; la politica sulla privacy descrive trattamento e conservazione.

I nomi precedenti non hanno alias di compatibilità: smallest_covering_cidr → cidr-cover, subtract_cidrs → cidr-subtract, get_public_ip → public-ip. Aggiorna la scoperta degli strumenti e le chiamate salvate.

Il percorso /mcp del sito non è il servizio: GET restituisce 404 e POST 405, senza proxy o reindirizzamenti. Configura i client con https://api.staging.packetrove.com/mcp. Per la tua distribuzione, aggiorna domini e liste esatte separate di Host e Origin del browser; sono supportati client senza intestazione Origin.

Distribuzione, hosting autonomo e verifica in produzioneInformativa sulla privacyPubblicazione in MCP Registry e regole di versioneLeggi la guida tecnica MCP nel repository (in inglese)