# Packetrove (remote · api.packetrove.com)

Open-source IP address and CIDR tools for network calculations and public IP lookup.

- Trust score: 67/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-18

> **Recent critical change**: Authorization (2026-10-09). See the changelog below before you install this server.

## Components

- remote · `api.packetrove.com`: 67/100 (this document), [markdown](https://verifymcp.io/servers/euyuil-packetrove/api.md), [page](https://verifymcp.io/servers/euyuil-packetrove/api)

## Channel facts

- Endpoint: `https://api.packetrove.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-18.

- **Endpoint Security**: 49/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (submit-feedback).
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1989 tokens (~331/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 50/100
  - Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Packetrove MCP server?

Packetrove is a hosted endpoint at https://api.packetrove.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http euyuil-packetrove 'https://api.packetrove.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "euyuil-packetrove": {
      "url": "https://api.packetrove.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "euyuil-packetrove": {
      "type": "http",
      "url": "https://api.packetrove.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.euyuil-packetrove]
url = "https://api.packetrove.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "euyuil-packetrove": {
      "type": "remote",
      "url": "https://api.packetrove.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add euyuil-packetrove --url 'https://api.packetrove.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  euyuil-packetrove:
    url: "https://api.packetrove.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "euyuil-packetrove": {
      "Transport": "http",
      "Url": "https://api.packetrove.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add euyuil-packetrove -t streamable-http -u 'https://api.packetrove.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "euyuil-packetrove": {
      "type": "http",
      "url": "https://api.packetrove.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-18 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-16 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-12 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 30. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-10 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-09 (score 62, −6)

- [critical regression] Authorization: partial → fail
- [functional regression] Schema quality: 1517 → 1989

### 2026-10-06 (score 68, 0)

- [functional regression] Schema quality: 262 → 303

### 2026-10-04 (score 68, 0)

- [security] Tool “cidr-cover” rewrote its description, which is the text the model reads
- [security] Tool “cidr-subtract” rewrote its description, which is the text the model reads
- [security] Tool “public-ip” rewrote its description, which is the text the model reads
- [security] Tool “range-to-cidrs” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 197 → 262
- [functional improvement] Stability: unverified → 0.03

## MCP tools (6)

### `cidr-cover` (~240 tokens)

Smallest Covering CIDR

Use when combining a selected group of firewall allowlist or blocklist entries into one smallest covering CIDR, or when checking the exact extra coverage. Accept 1 to 1,000 IP addresses or CIDRs from one address family, up to 64 characters each; normalize host bits and count overlaps once. Return the canonical CIDR, inclusive range, and exact decimal-string counts, including additionalAddressCount. The range may allow or block additional addresses. This computes one CIDR for the supplied inputs; it does not optimize an entire list against an entry limit or change firewall rules. Remote MCP calls submit inputs to this server; the calculation makes no outbound network requests. Operational events record the tool name, success or error, a controlled error code, and a traffic source classification. Verified automated checks may also record an automation run identifier. Events exclude inputs, results, raw request headers, and automation tokens. Cloudflare may attach platform metadata. Privacy policy: https://packetrove.com/privacy.

Input parameters:

- `inputs` (array, required): IP addresses or CIDRs from one address family. Surrounding whitespace is ignored during parsing; CIDRs with host bits are normalized.

Output parameters:

- `additionalAddressCount` (string): Covered address count minus input address count.
- `cidr` (string): The smallest single canonical CIDR containing every input address.
- `coveredAddressCount` (string): Number of all addresses in the resulting CIDR.
- `family` (string)
- `inputAddressCount` (string): Number of distinct addresses in the union of the inputs.
- `normalizedInputs` (array): Canonical CIDRs in input order. Individual addresses become /32 or /128. Duplicates are retained here.
- `range` (object)

### `cidr-subtract` (~308 tokens)

CIDR Subtraction

Use to prepare WireGuard AllowedIPs exceptions or calculate remaining address space relative to supplied include and exclude lists. Compute union(include) minus union(exclude) as a minimal sorted canonical CIDR list, without adding addresses. Use one address family, a nonempty include list, and at most 1000 entries across both lists, up to 64 characters each. Exclude may be empty. Normalize host bits and count overlaps once. Return cidrs, normalizedInclude, normalizedExclude, and exact decimal-string includedAddressCount, removedAddressCount, remainingAddressCount. Complete removal returns an empty list; more than 10000 output CIDRs returns an error without a partial result. Error issues identify include or exclude and the zero-based entry index. Remote calls submit inputs to this server; the browser calculates locally. This does not inspect live allocation, configure WireGuard, or change firewall rules. Operational events record the tool name, success or error, a controlled error code, and a traffic source classification. Verified automated checks may also record an automation run identifier. Events exclude inputs, results, raw request headers, and automation tokens. Cloudflare may attach platform metadata. Privacy policy: https://packetrove.com/privacy.

Input parameters:

- `exclude` (array, required): Ranges to remove from the included address space. An empty array simplifies the exact include union.
- `include` (array, required): The nonempty included address space. Use at most 1,000 entries across include and exclude, from one address family.

Output parameters:

- `cidrs` (array)
- `family` (string)
- `includedAddressCount` (string): Exact number of addresses as a base-10 string, including network and broadcast addresses.
- `normalizedExclude` (array)
- `normalizedInclude` (array)
- `remainingAddressCount` (string): Exact number of addresses as a base-10 string, including network and broadcast addresses.
- `removedAddressCount` (string): Exact number of addresses as a base-10 string, including network and broadcast addresses.

### `range-to-cidrs` (~277 tokens)

IP Range to CIDRs

Use to prepare an exact CIDR allowlist from one inclusive start/end IPv4 or IPv6 range. Pass start and end IP addresses of the same family, without CIDR prefixes, at most 64 characters each; end must be at or after start. Return canonical range.first and range.last, minimal sorted cidrs, cidrCount, and exact decimal-string addressCount, without adding addresses. Equal endpoints return one /32 or /128; complete address spaces return /0. Invalid inputs identify the start or end field; reversed endpoints are never swapped. Browser calculations stay local; remote MCP calls submit endpoints to this server. This does not inspect live address usage, modify firewall rules, or export vendor-specific ACLs. Operational events record the tool name, success or error, a controlled error code, and a traffic source classification. Verified automated checks may also record an automation run identifier. Events exclude inputs, results, raw request headers, and automation tokens. Cloudflare may attach platform metadata. Privacy policy: https://packetrove.com/privacy.

Input parameters:

- `end` (string, required): Inclusive end IP address, in the same family and at or after start. Endpoints are never silently swapped.
- `start` (string, required): Inclusive start IP address. Use IPv4 or IPv6 without a CIDR prefix; surrounding whitespace is ignored.

Output parameters:

- `addressCount` (string): Exact number of addresses as a base-10 string, including network and broadcast addresses.
- `cidrCount` (integer)
- `cidrs` (array): Complete minimal CIDR list, sorted by network address, with no gaps, overlaps, or additional addresses.
- `family` (string)
- `range` (object): Canonical inclusive start and end IP addresses.

### `certificate-bundle` (~469 tokens)

Certificate Bundle Checker

Use to inspect a supplied PEM certificate bundle before TLS configuration. Accept pem with 1–16 CERTIFICATE blocks and at most 49152 UTF-8 bytes, optional ASCII DNS hostname, and optional zero-based leafIndex. Reject private keys and unsupported blocks without echoing them. Return original certificate positions, Subject, Issuer, Common Name, SANs, validity, CA and Key Usage flags, SHA-256 fingerprints, independently checked candidate links, explicit leaf ambiguity, and stable findings with severity, observed evidence, and nextAction. Verify signatures cryptographically; name matching alone is not verification. Missing selected-leaf issuers and blocked requested hostname checks are warnings; other missing issuers are informational because roots are commonly omitted. All explicitly rejected supplied issuer candidates for the selected leaf produce an error. Unknown checks and key-identifier mismatches alone do not produce that error. A failed candidate does not invalidate another viable link. Verified self-issued CA key rollover is informational; verification with the certificate's own public key remains separate. Hostname checks use DNS SAN with one-label complete leftmost wildcards and no Common Name fallback. Results use this server's evaluation time and do not establish client trust, full RFC 5280 path validity, revocation status, or deployment safety. This remote call transmits certificates and hostname to the server; the website checks locally. Certificate input and details never enter application logs. Do not submit private keys. Operational events record the tool name, success or error, a controlled error code, and a traffic source classification. Verified automated checks may also record an automation run identifier. Events exclude inputs, results, raw request headers, and automation tokens. Cloudflare may attach platform metadata. Privacy policy: https://packetrove.com/privacy.

Input parameters:

- `hostname` (string): Optional ASCII DNS hostname, including pre-converted IDNA A-labels. No URL, port, IP address, or wildcard. Blank skips identity checking.
- `leafIndex` (integer): Zero-based original position of a non-CA certificate. Required to resolve multiple possible leaves for hostname checking.
- `pem` (string, required): One or more PEM CERTIFICATE blocks, with only whitespace between blocks. At most 48 KiB of UTF-8 and 16 blocks. Private keys and other block types are rejected.

Output parameters:

- `certificates` (array)
- `evaluatedAt` (string): Evaluation time from this runtime clock, not a deployment observation.
- `findings` (array)
- `hostname`
- `leafIndexes` (array): First occurrences of distinct non-CA certificates; these are possible leaves, not a verified deployment selection.
- `relationships` (array)
- `selectedLeafIndex`

### `public-ip` (~223 tokens)

Current Public IP

Use to inspect the public IPv4 or IPv6 address observed for the connection making this MCP tool call. Takes an empty object and returns ip and family. This is the MCP client connection: a hosted AI client may observe its own exit address, not the user device address. If the user needs their browser or computer connection, direct them to the web tool or a CLI running on that machine. A VPN or proxy changes the observed path. One call observes one address family; it does not discover private local addresses, an address before a proxy, or both address families. The application does not store or log results, and no firewall rules are changed. Cloudflare Worker subrequests can have platform-specific address semantics; the result is not an identity proof. Operational events record the tool name, success or error, a controlled error code, and a traffic source classification. Verified automated checks may also record an automation run identifier. Events exclude inputs, results, raw request headers, and automation tokens. Cloudflare may attach platform metadata. Privacy policy: https://packetrove.com/privacy.

### `submit-feedback` (~472 tokens)

Submit Packetrove Feedback

Email one user-authorized, minimal Packetrove report to hello@packetrove.com for private human review. Available only when the operator enables feedback. Draft locally without calling the service. If the user has already supplied or approved the report and requested sending it, submit directly; otherwise show the proposed report and obtain approval before sending. Never solicit feedback after every tool call. Send only the authorized fields, using synthetic reproduction data; never attach conversations, raw tool inputs/results, credentials, certificates, logs, or client/session identifiers. category is bug, confusing_behavior, or feature_request; tool_name optionally names a product tool. summary is required (256 Unicode code points); bug requires expected and actual, confusing_behavior requires actual and optionally expected (1024 code points each). Feature requests allow expected but not actual or error_code. Optional error_code starts with an uppercase ASCII letter and contains at most 64 uppercase letters, digits, or underscores; synthetic_reproduction is at most 2048 code points. Unknown fields are rejected; serialized arguments must not exceed 8 KiB. Status accepted and an opaque receipt_id mean the email service acknowledged submission, not inbox delivery or reading; acceptance does not promise a response or fix. This write is not idempotent: never automatically resend after timeout, disconnect, cancellation, or an uncertain result. Approximate limits target 10 submissions per observed exit IP in the preceding 24 hours and 100 submissions per UTC day across the service. Shared exits share quota. KV propagation and concurrent requests can exceed either limit; uncertain sends or failed quota releases occupy quota until expiry. Cloudflare transmits approved reports by email; mailbox retention and deletion are managed manually by the maintainer, with no automatic report expiry. KV stores only separate keyed IP markers and reservation times, expiring after 24 hou…

Output parameters:

- `receipt_id` (string)
- `status` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/euyuil-packetrove/api#diagnostics

## Score history

- 2026-10-18: 67
- 2026-10-17: 66
- 2026-10-16: 66
- 2026-10-15: 65
- 2026-10-14: 65
- 2026-10-13: 64
- 2026-10-12: 64
- 2026-10-10: 63
- 2026-10-09: 62
- 2026-10-06: 68
- 2026-10-04: 68
- 2026-10-03: 68

## Common questions

### What is the Packetrove MCP server?

Packetrove is an MCP server listed in the public MCP registry as io.github.euyuil/packetrove. Open-source IP address and CIDR tools for network calculations and public IP lookup. This page covers its hosted endpoint (https://api.packetrove.com/mcp).

### Is the Packetrove MCP server safe to use?

Packetrove scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Packetrove MCP server expose?

Packetrove exposes 6 tools: cidr-cover, cidr-subtract, range-to-cidrs, certificate-bundle, public-ip, submit-feedback. Their descriptions and schemas cost roughly 1,989 tokens of context every time the server is loaded.

### Does the Packetrove MCP server require authentication?

No. We connected to Packetrove without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Packetrove MCP server still maintained?

Packetrove is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.packetrove.com/mcp
- Repository: https://github.com/euyuil/packetrove
- Website: https://packetrove.com/
- Changelog RSS feed: https://verifymcp.io/servers/euyuil-packetrove/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/euyuil-packetrove/api.json
- HTML version of this page: https://verifymcp.io/servers/euyuil-packetrove/api
