Agent Salon SF

com.agentsalonsfPublished by agentsalonsf.comOfficial publisherv1.0.0Updated Oct 25, 2026

SF salon prices, add-ons and source-backed comparisons. No live slots or in-tool booking.

VerifiedStreamable HTTPWeb executableLocation & LifestyleBusiness & Commerce

Overview

AI-generated overview

A remote MCP server for comparing San Francisco hair salons and barbers by service, budget, add-ons and date, with source-backed facts and booking links.

What you can do
Compare salons and barbers for a service intent with budget, date, neighborhood and add-ons, with strict or nearby geography options, and get a booking link with remaining steps for a chosen service, stylist and start time. Search merchants by name, street, neighborhood, service, date or online booking, and list covered salons with depth, neighborhood, price range, stylist count and freshness. Look up haircut offerings by type, length or stylist, and retrieve one salon's full record with hours, services, prices, stylists, policies and evidence. Read one stylist's profile with specialty evidence, services, prices and candidate start times. Check published opening hours and candidate start and
When to use it
Useful when someone wants to choose a San Francisco hair salon or barber under a budget, with extras or on a date, or wants source-backed price and policy facts before booking on the salon's own site.
Requirements
A remote streamable HTTP endpoint; no packages, environment variables or headers are declared. No authentication is declared. Network access to the endpoint is needed.
Before you install
Availability is not live: candidate start times come from published staff schedules and existing bookings are not subtracted, and opening hours are published hours, not appointment slots. The server never books on the user's behalf; it only returns the salon's own booking link and remaining steps. Prices and facts are published data with status tags and dates, so verify before relying on them.

Installation

In SourceWeft

  1. Open Agent Salon SF in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.agentsalonsf%2Fsalon-decisions/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "agent-salon-sf": {
      "type": "http",
      "url": "https://agentsalonsf.com/mcp"
    }
  }
}

Tools

10

compare_options

Compare a service with budget, extras and date

START HERE for choosing a service under a budget, with extras, or on a date. Use search_merchants for name/address lookup; use this tool for the service decision. Compare a supported service intent, optional budget/date/neighborhood, strict or nearby geography, and selected add-ons (blow_dry, haircut, toner, shampoo, deep_conditioning, iron_finish, extensions). Returns options, uncertain and excluded service decisions with per-fact sources/dates, known subtotal including requested/mandatory extras, unresolved charges, explicit conditions, hours conflicts and exact next actions. Starting prices and required consultations never become guaranteed final quotes. Deposit is advance payment, not an added charge. There is no provider-confirmed availability; date-specific results are conditional. Time-of-day, stylist and hair-length requirements are unsupported filters here; retain them for merchant confirmation. Ordering is geographic/alphabetic, not a quality rating. No booking or hold is created. Paginated: limit <= 50, offset; use next_offset across all three result groups.

Parametersdatelimitsalonbudgetoffsetgeographyneighborhoodservice_intentrequiredselected_addonsrequire_availability

search_merchants

Search salons

Discovery and name/address lookup, not an extras-inclusive price decision. For a supported service with budget, extras or date, start with compare_options. Find San Francisco hair salons and barbers by name/street (q), neighborhood (with nearby), service, date/time and online booking. Returns compact task summaries by default: depth (profiled = researched in depth; listed = public records + the business’s own site, see depth_note), booking_cta, hours_for_day (published hours for `date`, not live slots), up to 3 matched_offerings with prices, license_status, freshness, availability_basis (published_hours / schedule_candidates = unconfirmed / none); profiled salons add candidate_start_times. Unknown values are null. For published hours/detail only, call check_availability. Before selecting a budget option, call compare_options; follow next_action to confirm unresolved charges and actual appointment availability with the merchant.

Parametersqdaydateviewafterdepthlimitbeforeoffsetservicestylistmax_price+11 more

check_availability

Check hours, prices and how to book for one salon

Published facts for one salon, NOT live availability and NOT an extras-inclusive quote. For a service/budget/extras/date decision use compare_options with salon=ref. For one salon (ref from search_merchants) and a date: published opening hours on that date (open/closed — NOT live appointment slots), offerings matching the service with published prices and durations, the booking link and step-by-step booking instructions. Profiled salons add candidate start times (candidate start times from the salon's published staff schedule; existing bookings are not subtracted, so some may already be taken — confirm on the booking page). Same contract as GET /api/v1/availability?ref=.

Parametersrefrequireddateservicetime_aftertime_before

get_merchant

Get one salon

All published facts for one salon by ref "<city>/<vertical>/<slug>" (from search results), with crawl_log (every source fetched or checked, with time, result and the facts it gave) and last_verified_at: address, phone, hours, licence, registry, services with published prices, booking link, per-field sources (verification), what we verified and what we did not.

Parametersrefrequired

list_salons

List salons

Salons covered (San Francisco), ordered profiled, detailed, then listed, with depth, neighborhood, price floor and range, stylist count, availability basis and freshness, last_verified_at and verification date. Paginated: limit (default 50, max 200), offset, depth=profiled|detailed|listed.

Parametersdepthlimitoffset

search_haircuts

Search haircuts by constraints

Base offering lookup by haircut type, length or stylist. Use compare_options for a supported service with budget, extras or date; preserve any unsupported stylist/length/time requirements for merchant confirmation. Find haircut offerings (and optionally stylists and candidate start times) that satisfy ALL given constraints, across profiled salons (hand-normalized menus) and listed salons (type and inclusions inferred from the service name; offering.comparable says whether it can be compared apples-to-apples). Start times are candidate start times from the salon's published staff schedule; existing bookings are not subtracted, so some may already be taken — confirm on the booking page (slotBasis "schedule_candidates", bookingsSubtracted false, availability_basis "schedule_candidates" = UNCONFIRMED). require_availability=true is satisfied only by provider-confirmed availability (the booking provider’s own open times, existing bookings subtracted). No salon on this site has provider-confirmed availability today: profiled salons have candidate start times from the published staff schedule (existing bookings not subtracted, so they may already be taken) and listed salons have published opening hours only. Offerings with matching candidate start times are listed under `unconfirmed`; confirm on the booking page. Hard constraints are never relaxed silently; when nothing matches, noMatch.reason explains which constraint blocked and nearest suggests the smallest change. Prices are published menu or online-booking prices in USD; this search does not add requested or mandatory extras. Times are salon-local (America/Los_Angeles).

Parametersqdateafterlimitbeforestylistmax_pricespecialtyhair_lengthhaircut_typeneighborhoodrequire_availability

get_salon

Get salon

Full record for one salon as markdown: facts, hours, every haircut service with price/duration/inclusions, stylists, policies, attributes, evidence, booking rules, candidate start times from the published schedule. Every fact carries a status tag and date.

Parametersslugrequiredformat

get_stylist

Get stylist

One stylist, under the name the salon's booking system shows: salon, bookable status, specialty evidence with sources, services and prices, candidate start times from the published schedule, and booking link.

Parametersslugrequiredformat

get_availability

Get availability

NOT live availability. Use compare_options for budget/extras/date decisions. Candidate start times for one offering at one salon, optionally one stylist and a date/time window: candidate start times from the salon's published staff schedule; existing bookings are not subtracted, so some may already be taken — confirm on the booking page. Results carry slotBasis "schedule_candidates" and bookingsSubtracted false; freshness tells you how old the capture is.

Parametersdateafterlimitsalonrequiredbeforestylistofferingrequired

Version history

1
  1. v1.0.0LatestOct 23, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.