genesis-directory
Registry code: 61632bbc36d1e906
Genesis Social — directory of places, events, and listings. Use the tools to search places, browse categories, find events, read menus, and TRANSACT.
Transactional tools never complete a purchase on their own. create_booking, reserve_event_tickets and create_checkout return a URL a human must open and pay on — until they do, nothing is booked, held or bought. request_reservation and rsvp_event send a confirmation email to the address you supply and do nothing until that person clicks it, so use a real address belonging to the person you are acting for. Always tell the user what step is still…
- endpoint
- https://www.genesis.social/mcp
- door code
- bf74a0eaf694aa08
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is genesis-directory live?
- Partly — its last checks failed now and then (checked 1h ago). It answered 0% of checks over the last 30 days.
- Is genesis-directory free to use?
- Not measured yet.
- What tools does genesis-directory have?
- 27 tools: create_booking, list_products, create_checkout, get_reviews, get_loyalty_info, submit_form, list_categories, search_places, ….
- Is genesis-directory safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 0%· all time 0%
last good check
of 27 tools
- unknown → degraded· HTTP 503: vercel DEPLOYMENT_PAUSED
- unknown → degraded· HTTP 503: vercel DEPLOYMENT_PAUSED
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
create_booking unknown never probed
Book an appointment slot at a venue (Wix Bookings). NOTHING IS BOOKED UNTIL THE CUSTOMER PAYS: this returns a checkout URL, and the booking stays off the venue's calendar until a human opens that URL and completes payment on the venue's own site. Tell the user they must open the link. Call get_availability immediately before this — the slot is re-validated server-side and a taken slot is rejected. The contact email is NOT verified at this step; the checkout is what confirms it.
{ "type": "object", "required": [ "place_slug", "serviceId", "startDate", "endDate", "contact" ], "properties": { "contact": { "type": "object", "required": [ "name", "email", "phone" ], "properties": { "name": { "type": "string", "description": "Full name." }, "email": { "type": "string", "description": "Email address." }, "phone": { "type": "string", "description": "Phone number, at least 10 digits. Any formatting is accepted." } }, "description": "Who the booking is for. All three are required by the venue to confirm or reschedule." }, "endDate": { "type": "string", "description": "Slot end as an ISO instant, exactly as returned by get_availability." }, "serviceId": { "type": "string", "description": "Service ID from list_booking_services (called with the same place_slug)." }, "startDate": { "type": "string", "description": "Slot start as an ISO instant, exactly as returned by get_availability." }, "place_slug": { "type": "string", "description": "Venue place slug from search_places." }, "resourceId": { "type": "string", "description": "Optional staff/resource ID from the slot, when the user picked a specific professional." } } }arguments 55 lineslist_products unknown never probed
List products in this site's store (Wix Stores). Returns name, price, stock status, and product type.
{ "type": "object", "required": [], "properties": { "q": { "type": "string", "description": "Optional search term matched against product name." }, "limit": { "type": "number", "description": "Max products to return (default 20, max 100)." } } }arguments 14 linescreate_checkout unknown never probed
Create a direct checkout URL for one or more store products (Wix Stores). The user clicks the URL to complete payment on the site — no login required on the AI agent side.
{ "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "type": "object", "required": [ "productId" ], "properties": { "quantity": { "type": "number", "description": "Quantity (default 1)." }, "productId": { "type": "string", "description": "Product ID from list_products." } } }, "description": "Products to add to cart." } } }arguments 28 linesget_reviews unknown never probed
Get published reviews for this site (Wix Reviews). Returns reviewer name, rating, title, and content.
{ "type": "object", "required": [], "properties": { "limit": { "type": "number", "description": "Max reviews to return (default 10, max 50)." } } }arguments 10 linesget_loyalty_info unknown never probed
Get the loyalty/rewards program details for this site (Wix Loyalty). Returns program name, points currency name, and tier structure with required points per tier.
{ "type": "object", "required": [], "properties": {} }arguments 5 linessubmit_form unknown never probed
Submit a form on behalf of the user (Wix Forms). Call list_forms first to get the formId and field keys. Returns a submissionId on success.
{ "type": "object", "required": [ "formId", "fields" ], "properties": { "fields": { "type": "object", "examples": [ { "field_1": "João", "field_2": "[email protected]" } ], "description": "Key-value pairs matching the field keys from list_forms.", "additionalProperties": { "type": "string" } }, "formId": { "type": "string", "description": "Form ID from list_forms." } } }arguments 26 lineslist_categories unknown never probed
Returns the full category taxonomy of this directory site: top-level groups with their subcategories, localized labels, schema.org types, and live place counts.
{ "type": "object", "required": [], "properties": {} }arguments 5 linessearch_places unknown never probed
Search for places (restaurants, cafes, shops, etc.) in this neighborhood. The `q` match is accent-insensitive and typo-tolerant ("acai" finds "Açaí", "restaurnt" finds "Restaurante"), ranked by relevance. Compose filters for multi-condition queries: `category`, `neighborhood`, `open_now` (true = open at this exact moment), and `attributes` (amenity slugs, ALL must match). Each result includes a precomputed `open_now` boolean, an `attributes` array (amenity slugs), a `delivery` array of curated delivery-app deep-links (ifood, rappi, 99food, uber-eats — each `{ platform, url }`), rating, and structured `hours` (Google Maps periods: day 0=Sun–6=Sat, time "HHMM"). Amenity slugs are listed on the `attributes` parameter.
{ "type": "object", "required": [], "properties": { "q": { "type": "string", "description": "Free-text term matched against place name and address — accent-insensitive and typo-tolerant." }, "limit": { "type": "number", "description": "Max results to return (default 20, max 100)." }, "category": { "type": "string", "examples": [ "Café", "Restaurante" ], "description": "Filter by category label. Case-insensitive substring match." }, "open_now": { "type": "boolean", "description": "When true, return only places open at the current local time (computed server-side from their opening hours)." }, "attributes": { "type": "array", "items": { "type": "string" }, "examples": [ [ "wifi", "outdoor-seating" ] ], "description": "Amenity slugs a place must ALL have. Common slugs: wifi, outdoor-seating, wheelchair, dog-friendly, delivery, takeaway, reservations, live-music, vegan, gluten-free." }, "neighborhood": { "type": "string", "description": "Filter by neighborhood name. Case-insensitive substring match." } } }arguments 43 linesrequest_reservation unknown never probed
Request a table at a restaurant. THE RESTAURANT IS NOT NOTIFIED YET: the request is held and a confirmation email is sent to the address you provide, and only when that person clicks the link does the restaurant receive it. Tell the user to check their inbox — the link expires in 24 hours. Use a real address belonging to the person you are acting for; the confirmation link is deliberately not returned to you. This is a request, not a confirmed booking: the restaurant confirms out of band.
{ "type": "object", "required": [ "place_slug", "name", "email", "partySize", "requestedAt" ], "properties": { "name": { "type": "string", "description": "Name the table is under." }, "email": { "type": "string", "description": "The guest's own email — the confirmation link is sent here." }, "phone": { "type": "string", "description": "Optional phone number for the restaurant to reach the guest." }, "message": { "type": "string", "description": "Optional note (occasion, dietary needs, seating preference)." }, "partySize": { "type": "number", "description": "Number of people (1–30)." }, "place_slug": { "type": "string", "description": "Restaurant place slug from search_places." }, "requestedAt": { "type": "string", "description": "Desired date and time as an ISO instant. Must be in the future." } } }arguments 40 linesrsvp_event unknown never probed
RSVP to a free event on this site (Wix Events). NOBODY IS ON THE GUEST LIST YET: a confirmation email goes to the address you provide, and the RSVP is only submitted when that person clicks the link (expires in 24 hours). Tell the user to check their inbox. Use a real address belonging to the person you are acting for — the confirmation link is deliberately not returned to you.
{ "type": "object", "required": [ "event_slug", "firstName", "lastName", "email" ], "properties": { "email": { "type": "string", "description": "The guest's own email — the confirmation link is sent here." }, "lastName": { "type": "string", "description": "Guest last name." }, "firstName": { "type": "string", "description": "Guest first name." }, "event_slug": { "type": "string", "description": "Event slug from list_events." } } }arguments 27 linesget_event_tickets unknown never probed
Get ticket types and prices for an event sold through this site (its `purchase.mode` is "reserve"). Pass the event slug from list_events. Returns ticket names, prices, sale status, how many are left, and pricing options. get_event returns the same list alongside the event details.
{ "type": "object", "required": [ "event_slug" ], "properties": { "event_slug": { "type": "string", "description": "Event slug from list_events." } } }arguments 12 lineslist_profiles unknown never probed
List solo service-provider profiles on this site — businesses without a fixed physical location (e.g. dog walkers, tutors, personal trainers). Returns name, profile URL, category, and any available metadata (age, height, etc.).
{ "type": "object", "required": [], "properties": { "limit": { "type": "number", "description": "Max profiles to return (default 50)." } } }arguments 10 lineslist_events unknown never probed
Find upcoming events — the tool for planning an outing. Compose filters freely: a date range (`from`/`to`), free text (`q`, accent-insensitive: "musica" finds "Música"), `category`, a price ceiling (`price_max`), and a point plus radius (`near_lat`/`near_lng`/`radius_km` — e.g. the coordinates of a place from get_place, or of the user). All filters are applied to the WHOLE calendar before paging, never to a first slice. Results are chronological by next occurrence; page with `offset` while `hasMore` is true. Each event carries numeric `price` ({min, max, currency, isFree, known} — `known: false` means the source publishes no price, not that it is free), `lat`/`lng`, and `purchase` ({mode, tool, url, platform}) telling you HOW to attend: `reserve` → reserve_event_tickets; `rsvp` → rsvp_event; `external` → only a human can buy, at `url`; `free` → just go. Events within the next 7 days include a weatherForecast. On a city-wide agenda, the first page lists `availableCategories`. Use get_event for the full description, line-up and ticket types of one event. Omit `from`/`to` to see every upcoming event — don't guess date windows to find one event. When filters match nothing, the response carries a `hint` with the closest events outside them.
{ "type": "object", "required": [], "properties": { "q": { "type": "string", "examples": [ "jazz", "teatro infantil" ], "description": "Free text — every word must appear in the title, venue or description. Accent-insensitive." }, "to": { "type": "string", "description": "Last day, inclusive, YYYY-MM-DD. Defaults to `from` (a single day). Max range 62 days. Multi-day runs that overlap the range are included." }, "from": { "type": "string", "examples": [ "2026-11-14" ], "description": "First day, YYYY-MM-DD, in the site's local time zone (returned as `timeZone`). Defaults to today; past days are clamped to today." }, "sort": { "enum": [ "date", "distance" ], "type": "string", "description": "\"date\" (default) = chronological by next occurrence; \"distance\" = nearest first (needs near_lat/near_lng)." }, "limit": { "type": "number", "description": "Max events per page (default 20, max 50)." }, "filter": { "enum": [ "agora", "hoje", "amanha", "fim-de-semana", "gratis" ], "type": "string", "description": "Shortcut presets: \"agora\" = on stage at this exact moment (season runs and day-granular sources are excluded, because their stored window says nothing about whether a session is on right now); \"hoje\"/\"amanha\"/\"fim-de-semana\" = running on those days, including multi-day runs; \"gratis\" = free to attend, including externally-ticketed events priced at 0. Date presets cannot be combined with from/to; \"gratis\" can." }, "offset": { "type": "number", "description": "Skip this many matches — pass the previous response's `nextOffset`. Max 500." }, "category": { "type": "string", "examples": [ "Música", "teatro" ], "description": "Event category, by label or slug (case- and accent-insensitive). On a city-wide agenda an unknown category returns the valid list." }, "near_lat": { "type": "number", "description": "Latitude of the point to search around. Requires near_lng. Events without coordinates and online events are excluded." }, "near_lng": { "type": "number", "description": "Longitude of the point to search around. Requires near_lat." }, "price_max": { "type": "number", "description": "Max price of the cheapest ticket, in the event's currency. Free events always pass; events with no published price are excluded unless include_unknown_price is true." }, "radius_km": { "type": "number", "description": "Radius around near_lat/near_lng in km (default 3, max 50). Each result then carries `distanceKm`." }, "upcoming_only": { "type": "boolean", "description": "Only return upcoming or in-progress events (default true)." }, "include_unknown_price": { "type": "boolean", "description": "With price_max: also return events whose price is not published (check them at `purchase.url`). Default false." } } }arguments 84 linesget_availability unknown never probed
Get available time slots for a bookable service on a given date (Wix Bookings). Pass the serviceId from list_booking_services and a date in YYYY-MM-DD. Pass the same `place_slug` you used there — slot times are returned in the VENUE's timezone, which is not necessarily the directory's.
{ "type": "object", "required": [ "serviceId", "date" ], "properties": { "date": { "type": "string", "examples": [ "2026-06-25" ], "description": "Date in YYYY-MM-DD format." }, "serviceId": { "type": "string", "description": "Service ID from list_booking_services." }, "place_slug": { "type": "string", "description": "Venue place slug — use the same one passed to list_booking_services." } } }arguments 24 linesget_place unknown never probed
Get full details for a specific place by its URL slug, including opening hours, a precomputed `open_now` boolean, amenity `attributes` (slugs), the same `delivery` deep-link array search_places returns, ratings, address, and neighborhood.
{ "type": "object", "required": [ "slug" ], "properties": { "slug": { "type": "string", "examples": [ "cafe-example" ], "description": "URL slug of the place." } } }arguments 15 lineslist_guides unknown never probed
List curated editorial guides ("best of" lists) published by this site — ranked places with editorial notes. The best source for "best X in this neighborhood" questions.
{ "type": "object", "required": [], "properties": { "limit": { "type": "number", "description": "Max guides to return (default 20, max 50)." } } }arguments 10 linesget_event unknown never probed
Full details of one event by slug (from list_events): plain-text description, performers, organizers, venue with coordinates and place link, numeric `price`, `purchase` (how to attend — see list_events), weather forecast, and — for events sold through this site — the ticket types and pricing options that reserve_event_tickets takes.
{ "type": "object", "required": [ "slug" ], "properties": { "slug": { "type": "string", "description": "Event slug from list_events." } } }arguments 12 linesreserve_event_tickets unknown never probed
Hold tickets for an event sold through this site (Wix Events) and return a checkout URL. THE HOLD IS TEMPORARY AND NOTHING IS PAID: the tickets are not the user's until a human opens the URL and completes checkout, and the hold expires on its own if they don't. Max 10 tickets and 10 ticket types per reservation. Only works for events this site sells directly — for events sold elsewhere (Sympla, Ingresse, Sesc), use the event's own ticketUrl instead.
{ "type": "object", "required": [ "event_slug", "tickets" ], "properties": { "tickets": { "type": "array", "items": { "type": "object", "required": [ "ticketDefinitionId", "quantity" ], "properties": { "quantity": { "type": "number", "description": "How many of this type (at least 1)." }, "pricingOptionId": { "type": "string", "description": "Required when the ticket type lists pricingOptions in get_event_tickets: the id of the option the customer chose." }, "ticketDefinitionId": { "type": "string", "description": "Ticket type ID from get_event_tickets." } } }, "description": "Ticket types and quantities to hold." }, "event_slug": { "type": "string", "description": "Event slug from list_events." } } }arguments 38 linesget_restaurant_menus unknown never probed
Get the food menu for a specific restaurant on this site. Returns menus with their sections, dishes, descriptions, prices, and dietary labels (vegan, gluten-free, etc). Use search_places or list_categories first to find the restaurant's place_slug.
{ "type": "object", "required": [ "place_slug" ], "properties": { "place_slug": { "type": "string", "examples": [ "bar-do-ze" ], "description": "The slug of the restaurant, from search_places or a place URL." } } }arguments 15 lineslist_blog_posts unknown never probed
List recent published blog posts for this site (Wix Blog). Returns title, excerpt, author, published date, reading time, categories, and the post URL.
{ "type": "object", "required": [], "properties": { "limit": { "type": "number", "description": "Max posts to return (default 10, max 50)." }, "category": { "type": "string", "description": "Filter by category label. Case-insensitive substring match." } } }arguments 14 lineslist_offers unknown never probed
List active promotions and deals available in this neighborhood directory. Returns discount label, promo code (if any), CTA link, validity window, and which business/place it belongs to. FLASH offers have a countdown deadline.
{ "type": "object", "required": [], "properties": { "kind": { "enum": [ "STANDARD", "FLASH" ], "type": "string", "description": "Filter by offer kind. FLASH = time-limited flash sale with countdown. Omit to return all active offers." }, "limit": { "type": "number", "description": "Max offers to return (default 20, max 60)." } } }arguments 18 lineslist_booking_services unknown never probed
List a venue's services — what it offers, with price and duration. Pass `place_slug` (from search_places) to list the services of a specific VENUE — a salon, clinic or studio listed in this directory; that is what you want in almost every case, and it is the only form whose serviceId works with create_booking. Omitting `place_slug` lists the directory site's own services instead, which most sites do not have. Returns name, description, price, duration in minutes, and `bookableViaMcp`. Services are listed for EVERY venue, including those with no online booking system — check `bookableViaMcp`: when it is false, `id` is null and you cannot book through create_booking, so point the user at `bookingUrl` or the venue's page instead.
{ "type": "object", "required": [], "properties": { "place_slug": { "type": "string", "description": "Venue place slug from search_places. Strongly recommended — without it you get the directory's own services, not a venue's." } } }arguments 10 linessearch_dishes unknown never probed
Find which restaurants serve a dish in this neighborhood. Searches every menu item across all restaurants on the site, grouped by dish — e.g. query "feijoada" returns each restaurant serving it with price, description, dietary labels, and the place URL. Omit the query to list the most-served dishes. Use this for any "where can I eat X" question.
{ "type": "object", "required": [], "properties": { "limit": { "type": "number", "description": "Max dishes to return (default 20, max 50)." }, "query": { "type": "string", "examples": [ "feijoada", "pizza margherita" ], "description": "Dish name or part of it. Omit to list top dishes." } } }arguments 18 lineslist_pricing_plans unknown never probed
List membership or subscription plans (Wix Pricing Plans). Pass `place_slug` (from search_places) to list the plans of a specific VENUE — a gym, studio or clinic listed in this directory (e.g. its monthly/annual membership); that is what you want in almost every case. Omitting `place_slug` lists the directory site's own plans instead, which most sites do not have. Returns plan name, description, price, billing cycle, perks, and a direct checkout URL.
{ "type": "object", "required": [], "properties": { "place_slug": { "type": "string", "description": "Venue place slug from search_places. Strongly recommended — without it you get the directory's own plans, not a venue's." } } }arguments 10 linesget_site_info unknown never probed
Returns basic information about this neighborhood directory: name, locale, domain, description, canonical URLs for key sections, plus the current LOCAL TIME and CURRENT WEATHER at the neighborhood (temperature, condition). Use this for any "what time is it there" or "what's the weather like" context.
{ "type": "object", "required": [], "properties": {} }arguments 5 lineslist_faqs unknown never probed
Get all FAQ questions and answers for this site (Wix FAQ). Grouped by category. Use this to answer common questions about the site — opening hours, parking, policies, etc.
{ "type": "object", "required": [], "properties": {} }arguments 5 lineslist_forms unknown never probed
List available contact/signup forms on this site (Wix Forms). Returns form name, ID, and field definitions (label, type, required). Use before submit_form to discover which fields to fill.
{ "type": "object", "required": [], "properties": {} }arguments 5 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id61632bbc36d1e906.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/61632bbc36d1e906/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/61632bbc36d1e906?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.