Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,331counted 1 min ago
teppi

Server definition

Hash
sha256:93468de1214fb199570f45aeaba744772b31a84fc3c5a7dad76d18cbe1b9607b
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "inputs": { "description": "IP addresses or CIDRs from one address family. Surrounding whitespace is ignored during parsing; CIDRs with host bits are normalized.", "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 1000, "minItems": 1, "type": "array" } }, "required": [ "inputs" ], "type": "object" }, "name": "cidr-cover", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "additionalAddressCount": { "description": "Covered address count minus input address count.", "pattern": "^(0|[1-9][0-9]*)$", "type": "string" }, "cidr": { "description": "The smallest single canonical CIDR containing every input address.", "maxLength": 64, "minLength": 1, "type": "string" }, "coveredAddressCount": { "description": "Number of all addresses in the resulting CIDR.", "pattern": "^(0|[1-9][0-9]*)$", "type": "string" }, "family": { "enum": [ "ipv4", "ipv6" ], "type": "string" }, "inputAddressCount": { "description": "Number of distinct addresses in the union of the inputs.", "pattern": "^(0|[1-9][0-9]*)$", "type": "string" }, "normalizedInputs": { "description": "Canonical CIDRs in input order. Individual addresses become /32 or /128. Duplicates are retained here.", "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 1000, "minItems": 1, "type": "array" }, "range": { "additionalProperties": false, "properties": { "first": { "minLength": 1, "type": "string" }, "last": { "minLength": 1, "type": "string" } }, "required": [ "first", "last" ], "type": "object" } }, "required": [ "family", "normalizedInputs", "cidr", "range", "inputAddressCount", "coveredAddressCount", "additionalAddressCount" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "exclude": { "description": "Ranges to remove from the included address space. An empty array simplifies the exact include union.", "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 1000, "type": "array" }, "include": { "description": "The nonempty included address space. Use at most 1,000 entries across include and exclude, from one address family.", "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 1000, "minItems": 1, "type": "array" } }, "required": [ "include", "exclude" ], "type": "object" }, "name": "cidr-subtract", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "cidrs": { "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 10000, "type": "array" }, "family": { "enum": [ "ipv4", "ipv6" ], "type": "string" }, "includedAddressCount": { "description": "Exact number of addresses as a base-10 string, including network and broadcast addresses.", "pattern": "^(0|[1-9][0-9]*)$", "type": "string" }, "normalizedExclude": { "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 1000, "type": "array" }, "normalizedInclude": { "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 1000, "minItems": 1, "type": "array" }, "remainingAddressCount": { "description": "Exact number of addresses as a base-10 string, including network and broadcast addresses.", "pattern": "^(0|[1-9][0-9]*)$", "type": "string" }, "removedAddressCount": { "description": "Exact number of addresses as a base-10 string, including network and broadcast addresses.", "pattern": "^(0|[1-9][0-9]*)$", "type": "string" } }, "required": [ "family", "normalizedInclude", "normalizedExclude", "cidrs", "includedAddressCount", "removedAddressCount", "remainingAddressCount" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {}, "type": "object" }, "name": "public-ip", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "description": "The IP address observed for this request. A VPN, proxy, or hosted client can change whose exit address is observed. One request observes one address family.", "oneOf": [ { "additionalProperties": false, "properties": { "family": { "const": "ipv4", "type": "string" }, "ip": { "format": "ipv4", "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$", "type": "string" } }, "required": [ "family", "ip" ], "type": "object" }, { "additionalProperties": false, "properties": { "family": { "const": "ipv6", "type": "string" }, "ip": { "format": "ipv6", "pattern": "^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$", "type": "string" } }, "required": [ "family", "ip" ], "type": "object" } ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "end": { "description": "Inclusive end IP address, in the same family and at or after start. Endpoints are never silently swapped.", "maxLength": 64, "minLength": 1, "type": "string" }, "start": { "description": "Inclusive start IP address. Use IPv4 or IPv6 without a CIDR prefix; surrounding whitespace is ignored.", "maxLength": 64, "minLength": 1, "type": "string" } }, "required": [ "start", "end" ], "type": "object" }, "name": "range-to-cidrs", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "addressCount": { "description": "Exact number of addresses as a base-10 string, including network and broadcast addresses.", "pattern": "^(0|[1-9][0-9]*)$", "type": "string" }, "cidrCount": { "maximum": 254, "minimum": 1, "type": "integer" }, "cidrs": { "description": "Complete minimal CIDR list, sorted by network address, with no gaps, overlaps, or additional addresses.", "items": { "maxLength": 64, "minLength": 1, "type": "string" }, "maxItems": 254, "minItems": 1, "type": "array" }, "family": { "enum": [ "ipv4", "ipv6" ], "type": "string" }, "range": { "additionalProperties": false, "description": "Canonical inclusive start and end IP addresses.", "properties": { "first": { "type": "string" }, "last": { "type": "string" } }, "required": [ "first", "last" ], "type": "object" } }, "required": [ "family", "range", "cidrs", "cidrCount", "addressCount" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:93468de1214fb199570f45aeaba744772b31a84fc3c5a7dad76d18cbe1b9607b | sha256sum