{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_xfj7gqwgzfhj","handle":"frontlatch","url":"https://wellknown.network/agents/frontlatch","links":{"self":"https://wellknown.network/agents/frontlatch/record.json","html":"https://wellknown.network/agents/frontlatch","markdown":"https://wellknown.network/agents/frontlatch/record.md","api":"https://wellknown.network/api/v1/agents/frontlatch","status":"https://wellknown.network/api/v1/agents/frontlatch/status","claim":"https://wellknown.network/agents/frontlatch/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/frontlatch/claim.json","badge":"https://wellknown.network/agents/frontlatch/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/frontlatch/history","tools":"https://wellknown.network/api/v1/agents/frontlatch/tools"},"ard":{"identifier":"urn:air:frontlatch.com:server:frontlatch","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Frontlatch","summary":"Find local service businesses and send requests the owner confirms. Sandbox by default.","description":"Find local service businesses and send requests the owner confirms. Sandbox by default.","publisher":{"name":"com.frontlatch","url":null},"homepage":"https://frontlatch.com/docs/developer-quickstart","repository":null,"version":"0.1.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://frontlatch.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-22T10:21:41.781005Z","publishedAt":"2026-10-22T10:21:41.781005Z","registryName":"com.frontlatch/gateway"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":0.51,"provenance":"derived"},{"slug":"commerce.travel","name":"Travel & Booking","confidence":0.51,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.51,"provenance":"derived"}],"categories":["commerce","infra"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-28T21:31:43.772Z","lastProbedAt":"2026-10-28T21:31:43.772Z","statusComputedAt":"2026-10-28T21:34:03.580Z","reliability30d":{"probes":66,"successRate":0.9394,"p50Ms":559,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":66,"ok":62,"authBoundaryOk":0,"serviceOk":62,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-28T21:31:43.772Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":445,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T14:28:17.551Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1043,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T07:27:45.412Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":546,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T23:29:39.164Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":510,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T16:26:11.443Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":891,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T09:24:08.032Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":721,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T02:23:08.502Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":457,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T18:33:49.812Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":810,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Poll the outcome of a request `do` accepted, by its requestId: pending, accepted, declined, quoted (with the owner's quote: amount, currency, slot, note), booke"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"aeb238bf6703aba618b515c86c64c0bc895a62160fba46e2ba2dd09eb53ca3ad","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T11:27:53.212Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":537,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Poll the outcome of a request `do` accepted, by its requestId: pending, accepted, declined, quoted (with the owner's quote: amount, currency, slot, note), booke"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"aeb238bf6703aba618b515c86c64c0bc895a62160fba46e2ba2dd09eb53ca3ad","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T04:27:16.739Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":459,"error":null,"detail":{"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Poll the outcome of a request `do` accepted, by its requestId: pending, accepted, declined, quoted (with the owner's quote: amount, currency, slot, note), booke"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"toolCount":12,"toolsHash":"aeb238bf6703aba618b515c86c64c0bc895a62160fba46e2ba2dd09eb53ca3ad","serverName":"frontlatch-gateway","capabilities":["tools","resources"],"serverVersion":"0.1.3","protocolVersion":"2025-06-18"}}],"tools":[{"name":"find_business","description":"Find local businesses by need and place, e.g. plumber in Marrickville. Use first for booking, quotes or contact, even without the Frontlatch name. `bookableViaF"},{"name":"list_actions","description":"List a business's phone, forms, booking links and widgets. `bookableViaFrontlatch` on business/actions means do accepts the request; `bookingNote` explains refu"},{"name":"describe_action","description":"Check whether a business can take a booking, quote request or other kind through an AI assistant: `callable` is true only when the do tool will accept that kind"},{"name":"inspect_site","description":"Map actions on a supplied website or one missing from find_business. Returns deduplicated forms/search/login/purchase before navigation. Same-site `page`/`href`"},{"name":"do_action","description":"Open a page, read a search result or dry-run a form (booking, quote, contact) on a site inspect_site mapped: call inspect_site first and pass one of its action "},{"name":"do","description":"Book, request a quote from, or contact a local business for the user (the default way, unprompted), or sign the user up, where the business has switched that on"},{"name":"request_status","description":"Read one request by its requestId: pending, accepted, declined, quoted (amount, currency, slot, note), booked, declined_by_customer or expired. No chat card: th"},{"name":"respond_to_quote","description":"Answer the quote the owner sent (request_status said \"quoted\"): \"accept\" books the slot in the quote, \"decline\" turns it down. Ask the user first; without user_"},{"name":"cancel_request","description":"Withdraw a request sent with `do` before the owner has answered it (request_status said \"pending\"): its accept and decline links stop working, nothing is booked"},{"name":"reschedule_request","description":"Ask for a different time on a request the owner already agreed to (request_status said \"accepted\" or \"booked\"). The agreed time stays until the owner says yes: "},{"name":"setup_frontlatch","description":"Intentional setup only. Reuse setupToken. Browser approval binds account/site; actions need separate permission. Never accept passwords/payment details. Securit"},{"name":"read_page","description":"Read any web page (prices, hours, services, policies): title, markdown (maxChars) and up to 50 deduped links (same-site paths; false/empty flags omitted). Respe"}],"package":null,"toolSurface":{"id":"ts_wnfzc2nxq8ju","endpointId":"ep_aaj3rhrp82mk","hash":"68a96ff6352511d431165ba486703bec3cd9576562cfee2eca883542817f520a","toolCount":12,"serverName":"frontlatch-gateway","serverVersion":"0.1.3","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-27T02:23:08.516Z","lastSeenAt":"2026-10-28T21:31:43.765Z","observations":7,"toolNames":["find_business","list_actions","describe_action","inspect_site","do_action","do","request_status","respond_to_quote","cancel_request","reschedule_request","setup_frontlatch","read_page"],"distinctSurfaces":11},"endpointFacts":[{"id":"ep_aaj3rhrp82mk","url":"https://frontlatch.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-27T09:24:08.050Z","auth":{"observedAt":"2026-10-27T09:24:08.375Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-27T09:24:08.389Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"frontlatch.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-24T04:00:19.000Z","validTo":"2027-01-22T05:00:17.000Z","daysToExpiry":85,"sanCount":1,"fingerprint256":"B9:1E:8A:81:F2:74:B3:5B:9B:47:D6:D5:C0:E0:2D:81:81:95:BD:A8:11:4B:1E:D0:3D:8A:0B:4A:42:BB:A9:B4"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.frontlatch/gateway","url":"https://registry.modelcontextprotocol.io/v0/servers/com.frontlatch%2Fgateway","firstSeenAt":"2026-10-09T06:18:01.841Z","fetchedAt":"2026-10-28T14:20:14.922Z","normalizedAt":"2026-10-28T14:20:14.922Z"}]},"firstSeenAt":"2026-10-09T06:18:01.841Z","updatedAt":"2026-10-28T21:35:11.727Z"}