Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "ip_summary"
AggregateSummarize a large batch ofup to 5000 IPv4/IPv6 addresses (or up to 100 hostnames, each resolved server-side)IPs intodeterministicdistributions by country, continent, ASN/operator and network prefix, each bucketcarryingwith aboundedsampleso theofresultaddresses.canUsebeinsteadspot-checkedofwithoutip_lookupre-runningonce thebatch. Counting, grouping and sampling happen server-side andinputareisexactlyinreproducible:thebucketshundredssortorbythousandscount—descip_lookupthenreturnskeyeveryascrow,samples are the lowest addresses inwhichthenobucket,contextandwindowtheholds.sameUpinputtoset5000alwaysaddressesyieldsorthe100samehostnames.outputCountsregardlessareofperorder.occurrence;Nothingnothing is dropped silently— inputs that fail are counted(failedin→ `errors`,addresses withno database recordin→ `no_data`,andunlisted bucketsbeyond the listing in that dimension's `tail`. Invariants: counted + no_data.n =→addresses`tail`),and each by_* dimension sums to counted withtheitssameremainderinputasset`tail`.alwaysCountsreturnsarethepersameoccurrencenumbers,so a repeated address counts each time. Use this instead of ip_lookup onceand theinputresult isin the hundreds or thousands — ip_lookup returns every row, which no context window can hold. Results arefacts only:— no datacenter/residential classification, noscore, noverdict.Data source:DB-IP Lite (CC BY 4.0).
⟨3 unchanged words⟩ "ips":{"anyOf":[{"description":"Addresses/hostnames separated by whitespaceWhitespace- orcommas — thecomma-separated\"(paste acolumn from a log\"logform.column).","type":"string"},{"description":"e.g. [\"8.8.8.8\",\"1.1.1.1\",\"example.com\"].","items":{"type":"string"},"maxItems":5000,"type":"array"}],"description":"IPv4/IPv6 addresses and/or hostnames. Each hostname contributes all of its A/AAAA addresses. Items that are invalid or unresolvable are reported in `errors`, they never fail the batch."},"prefix4":{"default":24,"description" ⟨10 unchanged words⟩ {"default":48,"description":"IPv6 groupingprefix. /24 is meaningless for IPv6;prefix; /48is one end-site, /64= onesubnet.end-site.","maximum":64,"minimum":16,"type ⟨16 unchanged words⟩ ":{"default":10,"description":"Bucketslistedperdimension, count desc.
Certificate recorded, valid to 2026-12-15
Authorization not required
Added "ip_summary" (5 tools before, 6 now)
Summarize a batch of IPs (country / continent / ASN / network) — Aggregate a batch of up to 5000 IPv4/IPv6 addresses (or up to 100 hostnames, each resolved server-side) into deterministic distributions by country, continent, ASN/operator and network prefix, each bucket carrying a bounded sample so the result can be spot-checked without re-running the batch. Counting, grouping and sampling happen server-side and are exactly reproducible: buckets sort by count desc then key asc, samples are the lowest addresses in the bucket, and the same input set always yields the same output regardless of order. Nothing is dropped silently — inputs that fail are counted i…
Unknown → Live
First tool surface recorded: 5 tools (server version 1.3.0)
https://ip.ls/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed