Packetrove mit einem KI-Agenten verbinden
Verbinde einen kompatiblen MCP-Client, um die Netzwerkwerkzeuge von Packetrove zu verwenden. Beginne mit der Einrichtung und nutze anschließend die Beispiele.
Streamable HTTP · Kein Konto oder API-Schlüssel erforderlich
https://api.dev.packetrove.com/mcp
Ihren Client verbinden
Wenn Claude Code oder Codex installiert ist, fügen Sie diesen entfernten Server hinzu. Die Befehle konfigurieren den Client und installieren keinen lokalen Packetrove-Server.
Claude Code
claude mcp add --transport http --scope user packetrove \ https://api.dev.packetrove.com/mcpMCP-Dokumentation für Claude Code
Prüfe die Verbindung im Client mit /mcp. Diese Werkzeuge müssen verfügbar sein: cidr-cover, cidr-subtract, range-to-cidrs, certificate-bundle, public-ip.
Nach der Konfiguration entdeckt der Client Werkzeuge über tools/list. Beschreibungen und Schemas helfen bei Auswahl und Argumenten. Das Lesen einer Webseite konfiguriert keinen Client und gewährt keinen Werkzeugzugriff.
Serveridentität
Der Server stellt die folgende Dienstidentität mit seiner Veröffentlichungsversion bereit. Namen, Beschreibungen und Schemas einzelner Werkzeuge werden separat über tools/list aufgelistet.
{
"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"
}Clients entscheiden, ob sie Titel, Beschreibung, Website oder Symbol anzeigen, und können optionale Felder ignorieren. Eine erfolgreiche Protokollerkennung belegt nicht, dass ein Client diese Informationen darstellt. Das PNG-Symbol ist 32×32 groß und hat keine Einschränkung auf ein Farbschema.
Ergebnisse lesen und Fehler behandeln
Lesen Sie structuredContent oder das JSON im Textblock. Behalten Sie Adressanzahlen als Dezimalzeichenfolgen oder Ganzzahlen beliebiger Genauigkeit; große IPv6-Anzahlen verlieren bei der Umwandlung in Gleitkommazahlen Genauigkeit.
Erfolgreiche Antworten behalten das Ergebnis in structuredContent und im ersten JSON-Textblock und ergänzen einen optionalen resource_link zur englischen Werkzeugseite. Links enthalten keine Eingaben oder Ergebnisse und stellen die Berechnung nicht wieder her. Clients entscheiden, ob sie Links anzeigen, ignorieren oder öffnen; automatische Darstellung oder Quellenangaben sind nicht garantiert. Die Public-IP-Seite prüft eine neue Browserverbindung, die von der MCP-Clientverbindung abweichen kann. Fehler enthalten keinen Werkzeugseiten-Link.
Wenn isError true ist, lesen Sie vor einem erneuten Versuch das Fehler-JSON. Korrigieren Sie INVALID_INPUT und MIXED_ADDRESS_FAMILIES anhand der Angaben des Nutzers. CLIENT_IP_UNAVAILABLE bedeutet, dass vertrauenswürdige Verbindungsmetadaten fehlen; erfinden Sie keine Adresse.
Fachliche Fehler verwenden das gemeinsame Fehler-JSON. Das MCP SDK prüft das Protokoll. Ungültiges JSON, nicht unterstützte Medientypen und zu große Anfragen werden auf HTTP-Ebene abgewiesen.
Ein Node.js-Beispiel ausführen
Speichere den folgenden Code in einem neuen Verzeichnis als packetrove-example.mjs und führe dann die Befehle aus. Das Beispiel verwendet @modelcontextprotocol/client@2.0.0, ermittelt Werkzeuge und ruft das CIDR-Werkzeug mit Dokumentationsadressen auf.
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
Starte für lokale Entwicklung pnpm dev:api und ersetze die Server-URL im Beispiel durch http://localhost:8787/mcp.
Bereitstellung und Verbindungsgrenzen
Der Server unterstützt moderne zustandslose Anfragen sowie Initialisierung, Erkennung und Aufrufe über älteres Streamable HTTP. Er bietet keine dauerhaften Sitzungen oder eigenständigen Server-Ereignisströme.
Die öffentliche IP wird für jede Werkzeuganfrage aus den Verbindungsmetadaten gelesen. Gleichzeitige Clients verwenden getrennte Serverinstanzen. MCP-Ergebnisse und Fehler nutzen Cache-Control: no-store, no-transform. Die Anwendung speichert oder protokolliert keine abgefragten Adressen.
Wir zählen Werkzeugausführungen mit Betriebsereignissen, die Werkzeugname, Erfolg oder Fehler, einen kontrollierten Fehlercode und eine Klassifizierung der Aufrufquelle enthalten. Verifizierte automatische Prüfungen können außerdem eine Automatisierungslaufkennung erfassen. Eingaben, Ergebnisse, ermittelte Adressen, unverarbeitete Anfrage-Header und Automatisierungstoken sind ausgeschlossen. Cloudflare kann Anfrage-Metadaten ergänzen; Verarbeitung und Aufbewahrung sind in der Datenschutzerklärung beschrieben.
Frühere Werkzeugnamen haben keine Kompatibilitätsaliase: smallest_covering_cidr → cidr-cover, subtract_cidrs → cidr-subtract, get_public_ip → public-ip. Aktualisiere die Werkzeugerkennung und gespeicherte Aufrufe.
Der Website-Pfad /mcp ist kein Dienstendpunkt: GET liefert 404 und POST 405, ohne Werkzeugaufrufe weiterzuleiten. Konfiguriere Clients mit https://api.dev.packetrove.com/mcp. Passe bei eigener Bereitstellung Domains sowie die getrennten exakten Host- und Browser-Origin-Freigaben an. Clients ohne Origin-Header werden unterstützt.