removedInput schema / $schema
Removed value: -"https://json-schema.org/draft/2020-12/schema"
removedInput schema / title
Removed value: -"MCP check_business: arguments"
removedOutput schema / $schema
Removed value: -"https://json-schema.org/draft/2020-12/schema"
addedOutput schema / description
Added value: +"Every field is described in this tool's outputSchema at https://network.surfingdog.ai/.well-known/mcp/server-card.json."
removedOutput schema / properties / answers / description
Removed value: -"Message, book, order, sign up, cancel and negotiate, in that order."
removedOutput schema / properties / answers / items / properties / checked_at / pattern
Removed value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
removedOutput schema / properties / capabilities / items / properties / checked_at / pattern
Removed value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
removedOutput schema / properties / capabilities / items / properties / via / description
Removed value: -"The tool, skill, operation or field it was read from."
removedOutput schema / properties / checked_at / pattern
Removed value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
changedOutput schema / properties / door_history / description
Previous value: -"Every door type at every host of the site a read of the network's found answering (§4.8)."New value: +"The site's doors as this network's own reads found them, as get_business gives door_history."
removedOutput schema / properties / door_history / properties
Removed value: -{
- "as_of": {
- "description": "The UTC day it was read on.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "doors": {
- "items": {
- "properties": {
- "checks": {
- "description": "A door the network reads every day (a member's, a claimed listing's), from 14 checked days.",
- "properties": {
- "answered": {
- "description": "Of them, days on which every check answered: one missed check (failed, or blocked while the door is down by the network's reads) makes the day missed, and one refused check (blocked otherwise) makes it refused.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "days": {
- "description": "Days checked: days on which the network's daily read of the door concluded. A read an agent's report or the business asked for is no check.",
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- },
- "first_checked": {
- "description": "The first day checked.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "last_checked": {
- "description": "The last day checked.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "recent": {
- "description": "The last 90 days ending on as_of, oldest first: a every check answered, x one was missed, b one was refused and none missed, . no check that day.",
- "pattern": "^[axb.]{90}$",
- "type": "string"
- },
- "refused": {
- "description": "Of them, days on which a check was refused and none was missed: never answered days.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "first_checked",
- "last_checked",
- "days",
- "answered",
- "refused",
- "recent"
- ],
- "type": "object"
- },
- "current": {
- "description": "Whether a door of this type is at this host now (not gone).",
- "type": "boolean"
- },
- "days_seen": {
- "description": "On how many days a read of the network's found it answering: a door read about once a month is seen on few days, and nothing is said of the days between.",
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- },
- "first_seen": {
- "description": "The first UTC day a read of the network's found a door of this type at this host answering.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "host": {
- "description": "The door's host, lower case.",
- "type": "string"
- },
- "last_seen": {
- "description": "The last such day.",
- "format": "date",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
- "type": "string"
- },
- "summary": {
- "description": "With checks, in English: \"Answered every check on 41 of 42 days checked since 3 Oct 2026 (97%).\", the share floored, the days refused after it (\"(75%; refused our check on 5)\"), \"from … to …\" when the last check is more than 7 days old. Informative: another network may word it its own way.",
- "type": "string"
- },
- "type": {
- "pattern": "^(inbox|mcp|a2a|openapi|api|ucp|acp|nlweb|webhook|other|platform:[a-z0-9-]{1,40})$",
- "type": "string"
- }
- },
- "required": [
- "type",
- "host",
- "first_seen",
- "last_seen",
- "days_seen",
- "current"
- ],
- "type": "object"
- },
- "type": "array"
- }
-}
removedOutput schema / properties / door_history / required
Removed value: -[
- "as_of",
- "doors"
-]
removedOutput schema / properties / fixes / items / properties / points / maximum
Removed value: -9007199254740991
removedOutput schema / properties / fixes / items / properties / with / description
Removed value: -"What the fix brings with it (changing and cancelling a booking), counted as yes in its points."
removedOutput schema / properties / owner / properties / manage / description
Removed value: -"The owner's page (/b/<domain>/owner): claim, correct or hide, with no AI and no account."
removedOutput schema / properties / pay_with / description
Removed value: -"How the business is paid, each way with its evidence: declared by the business, or seen on its own pages and files."
removedOutput schema / properties / pay_with / items / properties / label / description
Removed value: -"Its English name: Apple Pay for apple_pay."
removedOutput schema / properties / pay_with / items / properties / token / description
Removed value: -"A payment token of GET /v1/attributes."
removedOutput schema / properties / pay_with / items / properties / url / description
Removed value: -"The page, file, profile, manifest or door the evidence is at."
removedOutput schema / properties / pay_with / items / properties / via / description
Removed value: -"Where the evidence is: registration, manifest, schema_org, ucp, acp, door, file or page today. A later network may add one: read a via you do not know as evidence of its src."
removedOutput schema / properties / queue / description
Removed value: -"Only while queued, checking or scoring."
removedOutput schema / properties / queue / properties / position / maximum
Removed value: -9007199254740991
removedOutput schema / properties / queue / properties / retry_after_s / maximum
Removed value: -9007199254740991
removedOutput schema / properties / rank / description
Removed value: -"Only when done, not hidden and of a kind the directory ranks."
removedOutput schema / properties / rank / properties / of / maximum
Removed value: -9007199254740991
removedOutput schema / properties / rank / properties / overall / properties / of / maximum
Removed value: -9007199254740991
removedOutput schema / properties / rank / properties / overall / properties / position / maximum
Removed value: -9007199254740991
removedOutput schema / properties / rank / properties / position / maximum
Removed value: -9007199254740991
removedOutput schema / properties / report / description
Removed value: -"Report how each use of a door went, done or not: see the guide."
removedOutput schema / properties / report / properties / guide / description
Removed value: -"How to report, for an agent: <network>/report.md."
removedOutput schema / properties / report / properties / reward / description
Removed value: -"What the agent gets for reporting, in one sentence."
removedOutput schema / properties / report / properties / tool / description
Removed value: -"The MCP tool that takes door reports: report_door."
removedOutput schema / properties / report / properties / url / description
Removed value: -"The same over REST: POST <network>/v1/door-reports."
removedOutput schema / properties / rules / description
Removed value: -"The score rules applied (GET /v1/score-rules?version=N)."
removedOutput schema / properties / rules / properties / version / maximum
Removed value: -9007199254740991
removedOutput schema / properties / scored_at / pattern
Removed value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
removedOutput schema / properties / site / description
Removed value: -"The business's own site."
changedOutput schema / properties / track_record / description
Previous value: -"A member's track record, from the same nightly count as its standing and shown under the same rules: the promises it kept and broke, and when. From rules version 8, one that rests on the business's own word is self_reported: its counts, with no score and no count of customers. Only what its state can say is present; a business that is not a member has none."New value: +"The business's track record, as get_business gives it."
removedOutput schema / properties / track_record / properties
Removed value: -{
- "as_of": {
- "description": "The nightly count it is from (00:00 UTC).",
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
- "type": "string"
- },
- "broken": {
- "description": "shown: closed as not kept by the business or by a customer's report that stands, left open 9 days past due, or a refund paid late.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "closed": {
- "description": "gathering and shown: kept plus broken.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "confirmable": {
- "description": "shown: whether this network can verify any acknowledgement yet (a recognised platform's agent key, or an established person's).",
- "type": "boolean"
- },
- "confirmed": {
- "description": "shown: how many of the closed are kept outcomes a verified acknowledgement backs, confirmed by the customer's side (a customer's report is not a confirmation); the rest are the business's own word.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "customers": {
- "description": "gathering and shown, unless self_reported: the distinct customers the closed promises came from, as its receipts name them (the customer's mailbox when known, else, before rules version 8, the receipt's sub; from rules version 8 a sub that names no person is never a customer, and every receipt at a business that names nobody is one anonymous customer). Not reputation.customers, which counts only customers this network can tell apart.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "from": {
- "description": "shown: the earliest day of the evidence counted, at 00:00 UTC (a day, never the moment of a promise).",
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
- "type": "string"
- },
- "held_until": {
- "description": "held: the night its record is counted from.",
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
- "type": "string"
- },
- "in_words": {
- "description": "The record in one or two plain sentences, with how many of its closed promises the customer's side confirmed; the rest are the business's own word.",
- "type": "string"
- },
- "kept": {
- "description": "shown.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "open": {
- "description": "shown, from rules version 8: its v2 promises still open (reputation.open).",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "refunds_late": {
- "description": "shown, of broken: refunds paid late (refund.late).",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "rules_url": {
- "format": "uri",
- "type": "string"
- },
- "self_reported": {
- "description": "gathering and shown, from rules version 8: the record rests on the business's own word (less than a fifth of it is kept outcomes a verified acknowledgement backs, as its reputation's self_reported), so it has no customers, and its threshold none.",
- "type": "boolean"
- },
- "state": {
- "description": "held: a new member's 30 days after it joins, when nothing is counted; none: no receipts yet; pending: receipts the next nightly count reaches; gathering: fewer closed promises, or customers, than threshold; shown: the record.",
- "enum": [
- "held",
- "none",
- "pending",
- "gathering",
- "shown"
- ],
- "type": "string"
- },
- "threshold": {
- "description": "What a record shows from: closed promises, from customers distinct customers; a self_reported record is not asked for customers, and has none here.",
- "properties": {
- "closed": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- },
- "customers": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "closed"
- ],
- "type": "object"
- },
- "to": {
- "description": "shown: the latest day of the evidence counted, at 00:00 UTC (a day, never the moment of a promise).",
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
- "type": "string"
- },
- "unclosed": {
- "description": "shown, of broken: left open 9 days past due (promise.unclosed).",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
-}
removedOutput schema / properties / track_record / required
Removed value: -[
- "state",
- "in_words"
-]
removedOutput schema / properties / url / description
Removed value: -"Its result page."
removedOutput schema / title
Removed value: -"MCP check_business: structuredContent"