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 "biz_availability", "biz_book", "biz_info" and 18 more
⟨47 unchanged words⟩ of these is REFUSED with the list,neverandsilentlyit is not answered about a different business.","type": ⟨44 unchanged words⟩
BOOKBooks one open slot at a business served through this connector.GiveNeeds aslotId`slotId` from biz_availability, aservice`service` from biz_info, and theFIRSTfirstNAMEname of the person the appointment is for.This tool writes: the slot is taken afterwardsItandtakes asecond attemptfirstonnametheandsamenothingslot
⟨61 unchanged words⟩ of these is REFUSED with the list,neverandsilentlyit is not answered about a different business.","type": ⟨32 unchanged words⟩
⟨58 unchanged words⟩ of these is REFUSED with the list,neverandsilentlyit is not answered about a different business.","type": ⟨54 unchanged words⟩
PLACEPlaces a pickup pre-order at a business served through thisconnector. Call it for checkoutconnector: placing an order,placinga pickup order, orconfirming antheordercheckout after biz_menu.GiveNeedsitems`items` (id and qty)from biz_menu,and apickupWindowId`pickupWindowId` from biz_menu, and theFIRSTfirstNAMEname of the person collecting.This tool writes: the order is in the book afterwards and the pickup window is one order fuller.Itaccepts
MarkMarks one item on a business menu as sold out for today, orputputs it back on. Anyone reading that menu afterwards ⟨4 unchanged words⟩ an order for a sold-out item is refused.TWONeedsCALLS,aALWAYS:personalcallconnectorittokenfirst(awithsharednotoken`confirm`readstobut
⟨63 unchanged words⟩ of these is REFUSED with the list,neverandsilentlyit is not answered about a different business.","type": ⟨163 unchanged words⟩
MarkMarks a boothyouthestaffperson staffs as stepped away, orback.back;Attendeesattendees looking at that booth see the presencestatechange.TWO CALLS, ALWAYS: call it first withNeedsnoa`confirm`personaltoconnectorgettoken (apreviewshared
AcceptAccepts a hello the person has received, which opens a conversation withthat person. Use it for "accept Dana",the"yes,personconnectwhomesentwithit.Jo",Needs"sayayespersonaltoconnectorher".tokenNameand the hellowithas
TheLists the people at an event the personishasatjoined whose stated intent fits theirs.Use it forNeeds"whoashouldpersonalIconnectormeet",token;"whothehereevent islooking`eventId`forwheninvestors"
TheReads the person's own conversations with people theyhaveconnected with at anevent, and the last few lines of one of them. Use it for "any messages",event."didNeedsJoareply",personal"whatconnectordidtoken;Danaasay",shared"readtokenmyreachesinbox".no
A PASS HOLDER'S OWN ANSWER TO A MEETUP NOTICE. Call it when somebody who holds theRecordseventa passsaysholder'swhetherowntheyyesareorcomingno to a meetup the organizer announced onit:the event pass ("yes, I will be at the bar", "no, I cannot make the meetup").PassNeedsthea`noticeId`personalof
THE ORGANIZER'S OR THE HOSTS' NOTICE TO PASS HOLDERS.SendsCallaitnoticewhenfrom the organizer of an event, or a host of a personal event,wantstotellthe people who added the event pass to their phone's Walletsomething:("doors open at 7 now", "the ⟨7 unchanged words⟩ at The Bar on 2nd at 8 PM"). Needs a personal connector token, `eventIdOrName`, `audience` and `text`. Each pass holder in the chosen group sees ⟨24 unchanged words⟩ ) and the line stays on the pass.Pass`audience`tonamessaytheWHOgroup
A LOST OR SHARED PASS. CallRefreshesitorwhenrevokes aperson wants theirWallet passrefreshed with: anewpasscodethat("someonewas photographedmyorpass"shared,"I wantor afreshguest's pass"),or whenthat
JoinSeatsantheeventpersonwithataancodeeventthewithpersonanwaseventgiven,codeonfrom a badge, a poster, an email orata door.THE CODE IS THENeedsONLYa
SendSends one message, in the person's own words, into a conversationthe personthey alreadyhashave with somebody they connected with at an event.Use itNeedsfora"replypersonaltoconnectorDana",token"tell(aJosharedItokenamreads
Who wants to meet the person:Lists the hellos waiting onthemthe person at an event, newest first.Use itNeedsfora"whopersonalwantsconnectortotokenmeetandme",reads"anyonlyrequests",the"didcaller'sanyone
SaySends a helloto(asomebodyconnection request) from the personhastobeensomebodyshownlisted in their eventmatches: it sends that person a connection request from them, andmatches; when it is accepted, a conversation opens that both can read and answer from the app, the web page or an assistant.Use it for "say hello to Jo", "introduce me to her", "how do I messageNeedshim".aPasspersonalthe
Set whatSets theperson is at anperson's eventfor, and whether other attendeesbadge:therewhatmaytheyfindarethem.atUsetheitevent for"set my intent","Iwhoamtheyherewant tobuy"
TurnTurns text alerts from the Sonar Connections Event Line ⟨8 unchanged words⟩
⟨17 unchanged words⟩ send my pass again": call this tool.THE WALLET PASS. Call it whenReturns asigned-inlinkpersonthatwantsaddstheirthe person's pass for an event or a personal eventthisservedconnectorhereserves:to"addAppleitWallettoormyGoogle
Added "event_change_detail", "event_guest_requests", "event_send_request" and 1 more (38 tools before, 42 now)
Change one detail of a personal event (hosts only) — THE HOSTS' OWN EDIT. Call it when somebody asks to CHANGE a detail of a wedding or other personal event this connector serves: "move the ceremony to 4:30 PM", "the reception is at the barn now", "change the dress code to garden formal", "update the parking note", "answer the question about children". IT APPLIES THE CHANGE ON THIS CALL and the reply says what the detail is now and what it was before: read BOTH of those out. Only the hosts of the event can change it; anybody else gets a refusal that you read out as given and do not work around. It changes ONE field per call, from a closed list:…
Read the guests' requests (hosts only) — THE HOSTS' OWN LIST of what their guests have asked for on a personal event this connector serves. Call it for "what have our guests asked for", "any dietary requests", "who needs anything". It returns the OPEN requests, newest first, each one as a category, the note the guest wrote, who it is from and when it landed. ONLY THE HOSTS can read it; anybody else gets a refusal you read out as given. WHO IT IS FROM IS A FIRST NAME OR THE WORDS "a guest", and there is no phone number, no email address and no account id on this surface at all, so never offer to contact somebody from this list. Read …
Send the hosts a request about a personal event — A GUEST ASKS THE HOSTS FOR SOMETHING. Call it when somebody wants to tell the hosts of a wedding or other personal event this connector serves about a need or a question: "I need a vegetarian meal", "I use a wheelchair, is the garden reachable", "can I bring my partner", "when should I arrive from the airport". IT CHANGES NOTHING ON THE EVENT and the reply says so: it files the request for the hosts to read, and you must not tell the person their meal is arranged, their plus one is approved or anything else has been decided. Pass `category` as one of the named values and `note` as what they a…
Changed the definition of "event_wallet_pass"
For "what is my pass status", "did my pass save", "my pass", "where is my Wallet pass", "send my pass again": call this tool. THE WALLET PASS. Call it when a signed-in ⟨144 unchanged words⟩
Added "event_text_alerts" (37 tools before, 38 now)
Text alerts on or off — Turn text alerts from the Sonar Connections Event Line on or off for replies and organizer updates.
Added "event_meetup_rsvp", "event_pass_notice", "event_pass_reissue" and 1 more (33 tools before, 37 now)
Answer a meetup notice (yes or no) — A PASS HOLDER'S OWN ANSWER TO A MEETUP NOTICE. Call it when somebody who holds the event pass says whether they are coming to a meetup the organizer announced on it: "yes, I will be at the bar", "no, I cannot make the meetup". Pass the `noticeId` of the meetup notice (the pass carries it, and the organizer's notice reply did) and `answer` as "yes" or "no". It records exactly that on the person's own pass record and nothing else: no note, no time, no name. The organizer can then send a notice to everybody who said yes. If the person holds no pass for this event the reply says NO_PASS: say so a…
Send a notice to a group of pass holders (hosts and organizers only) — THE ORGANIZER'S OR THE HOSTS' NOTICE TO PASS HOLDERS. Call it when the organizer of an event, or a host of a personal event, wants to tell the people who added the event pass to their phone's Wallet something: "doors open at 7 now", "the keynote moved to Hall B", "Sonar meetup at The Bar on 2nd at 8 PM". Each pass holder in the chosen group sees the line on their lock screen (Apple Wallet shows it as the pass's own change notice; Google Wallet shows it as a Wallet notification) and the line stays on the pass. Pass `audience` to say WHO: everyone, one ticket tier, one badge intent, an explicit…
Refresh or revoke a Wallet pass — A LOST OR SHARED PASS. Call it when a person wants their Wallet pass refreshed with a new code ("someone photographed my pass", "I want a fresh pass"), or when a host of a personal event or the organizer of an event wants a guest's pass revoked or refreshed. action "reissue" gives the pass a new QR code and brings a revoked pass back; the old code stops working at once and the phone shows "Your pass was refreshed. The old code no longer works." action "revoke" voids the pass on the phone: "This pass was revoked and no longer works." Nothing is re-added: the same pass updates in place on an iP…
Authorization not required, issuer https://sonarconnections.com
Authorization not required, issuer https://sonarconnections.com
Added "events_overview"; removed "events_seat_bundle"; changed the definition of "biz_book", "biz_info", "biz_menu" and 9 more
⟨169 unchanged words⟩ and the reply carries the Square booking id.ThisWhen the reply's `isDemo` is true the business is a demonstrationbookand nothing is reserved in the physical world. ⟨55 unchanged words⟩
⟨174 unchanged words⟩ published catalog. A business whose `schedulingSystem` names Squarebooks
Authorization not required, issuer https://sonarconnections.com
Authorization not required
Added "biz_book", "biz_order", "biz_order_status" and 10 more; changed the definition of "biz_availability", "biz_info", "biz_menu" and 2 more (20 tools before, 33 now)
⟨65 unchanged words⟩ defaults to today in the business's own timezone. Returns each open slot with a stable slotId that biz_book accepts. Slots that have already started today are never ⟨119 unchanged words⟩ do serve, never answered about a different one.BOOKING IS NOT AVAILABLE THROUGH THIS PUBLIC CONNECTOR. Each open slot carries a stable slotId, and on this lane those slots are INFORMATION ONLY: listing one reserves nothing and there is no tool here that can take it. Where a business has a next step of its own, it rides on the reply as `nextStep`.
⟨245 unchanged words⟩ businesses and the appointment book is a sandbox.
Changed the definition of "biz_storefront", "city_calendar", "city_gis" and 1 more
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
FOUNDER PREVIEW, NOT A PUBLISHED FEED.Upcoming public events run by the City of ⟨35 unchanged words⟩ a page, and every response says so.The City has NOT STATED A LICENSE forEverythisresponsedata,names
Changed the definition of "biz_storefront", "events_get", "events_seat_bundle" and 1 more
⟨545 unchanged words⟩ somebody you cannot put something in a basket. WHERE THE REPLY CARRIES shopUrl, that is this WHOLE SHOP as a page somebody can open in an ordinary browser, drawn with the same card and carrying the same basket and the same checkout, so offer that url exactly as returned and never compose one of your own. Read `buyingNote` on the reply, which says which ⟨131 unchanged words⟩
⟨45 unchanged words⟩ Accepts the event id or its public slug. For who should I meet, matching, who is here for the same thing, or introductions at an event: answer with this result's matchDoor link, because matching needs the person seated with a phone code on that page, and never promise matches inside this connector.
Changed the definition of "biz_storefront"
⟨381 unchanged words⟩ finds her candles wherever they sit in it. PASS THE PERSON'S OWN WORDS: every word you pass must match the start of some word in a product's title, brand, type or handle, singulars and plurals find each other and word order does not matter, so "amazonite rings", "amazonite ring" and "rings" all reach the same ring. A `page` past the end answers with no ⟨247 unchanged words⟩
Changed the definition of "biz_availability", "biz_info", "biz_menu" and 1 more
⟨6 unchanged words⟩ served through this connector, for one date. Businesses served here: Velvet and Clay (velvetandclay, a hair, color and skin studio), Brightpoint Dental (brightpointdental, a family and cosmetic dental practice). Reachable here but not through this tool: Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives) and Kristin Dunn Bookbinding and Design (kdbooks) take no bookings. `date` is optional and defaults to today in ⟨194 unchanged words⟩
⟨6 unchanged words⟩ "Which business, BY NAME OR BY ID.Optional, defaults to velvetandclay.Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse.(longbeachbrunch)Optional
Changed the definition of "biz_storefront"
⟨229 unchanged words⟩ and never a link to any other host. WHERE THIS REPLY DRAWS THE SHOP CARD, THE CARD ITSELF HOLDS A BASKET: the person taps a product on the card and taps Add to cart, and the card's own Check out opens the shop's own checkout with those items already on it, so never tell somebody you cannot put something in a basket. Read `buyingNote` on the reply, which says which of those two is true for this serve, and say what it says. No payment passes through Sonar Connections, this toolhas nowhere tocannotputtake acardpayment, and no fee is added to the ⟨99 unchanged words⟩
Certificate changed, valid to 2026-12-03
Added "biz_storefront" and "events_seat_bundle"; changed the definition of "biz_availability", "biz_info", "biz_menu" and 1 more (18 tools before, 20 now)
⟨58 unchanged words⟩ says so, with its opening hours attached. A day with no stated hours is NOT a closed day: it comes back with no slots and closedReason HOURS_UNSTATED, and the honest reply is that the business has not published hours for that date, never that it is closed. The business may be given by NAME or ⟨102 unchanged words⟩
⟨24 unchanged words⟩ (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives). A common short form works too (\ ⟨73 unchanged words⟩
Changed the definition of "ui_card_diag"
⟨6 unchanged words⟩ ":"Which card is speaking: menu, order, floor orfloor.storefront.","type":"string"},"events":{ ⟨92 unchanged words⟩
Changed the definition of "biz_availability", "biz_info", "biz_menu" and 14 more
⟨88 unchanged words⟩ short form ("the bakehouse", "the brunch house", "the dentist") works too. A name we cannot ⟨72 unchanged words⟩
{"openWorldHintdestructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
Changed the definition of "ui_card_diag"
⟨22 unchanged words⟩ t, kind} plus optionally code, n, c, span, mode, w, h, top, bottom. An ⟨73 unchanged words⟩
Certificate recorded, valid to 2026-11-27
Authorization not required
Added "ui_card_diag" (17 tools before, 18 now)
Card diagnostics sink — INTERNAL. The diagnostics sink for the interactive cards this connector serves. A card view posts its own lifecycle markers here in small batches: that it mounted, which display mode and safe-area insets the host gave it, the heights it reported, whether a keyboard opened, and the outcome of the one action a person took on it. It accepts a closed vocabulary of markers and integer counts only, no free text of any kind, and it returns nothing but an acknowledgement. NOT FOR A MODEL TO CALL: it answers no question and looks nothing up. Call a data tool instead.
Changed the definition of "biz_availability", "biz_info", "biz_menu" and 1 more
⟨17 unchanged words⟩ defaults to today in the business's own timezone.Returns each open slot with a stable slotId that biz_book accepts.Slots that have already started today are never ⟨76 unchanged words⟩ do serve, never answered about a different one. BOOKING IS NOT AVAILABLE THROUGH THIS PUBLIC CONNECTOR. Each open slot carries a stable slotId, and on this lane those slots are INFORMATION ONLY: listing one reserves nothing and there is no tool here that can take it. Where a business has a next step of its own, it rides on the reply as `nextStep`.
⟨196 unchanged words⟩ businesses and the appointment book is a sandbox.Call this first, then biz_availability to see open times, then biz_book to take one.
Unknown → Live
First tool surface recorded: 17 tools (server version 0.1.0)
https://mcpconnector-gtlizqtvza-uw.a.run.app/public (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 28 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨47 unchanged words⟩ of these is REFUSED with the list,neverandsilentlyit is not answered about a different business.","type": ⟨77 unchanged words⟩
⟨57 unchanged words⟩ of these is REFUSED with the list,neverandsilentlyit is not answered about a different business.","type": ⟨137 unchanged words⟩
⟨4 unchanged words⟩ {"business":{"description":"Which business,BYbyNAMEnameORorBYbyIDid,exactlyas biz_menu returned it. Only a businessyoutheareperson is seated on can be changed.","type":"string"},"confirm":{"description":"Leave this outAbsent on the firstcall.call,Passwhich changes nothing. true, together with confirmToken,tomakescommit.the change.","type":"boolean"},"confirmToken":{"description":"The token thepreviewfirst call returned.RequiredNeeded when confirm is true.","type":"string"},"itemId":{"description":"The menu item id,exactlyas biz_menu returned it.Prefer it whenever you have one: anAn idcanmatchesneverexactlybeoneambiguous.item.","type":"string"},"itemName":{"description":"The item by name, whenyounohaveidnoisid.at hand. Matched against thatmenu.menu;Aa name that fits more than one item is refused with the names itfits, never guessed at.fits.","type":"string"},"requestId":{"description":"Your ownAn id for this change chosen by the caller, at least 8 characters.SendingA repeat with the sameone twiceidwithand the same arguments returns the first resultinstead ofwithout changing anything a second time.","type": ⟨27 unchanged words⟩
⟨35 unchanged words⟩ :"string"},"confirm":{"description":"Leave this outAbsent on the firstcall.call,Passwhich changes nothing. true, together with confirmToken,tomakescommit.the change.","type":"boolean"},"confirmToken":{"description":"The token thepreviewfirst call returned.RequiredNeeded when confirm is true.","type":"string ⟨14 unchanged words⟩ :"string"},"requestId":{"description":"Your ownAn id for this change chosen by the caller, at least 8 characters.SendingA repeat with the sameone twiceidwithand the same arguments returns the first resultinstead ofwithout changing anything a second time.","type": ⟨7 unchanged words⟩
⟨3 unchanged words⟩ ,"properties":{"firstName":{"description":"OPTIONAL.Optional. TheFIRST NAMEfirstexactlyname as an event_requests row spelledit.it,Matchedmatched against the caller'sOWNown pending hellos only. Two matchescome backreturn AMBIGUOUS_NAME andNOTHING IS ACCEPTED, and you ask which onenothingtheyismean.accepted.","type":"string"},"requestId":{"description":"OPTIONAL.Optional. The requestIdexactlyas an event_requests row gave it.Never construct one.WhenPassboth thisOR firstName;andpassingfirstNamebothareusessent, thisone.one is used.","type":"string"}},"type":"object"}
⟨3 unchanged words⟩ ,"properties":{"eventId":{"description":"OPTIONAL. Omit forOptional.theAn event the personis currently in, which is the usual case. Only pass one if they namedhasajoined.differentWhenshowabsent,and it mustthebeeventonethetheypersonhaveisalreadycurrentlyjoined.in.","type":"string"}},"type":"object"}
⟨3 unchanged words⟩ ,"properties":{"chatId":{"description":"OPTIONAL.Optional. The id of one conversation,exactlyas a thread row from thissametool gave it.Never construct one.WhenPassboth thisORand firstName,not both;arepassingsent,boththisusesonethisisone.used.","type":"string"},"firstName":{"description":"OPTIONAL.Optional. TheFIRSTfirstNAMEname of the person whose conversation to read,exactlyas a thread row spelledit.it,Matchedmatched against the caller'sOWNown conversations only.If two of them answer to it theTworeplymatchesisreturn AMBIGUOUS_NAME and nothing isread, and you ask which one they mean rather than choosing.read.","type":"string"},"limit":{"description":"OPTIONAL.Optional. How many lines of one conversation to return, at most50. Omit50;for30thewhenlastabsent.30.NotIgnoredused when listing threads, whichis alwaysreturns at most 20.","maximum":50,"type ⟨3 unchanged words⟩
⟨29 unchanged words⟩ :"string"},"audience":{"description":"REQUIRED. WHOWho the notice is for. \"everyone\" is every pass of the event; \"tier\" one ticket tier (passwith `tier`); \"intent\" one badge intent (passwith `intent`); \"serials\" an explicit list (passwith `serials`); \"booth\" the people who scanned at a booth the organizer names (passwith `boothId`); \"meetup_yes\" or \"meetup_no\" the people who answered an earlier meetup notice (passwith its `noticeId`). \"my_booth\" is a vendor sending to their ownleadsleads;andit is switched off by ruling:it is refused with VENDOR_OFF, say soanddo notreturnsretry.VENDOR_OFF.","enum":["everyone","tier"," ⟨23 unchanged words⟩ :"string"},"confirm":{"description":"Leave outAbsent for aPREVIEWpreview: the replysaysgiveshowthemanynumber of passes in the groupholdsand the exact lock-screen line, and nothing is sent.Read that back, and onlytruewhensends theorganizer says to send it call again with confirm: true.notice.","type":"boolean"},"eventIdOrName":{ ⟨159 unchanged words⟩ :"string"},"requestId":{"description":"OPTIONAL. YourOptional.ownAn id for thisnotice;notice chosen by thesamecaller;idoneneverid sendstwice.once.","maxLength":64,"type":"string"} ⟨76 unchanged words⟩
⟨33 unchanged words⟩ :"string"},"confirm":{"description":"Leave this outAbsent on the firstcall.call,Passwhich changes nothing. true, together with confirmToken,tomakescommit.the change.","type":"boolean"},"confirmToken":{"description":"The token thepreviewfirst call returned.RequiredNeeded when confirm is true.","type":"string"},"requestId":{"description":"Your ownAn id for this redemption chosen by the caller, at least 8 characters.SendingA repeat with the sameone twiceidwithand the same code returns the first resultinstead ofwithout redeeming a second time.","type":"string ⟨4 unchanged words⟩
⟨3 unchanged words⟩ ,"properties":{"chatId":{"description":"OPTIONAL.Optional. The id of the conversationto send into,exactlyas an event_inbox thread row gave it.Never construct one.WhenPassboth thisORand firstName,not both;arepassingsent,boththisusesonethisisone.used.","type":"string"},"firstName":{"description":"OPTIONAL.Optional. TheFIRSTfirstNAMEname of the person to answer,exactlyas an event_inbox thread row spelledit.it,Matchedmatched against the caller'sOWNown conversations only. Two matchescome backreturn AMBIGUOUS_NAME andNOTHING IS SENT, and you ask which one they mean rather than choosing: therenothing isno way to unsend a message to the wrong person.sent.","type":"string"},"text":{"description":"REQUIRED.The message,in thePERSON'Sperson'sOWNownWORDSwords, up to 1000 characters.Send what they said: do not tidy it, do not shorten it, do not improve it and never invent one. If they have not said what to send, ask themItinsteadisofsentcallingasthis.given.","maxLength":1000,"type":"string"} ⟨4 unchanged words⟩
⟨3 unchanged words⟩ ,"properties":{"firstName":{"description":"REQUIRED.TheFIRSTfirstNAMEname of the person,exactlyas an event_find_matches row spelledit. Never a surname, never an account idit,never a nameupthetoperson40hascharacters;notnobeensurnameshownandonnoaaccountrow.id.IfWhen two people intheirthematchescaller'sanswermatchestoshare it, the reply is`ambiguous`\"ambiguous\" and nothing issent, and you ask which one they mean.sent.","maxLength":40,"type":"string"} ⟨4 unchanged words⟩
⟨3 unchanged words⟩ ,"properties":{"confirm":{"description":"Leave this outAbsent on the firstcall.call,Passwhich changes nothing. true, together with confirmToken,tomakescommit.the change.","type":"boolean"},"confirmToken":{"description":"The token thepreviewfirst call returned.RequiredNeeded when confirm is true.","type":"string"},"discoverable":{"description":"REQUIRED, and never inferred from the intent:trueputs them inlists thelistperson where other attendees at that event cansee,find them; false keeps themoutoffofthatit.list.AskIt is a separate answer from thepersonintentwhichandtheyiswant;not inferred from it; a missing or non-booleananswervalue is refused rather than defaulted.","type":"boolean"},"eventId":{"description":"OPTIONAL. Omit forOptional.theAn eventthe person is currently in, which isid theusual case.personOnlyhaspassjoined.oneWhenifthistheyandnamedeventIdOrSlugaaredifferentbothshowabsent,andtheiteventmustisbethe onetheycurrenthaveeventalreadythe person has joined.","type":"string"},"firstNameeventIdOrSlug":{"description":"OPTIONAL.The person'sEventFIRSTidNAME(tie_la_demo),2publictoslug,40orcharacterstheofeventlettersname,spaces,ashyphensthe events tools accept it. When this andapostrophes.eventIdItare both absent, the event is theTHIRDonethingcurrentaeventbadgetheispersonmadehasofjoined.","type":"string"},"facets":{"description":"Optional.besideThe person's answer to thetworead-back:sentences{confirm:atrue},badge{add:with[theirnowords]}nameorcannot{remove:be[theirfoundwords]}.byTheotherserverattendeesmapseither.thePasswordsitontoonlythewhenread-back'stheyownhavelist.","properties":{"add":{"items":{"maxLength":60,"type":"string"},"maxItems":6,"type":"array"},"confirm":{"type":"boolean"},"remove":{"items":{"maxLength":60,"type":"string"},"maxItems":6,"type":"array"}},"type":"object"},"firstName":{"description":"Optional.justThetoldfirstyounametheirthenamebadgeorshows,asked2 tochange40it;charactersleavingofitletters,outspaces,keepshyphenswhateverandtheirapostrophes. A badgealreadywithoutsaysaandnameneverisclearsnotit.findable.NeverWheninventabsent, the stored name is kept; a name,nevertheshortenbadgeonecannottheytakegaverefusesyou,the whole call andneverthepassreplyasayssurname.why.","maxLength":40,"type":"string"},"headline":{"description":"Whattheytheareperson is here for, in theirOWNown words, up to 280 characters.This is theThe first of the twosentences thebadgeis made of, so ask \"What are you here for?\" and pass what they say. FULL SENTENCES ARE THE POINTsentences:it is read bythe matcherthat decides who they are shownreadstoit anditotherisattendeeswhatseestrangersit,readsoaboutathem,fullsosentence (\"raising a seed round for a logistics startup\")beatsmatches\"raisingbettermoney\".than a word. Phone numbers, email addresses and links are removed on theserver, because other attendees read it. Leaving it out keeps whatever theirserver.badgeWhenalreadyabsent,saystheandstoredneversentenceclearsisit.kept.","maxLength":280,"type":"string"},"intent":{"description":"OPTIONAL quick pick, not a question you have to ask.Optional. One of Buyer, Vendor, Networker or Social, as the person said it; case and surrounding spacesdo not matter. Leave it out when they did not name one ofarethoseignored.fourWhenwords:absent, the server derives the category from the two sentences and falls back toNetworker, which is what their badge in the app does.Networker. A word outside the fourdoes NOT go here - it goesbelongs in`label`, where it is kept rather than refused.`label`.","type":"string"},"intentText":{"description":"OPTIONAL, andOptional.theTheOLDERolderNAMEname for`lookingFor`:`lookingFor`; it writes the same badgeline. Prefer `lookingFor`, which is the badge's own word for it, and pass only one of the two. What they are looking for, in their OWN wordssentence, up to 280 characters.FULL SENTENCES ARE WELCOME and are what this field is for: it is read by the matcher that decides whoWhentheyboth areshown, so \"raising a seed round for a logistics startupsent,and looking for operators who have scaled a warehouse\" matches better than \"raising money\". Do not compress what they said to`lookingFor`saveisroom.used. Phone numbers, email addresses and links are removedfrom iton theserver, because other attendees read it. Leave it out to keep whateverserver.theirAnbadgeabsentalreadyorsays;emptysendingvalueanleavesemptythestringstoredalsosentenceleavesas italone.is.","maxLength":280,"type":"string"},"label":{"description":"OPTIONAL.Optional.TheirThe person's own word forwhat theytheirare,category when none of the four fits:(\"Investor\", \"Director\", \"Press\"). Up to 24 characters,of letters, spaces andhyphens only.hyphens. It isKEPT AND SHOWN as their wordkept andis never refused for being outsideshowntheasfour;written; the server still files one of the four behindit so the match list can say why two people fit. Pass it only when the person named it themselves - it is a fact about them, so never invent one and never tidy theirs.it.","maxLength":24,"type":"string"},"lookingFor":{"description":"Whotheythewantperson wants to meet, in theirOWNown words, up to 280 characters.This is theThe secondof the two sentences thebadgeis made ofsentence,so ask \"Who do you want to meet?\" and pass what they say. It istheSAME badgesamelinefield the older `intentText`argument writes, under the badge's own name for it; pass one or the other, not both.writes. Phone numbers, email addresses and links are removed on the server.Leaving it out keeps whatever their badgeWhenalreadyabsent,saystheandstoredneversentenceclearsisit.kept.","maxLength":280,"type":"string"},"requestId":{"description":"Your ownAn id for this change chosen by the caller, at least 8 characters.SendingA repeat with the sameone twiceidwithand the same arguments returns the first resultinsteadwithoutofchangingwritinganythingagain.a second time.","type":"string"}},"required": ⟨3 unchanged words⟩
Show a personal event card — THE PERSONAL EVENT TOOL. Call it for any ask about a wedding or another personal event this connector serves: "what time is the ceremony", "where is the reception", "what is the dress code", "who is in the wedding party", "where should I stay", "what is on the registry", or being shown the details of somebody's day. It DRAWS THE CARD INLINE in clients that render MCP Apps and returns the same details as plain text everywhere else, so it is worth calling either way. WHAT IT RETURNS DEPENDS ON WHAT THE HOSTS INCLUDED, and the answer is already filtered when it reaches you: a card with no story,…
Add the event pass to Apple Wallet or Google Wallet — THE WALLET PASS. Call it when a signed-in person wants their pass for an event or a personal event this connector serves: "add it to my wallet", "put the wedding in my wallet", "I want the pass on my phone". It answers ONE LINK, good for fifteen minutes and for one tap: on an iPhone the link opens the Add to Apple Wallet sheet, on an Android phone it opens Save to Google Wallet, and no app is needed on either. Say the link and the sentence that comes with it, nothing more. The pass shows the event, the date and the venue on the front with the person's QR, the schedule on the back, and it surf…
Pickup menu andordertimes
The PICKUP MENU for a business served through this connector,: its items with prices, allergens,and how far ahead eachitemone has to be ordered, and the pickup windows available on a date.CallUseitthisforwhenansomeoneorder,asks what apickup,businessplacingsellsanfororderpickup,a pickupitsorderprices, orcheckoutwhenatthey can pick something up. Businesses with abusinesspickupservedmenu here:theLongmenuBeach Brunch Bakehouse (longbeachbrunch,theapickupneighborhoodwindowsbakery andthecoffeecheckoutbar).allReachablecomeherefrombut not through thisonetool:call.VelvetNoandbusinessClayserved(velvetandclay),hereBrightpointtakesDental (brightpointdental), Make Collectives (makecollectives) and Kristin Dunn Bookbinding and Design (kdbooks) have no pickupordersmenurighthere.now.longbeachbrunch sells cookies, brownies and bars, morning pastry, brunch boxes, party platters, custom cakes and holiday boxes, and a coffee bar. Pass a date to get that day's pickup ⟨5 unchanged words⟩ it for today in the business's own timezone.ItemThisidstoolfromonlyherereads:areitwhatdoesbiz_ordernotacceptsplace,exactly as written. PICKUP ONLY: there is no deliveryholdandornopayshipping.forPAYMENT:antheorder.ORDEROrdersisare placedhere;withpayingaforseparateittool,when thebiz_order,businesswhich takespayment, happensitemonidsthatandbusiness'saownpickupSquarewindowcheckoutidpagefromreachedthisthroughreplyaexactlysonarconnections.com/p/<code>aslink,written;orrightatnowtheitcountertakesonpickupcollection.ordersNoforcardLongdataBeachpassesBrunchthroughBakehouseSonar(longbeachbrunch).ConnectionsPICKUPandONLY:thistheretoolishasnonowheredeliverytoandputnoone.shipping. A businessthat does notwithtakeno pickupordersmenu here says so honestly with its opening hours attached. ⟨41 unchanged words⟩ published opening hours and give the phone number.ThisWhether a business is a demonstrationbusinessisandstatedtheonorderitsbookownisreplya(`isDemo`sandbox.and `demoNotice`), never assumed. The business may be given by NAME or by id:, and a common short form works too ("Long Beach Brunch Bakehouse"and, "longbeachbrunch"both reach the bakery,anda common short form ("the bakehouse","the brunchallhouse",reach"thedentist"bakery)works too.. A name we cannot place is refused with ⟨13 unchanged words⟩
⟨6 unchanged words⟩ "Which business, BY NAME OR BY ID.NoAvailable:businessLongservedBeachhereBrunchtakesBakehouse (longbeachbrunch). The default (velvetandclay) has no pickupordersmenurighthere,now.so NAME THE BUSINESS: an omitted argument is refused. A common short form works too (\" ⟨83 unchanged words⟩
⟨224 unchanged words⟩ PICKUP ONLY, no delivery and no shipping.No businessBusinesses served here:takesLongpickupBeachordersBrunchrightBakehousenow.(longbeachbrunch, a neighborhood bakery and coffee bar). Reachable here but not through this tool: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Make Collectives (makecollectives) and Kristin Dunn Bookbinding and Design (kdbooks) take no pickup orders. A business that takes no orders returns an ⟨44 unchanged words⟩ the refusal says which and offers other times.ThisWhen the reply's `isDemo` isatruedemonstrationtheorderbusinessbookis a demonstration and nothing is reserved in the physical world. ⟨55 unchanged words⟩
⟨6 unchanged words⟩ "Which business, BY NAME OR BY ID.NoAvailable:businessLongservedBeachhereBrunch Bakehouse (longbeachbrunch). The default (velvetandclay) takes no pickup orders,rightsonow.NAME THE BUSINESS: an omitted argument is refused. A common short form works too (\" ⟨166 unchanged words⟩
Checkwhether apickup orderis paidpayment
Mark aSet menu itemsold outavailability
SetMark a boothas steppedaway
CityGISmap layers
Readrecords from a publicopendatasetdata records
Setanmy eventintentgoal
Get oneboothbooth'scarddetails
CardReportdiagnosticscardsinkdiagnostics
INTERNAL. The diagnosticsUsedsinkonlyforby the interactive cards this connectorserves.draws, never to answer a question. A card view posts its own lifecycle markers ⟨80 unchanged words⟩
Event overview — An overview of one event in a single reply: the event summary, the number of booths and the first page of them, the programme, the live offers and raffles, and `hasFloorplan`, which says whether the organizer publishes a floor plan. Use it when someone wants the whole picture of an event at once. IF YOU ONLY WANT ONE SECTION, call that section's own tool instead (events_get, events_booths, events_whats_on, events_offers): it answers with less. `hasFloorplan` false means the organizer publishes no floor plan: the booths, programme and offers are still all here, so answer from those and never p…
Open an event in one call — EVERYTHING ABOUT ONE EVENT IN A SINGLE CALL, for a client that is drawing a whole page and would otherwise make five round trips: the event summary, the booth count with the first page of booths, the programme, the live offers and raffles, and `hasFloorplan`. Built for the web event door at sonarconnections.com/e/<eventId>, and useful to any caller that wants the whole picture at once rather than one section. `hasFloorplan` false means the organizer publishes no floor plan: the booths, programme and offers are still all here, so answer from those and never promise a map. Each block says wheth…
⟨86 unchanged words⟩ it for today in the business's own timezone. Item ids from here are what biz_order accepts, exactly as written. PICKUP ONLY: there is no delivery and no shipping. PAYMENT: the ORDER is placed here; paying for it, when the business takes payment, happens on that business's own Square checkout page reached through a sonarconnections.com/p/<code> link, or at the counter on collection. No card data passes through Sonar Connections and this tool has nowhere to put one. A business that does not take pickup orders ⟨116 unchanged words⟩ do serve, never answered about a different one.ORDERING IS NOT AVAILABLE THROUGH THIS PUBLIC CONNECTOR. Each item carries a stable id, and on this lane the menu, the prices and the pickup windows are INFORMATION ONLY: nothing here places, holds or pays for an order. Where a business has a next step of its own, it rides on the reply as `nextStep`.
⟨64 unchanged words⟩ same thing, or introductions at an event:answercallwithevent_find_matches.thisItresult'sneedsmatchDoorthelink,personbecausesignedmatchinginneedsto Sonar Connections; when they are not, thepersonhostseatedshows a Connect prompt, they sign in withatheirphonemobilecodenumber,onandthatthepagecall is retried. If they have not said what they are here for yet, call event_set_intent first andneveraskpromisethematchestwo questions it names. This result's matchDoor link is the same door for a person who would rather not sign in insidethistheconnector.assistant; offer it, never require it.
⟨155 unchanged words⟩ same thing, or introductions at an event:answercallwithevent_find_matches.thisItresult'sneedsmatchDoorthelink,personbecausesignedmatchinginneedsto Sonar Connections; when they are not, thepersonhostseatedshows a Connect prompt, they sign in withatheirphonemobilecodenumber,onandthatthepagecall is retried. If they have not said what they are here for yet, call event_set_intent first andneveraskpromisethematchestwo questions it names. This result's matchDoor link is the same door for a person who would rather not sign in insidethistheconnector.assistant; offer it, never require it.
Book an appointment slot — BOOK one open slot at a business served through this connector. Give a slotId from biz_availability, a service from biz_info, and the FIRST NAME of the person the appointment is for. This tool writes: the slot is taken afterwards and a second attempt on the same slot is refused with alternatives. It accepts a first name and nothing else, by design: do not ask the user for a phone number, an email address or a surname, because there is nowhere to put one. Businesses served here: Velvet and Clay (velvetandclay, a hair, color and skin studio), Brightpoint Dental (brightpointdental, a family and …
Place a pickup order — PLACE a pickup pre-order at a business served through this connector. Call it for checkout: placing an order, placing a pickup order, or confirming an order after biz_menu. Give items (id and qty) from biz_menu, a pickupWindowId from biz_menu, and the FIRST NAME of the person collecting. This tool writes: the order is in the book afterwards and the pickup window is one order fuller. It accepts a first name and an optional short note, and NOTHING ELSE, by design: do not ask the user for a phone number, an email address, a surname or a card, because there is nowhere to put one and the note is s…
Check whether a pickup order is paid — Read the CURRENT state of a pickup order placed through this connector, by its confirmation code (the LBB-XXXXXX style code biz_order returned). It answers with the order state, the payment state, whether it is PAID, the pickup window, the business name and the total, and nothing else: no customer name, no items and no payment link. Use it after a customer has been sent to a checkout page, to tell them whether the payment has landed and the order is placed. It changes nothing. A code that names no order comes back not found.
Mark a menu item sold out — Mark one item on a business menu as sold out for today, or put it back on. Anyone reading that menu afterwards sees the change, and an order for a sold-out item is refused. TWO CALLS, ALWAYS: call it first with no `confirm` to get a preview of exactly which item will change and what it will read as, plus a `confirmToken`; show that preview to the person; then call it again with confirm true and that token to make the change. The token lasts two minutes, works once, and stops working if any argument changes. It requires a personal connector token: a shared one can read but cannot change anythi…
Set a booth as stepped away — Mark a booth you staff as stepped away, or back. Attendees looking at that booth see the presence state change. TWO CALLS, ALWAYS: call it first with no `confirm` to get a preview of exactly what will change plus a `confirmToken`, show that preview to the person, then call it again with confirm true and that token to make the change. The token lasts two minutes, works once, and stops working if any argument changes. It requires a personal connector token: a shared one can read but cannot change anything. Only a booth you own, administer or staff at that event can be changed, checked against l…
Accept a hello — Accept a hello the person has received, which opens a conversation with that person. Use it for "accept Dana", "yes, connect me with Jo", "say yes to her". Name the hello with `firstName` exactly as an event_requests row spelled it, or with that row's `requestId`; never invent either. CONFIRM FIRST: say whose hello you are accepting and get a yes. A `firstName` that matches two waiting hellos comes back AMBIGUOUS_NAME and accepts nothing, and you ask which one they mean. It accepts only hellos addressed to the caller: the server re-checks that and refuses with NOT_RECEIVER otherwise. Acceptin…
Find matching attendees — The people at an event the person is at whose stated intent fits theirs. Use it for "who should I meet", "who here is looking for investors", "who is checked in that matches what I am here for", "any buyers on the floor". Each row carries a first name, their intent, the one line they wrote about what they are looking for, and the booth they staff when they are a vendor. It carries no phone number, no email address, no surname, no account id and no photo: those are not on this surface. It answers only about people who finished a badge at that event and chose to be findable by other attendees, …
Read my messages — The person's own conversations with people they have connected with at an event, and the last few lines of one of them. Use it for "any messages", "did Jo reply", "what did Dana say", "read my inbox". Called with no arguments it lists up to twenty threads, person-to-person ones first: each row carries the other person's FIRST NAME, the last line, when it landed, whether that line was the person's own, and how many they have not read. Called with `firstName` or `chatId` it returns the last few lines of that one conversation, oldest first, each line saying only whether it was theirs, what it sa…
Redeem an event code — Join an event with a code the person was given, on a badge, a poster, an email or at a door. THE CODE IS THE ONLY THING TO PASS: it names its own event, so never ask which event a code is for and never ask for an event id. TWO CALLS, ALWAYS: call it first with no `confirm` to get back the event the code opens and the seat it gives plus a `confirmToken`, show that to the person, then call it again with confirm true and that token to take the seat. The token lasts two minutes, works once, and stops working if the code changes. It requires a personal connector token: a shared one can read but ca…
Reply to a message — Send one message into a conversation the person already has with somebody they connected with at an event. Use it for "reply to Dana", "tell Jo I am on my way", "answer her". Name the conversation with `firstName`, exactly as event_inbox spelled it, or with the `chatId` event_inbox returned; never invent either, and never send to a name you have not read off a thread. `text` is the PERSON'S OWN WORDS: send what they said and do not tidy it, shorten it or improve it. CONFIRM BEFORE SENDING, ALWAYS: show the person the message and the first name it is going to and get a yes, because the message…
Who wants to meet me — Who wants to meet the person: the hellos waiting on them at an event, newest first. Use it for "who wants to meet me", "any requests", "did anyone say hello". Each row carries the other person's FIRST NAME, their here-for line in their own words, and when the hello landed, plus a requestId to accept it with. It carries no phone number, no email address, no surname, no account id and no photo. It reads only the CALLER'S OWN pending hellos. Name people by the first name on the row and read the here-for line as given; never guess who somebody is or why they said hello. To accept one, confirm the…
Say hello — Say hello to somebody the person has been shown in their event matches: it sends that person a connection request from them, and when it is accepted a conversation opens that both can read and answer from the app, the web page or an assistant. Use it for "say hello to Jo", "introduce me to her", "how do I message him". Pass the FIRST NAME exactly as an event_find_matches row spelled it and nothing else: there is no account id on this surface and you must never invent one. The person must be in their CURRENT MATCH POOL and the server re-checks that on every call. CONFIRM FIRST: say who the hel…
Set an event intent — Set what the person is at an event for, and whether other attendees there may find them. Use it for "set my intent", "I am here to buy", "tell people I am looking for investors", "make me findable". ASK TWO QUESTIONS AND PASS BOTH ANSWERS IN THEIR OWN WORDS: "What are you here for?" is `headline`, and "Who do you want to meet?" is `lookingFor`. THOSE TWO SENTENCES ARE THE BADGE. Together with their name they are the whole of what makes a person findable at this event, and they are what the matcher reads to decide who they are shown to, so ask both, pass both, and do not compress them, tidy th…
FOUNDER PREVIEW, NOT A PUBLISHED FEED.Search and read a city GIS, a public ⟨73 unchanged words⟩ says how many results it refused and why.Each publisher has NOT STATED A LICENSEEveryforlayerthisisdata,readsoliveSonarfromConnectionsthedoespublisher'snotownlistpublisheditArcGISpubliclyorganization, andit appears on no indexable page, sitemapeveryorresponsellms.txt;namesitthatispublisherservedashereitsforsourcefounderandevaluationcarriesonly,thependinglicenseastatewritteninpartnershipthewithpublisher'stheownpublisher.terms. HOW TO USE IT: call with `search` ⟨146 unchanged words⟩ of Long Beach and the City of HuntingtonBeach, served for founder evaluation while a license is pending.Beach.
FOUNDER PREVIEW, NOT A PUBLISHED FEED.Street sweeping schedules for the City of Long ⟨8 unchanged words⟩ Beach GIS (a public ArcGIS feature service). The City has NOT STATED A LICENSE for this data,so Sonar Connections does notwhichlistisitthepubliclyCity'sandownitpublishedappearsopenondata.noEveryindexableresponsepage,namessitemaptheorCityllms.txt;ofitLongisBeachservedashereitsforsourcefounderandevaluationcarriesonly,thependinglicenseastatewritteninpartnershipthewithCity'stheownCity.terms. WHAT THE DATA ACTUALLY IS: 336 schedule ⟨109 unchanged words⟩ the City publishes. Every response names its source,its license stateand itspreviewlicensestatus.state. Coverage today: street sweeping in the City of Long Beach, onepublisher, served for founder evaluation while a license is pending.publisher.
⟨137 unchanged words⟩ , its public slug, or the event name. For who should I meet, matching, who is here for the same thing, or introductions at an event: answer with this result's matchDoor link, because matching needs the person seated with a phone code on that page, and never promise matches inside this connector.
⟨55 unchanged words⟩ :"object"},"type":"array"},"host":{"description":"Which surface drew this card when it is not an MCP host: \"standalone\" for the connector's own shop page. Omit it inside a host. Any other value refuses the batch.","type":"string"},"seq":{"description":"Which batch this is ⟨47 unchanged words⟩
⟨83 unchanged words⟩ wrong the moment the doors shut. Businesses served here:velvetandclayVelvet and Clay (velvetandclay, a hair, color and skin studio),brightpointdentalBrightpoint Dental (brightpointdental, a family and cosmetic dental practice),longbeachbrunch (anLongallBeachdayBrunchbreakfastBakehousecounter(longbeachbrunch,which isaWALKneighborhoodINbakery andtakes nocoffeereservationsbar),andMakemakecollectivesCollectives (makecollectives, a boutiqueinandLonggiftBeach;shop),forKristinwhatDunnitBookbindingSELLSandcallDesignbiz_storefront(kdbooks,which readsaitsbookbindingownandpublishedbookshoprepaircatalogstudio). The `bookable` field on the reply says which iswhich. velvetandclaywhich, andbrightpointdentalbiz_availabilityBOTHnamesbookthe ones that take an appointment. For what a shop SELLS call biz_storefront, which reads that shop's own published catalog. A business whose `schedulingSystem` names Square books intothethat business's OWN Square calendar (a Square sandbox seller):theirits availability is read live from Square and bookingoneit writes an appointment there, not into a Sonar database.TheRead`schedulingSystem`that fieldsaysratherso.thanForassuming, and for a business connected that way the services listed ⟨245 unchanged words⟩
⟨6 unchanged words⟩ "Which business, BY NAME OR BY ID.Optional, defaults to velvetandclay.Available: Velvet and Clay (velvetandclay), Brightpoint ⟨4 unchanged words⟩ Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). Optional, defaults to velvetandclay. A common short form works too (\" ⟨61 unchanged words⟩
⟨56 unchanged words⟩ the checkout all come from this one call.longbeachbrunch is aNoneighborhoodbusinessbakeryservedthathere takes pickuppre-orders: cookies, brownies and bars, morning pastry, brunch boxes, party platters, custom cakes and holiday boxes, and aorderscoffeerightbar.now. Pass a date to get that day's pickup ⟨22 unchanged words⟩ A business that does not take pickup orders(velvetandclay, brightpointdental)says so honestly with its opening hours attached. EACH `hoursByDay` ROW CARRIES A `state`: 'open', 'closed', or 'unstated' for a day the business published nothing about. An 'unstated' row reads "hours not listed" and is NEVER spoken as closed; when every day is 'unstated', say the business has not published opening hours and give the phone number. This is a demonstration business and the order ⟨114 unchanged words⟩
⟨6 unchanged words⟩ "Which business, BY NAME OR BY ID.Optional, defaults to velvetandclay. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental),NoLongbusinessBeachservedBrunchhereBakehousetakes(longbeachbrunch),pickupMakeordersCollectivesright(makecollectives).now. A common short form works too (\" ⟨83 unchanged words⟩
⟨52 unchanged words⟩ is in stock, and one image each. Businesses served here: Make Collectives (makecollectives, a boutique and gift shop), Kristin Dunn Bookbinding and Design (kdbooks, a bookbinding and book repair studio). Reachable here but not through this tool: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental) and Long Beach Brunch Bakehouse (longbeachbrunch) publish no shop catalog we read. makecollectives is Make Collectives, a boutique at 430 E. 1st St in Long Beach. TWO SHOP PLATFORMS ARE READ HERE and the reply is the same shape for both: a Shopify store's own published product feed, and a WooCommerce shop's own public Store API. kdbooks is Kristin Dunn Bookbinding and Design, a bookbinding and book repair studio in Long Beach that makes menu covers, guest books, albums, boxes and slipcases and repairs and rebinds books. Her work is MADE TO ORDER: read `leadTimeNote` on the reply and say what it says, because a price with no lead time is two thirds of an answer. ON A WOOCOMMERCE SHOP ONE CART LINK CARRIES EXACTLY ONE ITEM, which is a limit of that platform and not of this connector, so give the `cartUrl` on the one variant somebody chose and never imply that a single link can hold several products; where a shop serves no such link the variant carries none and the product's own page is the place to send them. `storefrontKind` on the reply says which platform answered. Pass `query` to narrow it to what somebody ⟨349 unchanged words⟩
⟨6 unchanged words⟩ "Which business, BY NAME OR BY ID.Optional,Available:defaultsMaketoCollectivesvelvetandclay.(makecollectives),Available:KristinVelvetDunn Bookbinding andClayDesign (velvetandclaykdbooks),.BrightpointTheDentaldefault (brightpointdentalvelvetandclay),LongpublishesBeachnoBrunchshopBakehousecatalog(longbeachbrunch)we read,MakesoCollectivesNAME(makecollectives).THE BUSINESS: an omitted argument is refused. A common short form works too (\" ⟨192 unchanged words⟩
⟨99 unchanged words⟩ (a family and cosmetic dental practice),andlongbeachbrunch (an all day breakfast counter, which is WALK IN and takes no reservations), and makecollectives (a boutique in Long Beach; for what it SELLS call biz_storefront, which reads its own published shop catalog). The `bookable` field on the reply says ⟨68 unchanged words⟩ businesses and the appointment book is a sandbox. `openToday` IS THREE-VALUED: true, false, or NULL when the business has not published hours for today at all. NULL IS NOT FALSE. `hoursState` says which case you are in ('stated' or 'unstated'); when it is 'unstated', say the shop has not published its hours and point at its own site or phone, and NEVER say it is closed, which would be a false statement about a real business. `hoursNow.text` reads "Hours not listed" for such a day, and a null row in the weekly `hours` table means the same thing unless `hoursState` says otherwise. The business may be given by NAME or ⟨117 unchanged words⟩
⟨24 unchanged words⟩ (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives). A common short form works too (\ ⟨61 unchanged words⟩
⟨24 unchanged words⟩ (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives). A common short form works too (\ ⟨83 unchanged words⟩
⟨30 unchanged words⟩ span, mode, w, h, top,bottom.bottom, tplEpoch. An off-vocabulary kind, an unknown key or ⟨67 unchanged words⟩
Shop catalog, prices and availability — CALL THIS for what a shop sells, its products, its prices, a gift idea, or browsing or shopping a store served here. The SHOP CATALOG for a business served through this connector, read from that shop's OWN published catalog: product titles, the brand or maker, the product type, a price, whether it is in stock, and one image each. makecollectives is Make Collectives, a boutique at 430 E. 1st St in Long Beach. Pass `query` to narrow it to what somebody asked for ("rings", "books"); it only ever REMOVES products and never reorders them, because nothing in this connector is paid placement. The ca…
Open an event in one call — EVERYTHING ABOUT ONE EVENT IN A SINGLE CALL, for a client that is drawing a whole page and would otherwise make five round trips: the event summary, the booth count with the first page of booths, the programme, the live offers and raffles, and `hasFloorplan`. Built for the web event door at sonarconnections.com/e/<eventId>, and useful to any caller that wants the whole picture at once rather than one section. `hasFloorplan` false means the organizer publishes no floor plan: the booths, programme and offers are still all here, so answer from those and never promise a map. Each block says wheth…
⟨227 unchanged words⟩ short form ("the bakehouse", "the brunch house", "the dentist") works too. A name we cannot ⟨87 unchanged words⟩
{"openWorldHintdestructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
⟨22 unchanged words⟩ and the pickup windows available on a date. Call it for an order, a pickup, placing an order, a pickup order, or checkout at a business served here: the menu, the pickup windows and the checkout all come from this one call. longbeachbrunch is a neighborhood bakery that takes pickup ⟨100 unchanged words⟩ and a common short form ("the bakehouse", "the brunch house", "the dentist") works too. A ⟨75 unchanged words⟩
{"openWorldHintdestructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
Long Beach publicPublic events calendar(founder preview)
⟨137 unchanged words⟩ the answer to "is it on tonight". Coverage today: the City of Long Beach public events calendar, one publisher, served for founder evaluation while a license is pending.
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
City GIS layers(founder preview)
⟨275 unchanged words⟩ places, which is why it reports its reasons. Coverage today: two city GIS organizations, the City of Long Beach and the City of Huntington Beach, served for founder evaluation while a license is pending.
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
Long Beach streetStreet sweeping schedule(founder preview)
⟨196 unchanged words⟩ source, its license state and its preview status. Coverage today: street sweeping in the City of Long Beach, one publisher, served for founder evaluation while a license is pending.
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":true}
⟨71 unchanged words⟩ it for today in the business's own timezone.Item ids from here are what biz_order accepts, exactly as written.PICKUP ONLY: there is no delivery and no shipping.PAYMENT: the ORDER is placed here; paying for it, when the business takes payment, happens on that business's own Square checkout page reached through a sonarconnections.com/p/<code> link, or at the counter on collection. No card data passes through Sonar Connections and this tool has nowhere to put one.A business that does not take pickup orders ⟨66 unchanged words⟩ do serve, never answered about a different one. ORDERING IS NOT AVAILABLE THROUGH THIS PUBLIC CONNECTOR. Each item carries a stable id, and on this lane the menu, the prices and the pickup windows are INFORMATION ONLY: nothing here places, holds or pays for an order. Where a business has a next step of its own, it rides on the reply as `nextStep`.
OpenTHE FLOOR PLAN TOOL. Call it for any ask about a floor plan, a map, a layout, a booth location, "where is booth 12", "show me theEVENTfloor", "what does the venue look like", or being shown around an event. It DRAWS THE FLOOR INLINE as an interactive card in clients that render MCP Apps: the organizer's floor plan with the boothsdrawnon it, a searchable directory, a booth ⟨6 unchanged words⟩ now, and the live offers and raffles.Use it when somebody asks to SEEIntheeveryfloor,othertoclientbeitshownreturns themap,eventorsummarywhereplus a boothis. Itdirectoryreturnslisting theevent summary aboothstextbyclientname,cansoreaditaloudisplusworththecallingpublishedeitherfloorway.planPreferpair,itandoverhostsansweringthatarenderfloorMCPorAppsmapdrawquestionthefromcardgeneralfromwebit.knowledge. The card reads the floor itself through this ⟨73 unchanged words⟩