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.dev.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.dev.packetrove.com/mcpDocumentazione MCP di Claude Code
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://dev.packetrove.com",
"icons": [
{
"src": "https://dev.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.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
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.dev.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.