Packetrove
Server Details
Open-source IP address and CIDR tools for network calculations and public IP lookup.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- euyuil/packetrove
- GitHub Stars
- 0
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: cidr-cover aggregates inputs into one covering CIDR, cidr-subtract computes a set difference, range-to-cidrs converts a range to minimal CIDRs, and public-ip observes the connection address. Their input/output boundaries are explicit, and descriptions carefully prevent confusion between aggregation and minimization.
All names use lowercase hyphenation, but there is no consistent verb_noun pattern: cidr-cover and cidr-subtract use a shared prefix, while range-to-cidrs and public-ip follow different structures. The names are readable but mixed in convention.
Four tools is a bit lean for a CIDR/IP calculation server, but each tool earns its place and covers a distinct common operation. It is not excessively small for the focused scope.
Core operations—covering CIDR, set subtraction/minimization, range decomposition, and public IP observation—are present, and set union can be done via cidr-subtract with an empty exclude. Minor gaps like CIDR intersection or containment checks exist but are not critical for the stated purpose.
Available Tools
4 toolscidr-coverSmallest Covering CIDRARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | Yes | IP addresses or CIDRs from one address family. Surrounding whitespace is ignored during parsing; CIDRs with host bits are normalized. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cidr | Yes | The smallest single canonical CIDR containing every input address. |
| range | Yes | |
| family | Yes | |
| normalizedInputs | Yes | Canonical CIDRs in input order. Individual addresses become /32 or /128. Duplicates are retained here. |
| inputAddressCount | Yes | Number of distinct addresses in the union of the inputs. |
| coveredAddressCount | Yes | Number of all addresses in the resulting CIDR. |
| additionalAddressCount | Yes | Covered address count minus input address count. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive/closed-world, and the description adds substantive traits beyond them: over-coverage semantics ('The range may allow or block additional addresses'), normalization and overlap-counting behavior, and a data-handling note that inputs are submitted to this server with no outbound network requests. The over-coverage caveat is a real behavioral consequence an agent must know before using the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with 'Use when ...' and organized around usage, inputs, and outputs; every sentence carries content. It is dense and restates a few schema facts (1–1,000 items, 64 characters) that the schema already enforces, which costs a little efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return details need not be explained, yet the description still names the returned fields (canonical CIDR, inclusive range, decimal-string counts, additionalAddressCount) and covers input constraints, semantics, and exclusions. Nothing needed to call this single-parameter tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: the cardinality range (1 to 1,000), the single-address-family constraint, host-bit normalization, and that overlaps are counted once. Only the 'count overlaps once' semantic is genuinely new information, but it is decision-relevant for correctness of the count.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('combining ... into one smallest covering CIDR') and immediately narrows the scope with 'This computes one CIDR for the supplied inputs; it does not optimize an entire list against an entry limit or change firewall rules.' That distinction separates it from cidr-subtract (set difference) and any firewall-mutating tool, so an agent can identify the tool's job without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit trigger conditions ('Use when combining a selected group of firewall allowlist or blocklist entries into one smallest covering CIDR, or when checking the exact extra coverage') plus negative guidance (does not optimize against an entry limit, does not change rules). It stops short of naming sibling tools like range-to-cidrs as the alternative for full-list conversion, so routing is clear but not fully disambiguated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cidr-subtractCIDR SubtractionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| exclude | Yes | Ranges to remove from the included address space. An empty array simplifies the exact include union. | |
| include | Yes | The nonempty included address space. Use at most 1,000 entries across include and exclude, from one address family. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cidrs | Yes | |
| family | Yes | |
| normalizedExclude | Yes | |
| normalizedInclude | Yes | |
| removedAddressCount | Yes | Exact number of addresses as a base-10 string, including network and broadcast addresses. |
| includedAddressCount | Yes | Exact number of addresses as a base-10 string, including network and broadcast addresses. |
| remainingAddressCount | Yes | Exact number of addresses as a base-10 string, including network and broadcast addresses. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety and idempotency, but the description adds substantial behavioral context: normalization of host bits, counting overlaps once, exact output fields (cidrs, normalizedInclude, normalizedExclude, counts), the error behavior for >10000 output CIDRs (error without partial result), and issue reporting by include/exclude index. It also distinguishes remote vs. browser execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core purpose and use case. Sentences are information-rich and each earns its place, though the volume of detail may be slightly more than necessary for an agent to select the tool. No redundant padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, but it still lists output fields and error conditions, which is helpful. It covers constraints, edge cases (complete removal, too many outputs), error reporting, execution model, and explicit exclusions. Complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so baseline is 3. The description adds meaning by explaining the semantic relationship between include and exclude ('union(include) minus union(exclude)'), noting that exclude may be empty, and that normalization applies to inputs. It doesn't add syntax details beyond what the schema provides, but enriches conceptual understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation ('Compute union(include) minus union(exclude) as a minimal sorted canonical CIDR list') and names a concrete use case ('prepare WireGuard AllowedIPs exceptions'). It clearly distinguishes itself from siblings like cidr-cover and range-to-cidrs through the set-subtraction semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-to-use context ('prepare WireGuard AllowedIPs exceptions or calculate remaining address space') and constraints ('one address family', 'nonempty include list', 'at most 1000 entries'). It also clarifies what it does NOT do ('does not inspect live allocation, configure WireGuard, or change firewall rules'), but it does not explicitly route to alternative tools for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public-ipCurrent Public IPARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, but the description adds substantial behavioral context beyond them: no storage or logging, no firewall rules changed, VPN/proxy alters the observed path, one call observes one address family only, Cloudflare Worker subrequest address semantics, and the result is not an identity proof. These are the kinds of caveats that prevent misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, and each subsequent sentence carries a distinct caveat. It runs long (seven-plus sentences) and could be tightened, but there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read tool with rich annotations and an output schema, the description covers everything an agent needs: what is observed, whose address it is, what changes the result (VPN/proxy), and what it does not reveal. Return-value explanation is unnecessary given the output schema, and none is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description confirms the empty-object input ('Takes an empty object') and names the return fields (ip and family), which is mild reinforcement rather than new parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: inspect the public IPv4/IPv6 address observed for the connection making the call. This is unambiguous and clearly distinct from the CIDR-manipulation siblings (cidr-cover, cidr-subtract, range-to-cidrs). An agent can identify exactly what the tool returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when NOT to use it ('If the user needs their browser or computer connection, direct them to the web tool or a CLI running on that machine') and scopes it to the MCP client connection. It also excludes near-miss expectations (private addresses, pre-proxy address, both families), so the agent knows what this call cannot satisfy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
range-to-cidrsIP Range to CIDRsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | Inclusive end IP address, in the same family and at or after start. Endpoints are never silently swapped. | |
| start | Yes | Inclusive start IP address. Use IPv4 or IPv6 without a CIDR prefix; surrounding whitespace is ignored. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cidrs | Yes | Complete minimal CIDR list, sorted by network address, with no gaps, overlaps, or additional addresses. |
| range | Yes | Canonical inclusive start and end IP addresses. |
| family | Yes | |
| cidrCount | Yes | |
| addressCount | Yes | Exact number of addresses as a base-10 string, including network and broadcast addresses. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read (readOnly, idempotent, non-destructive, closed-world), and the description goes well beyond that: it defines the return shape, the equal-endpoint and full-address-space edge cases, error attribution to start/end, the no-silent-swap guarantee, and the local-vs-remote execution distinction. None of this is recoverable from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the purpose before inputs, outputs, edge cases, and non-goals, and virtually every clause carries information. The single dense block is longer than strictly necessary, and a few items (64-char cap, whitespace handling) duplicate the schema, keeping it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a transformation tool with edge cases and a non-trivial contract, the description covers input validation, boundary behavior (equal endpoints, /0), error reporting, deterministic ordering, and explicit non-goals. With an output schema present it does not need to explain returns, yet its added contract details make the definition fully sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds real constraints beyond the schema: same address family, no CIDR prefixes, and end at or after start. It restates the 64-character cap and non-swapping behavior rather than adding to them, but the family/prefix rules genuinely help the agent construct valid input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: produce an exact CIDR allowlist from one inclusive start/end IP range. The operation direction (range -> CIDR list) is unambiguous and effectively opposite to siblings like cidr-cover/cidr-subtract, but no sibling is named, so the differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It opens with 'Use to prepare an exact CIDR allowlist from...', which gives clear context for when the tool applies, and the closing 'This does not...' clause rules out adjacent tasks (live usage inspection, firewall modification, ACL export). It never names an alternative tool or the condition that would select one, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
cidr-cover - First observed
cidr-subtract - First observed
public-ip - First observed
range-to-cidrs
Related MCP Connectors
IP geolocation, ASN and network data, plus VPN, proxy and Tor detection. ASN tools need no key.
Keyless IP geolocation, ASN/ISP, timezone and DNS records for any IP or domain, plus your own IP.
Free no-key IP intelligence: geolocation, VPN detection, DNS, WHOIS, blacklists, breach checks
Calculates IPv4 subnet information from an IP address and CIDR prefix or dotted decimal subnet mask
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides IP address utilities including parsing and classification of IPv4/IPv6 addresses and CIDR block information.226 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides network utility tools including DNS lookup, WHOIS lookup, SPF record inspection, SSL/TLS certificate checking, and subnet/CIDR analysis powered by networkcalc.com services.1MIT
- AlicenseAqualityDmaintenanceProvides accurate IPv4 subnet and address tools for LLMs using Python's ipaddress library. Includes CIDR parsing, overlap detection, IP classification, and more.11GPL 3.0
- AlicenseBqualityDmaintenanceEnables IPv4 subnet planning and validation, including CIDR prefix calculation, wildcard mask generation, and host position lookup for network engineers.51MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.