onepick: one local business, picked and booked through an AI assistant.

A connector for Muse. A person says what they need and where; onepick returns one business with the reasons it was picked, then books it by booking link, by an announced AI phone call, or by handing over the number and a script. United States, six services at launch: haircut and barber, lawn care, house cleaning, HVAC, plumbing, electrical. No payments in v1.

The pick cannot be bought.

  • distance from the requested location
  • state license status, where published
  • independent sources listing the business
  • website and online booking
  • our record: answers and books

Built to the platform's rules.

Standards

  • MCP over Streamable HTTP
  • OAuth 2.1 with PKCE (S256)
  • RFC 8414 and 9728 metadata
  • CIMD with DCR fallback
  • REST mirror with OpenAPI 3.1.0
  • annotations on all four tools

Consent

  • two-step book, 30-minute single-use token
  • first name, callback number, what you need, when you are free
  • AI call announces itself in its first sentence
  • 9am to 6pm local, landline and internet numbers only, five states excluded
  • one form stops calls at once, permanently

Data

  • delete_my_data removes account, picks and booking history; demo account stays
  • no payments, no card details
  • nothing read from the assistant
  • open data only, no Google Places or Yelp
  • marketing and docs read without JavaScript

Ten steps on the demo.

  1. Step 1.

    Add the connector at the MCP endpoint; 401 with resource metadata

  2. Step 2.

    Sign in with the demo account (password)

  3. Step 3.

    Approve consent; four tools listed

  4. Step 4.

    find_pick: "a haircut near 07030 on Friday between 5 and 7pm" → Onepick Test Barbershop, criterion, disclosure

  5. Step 5.

    book without a token → needs_confirmation, four details, 30-minute token

  1. Step 6.

    book with the token → calling (simulated)

  2. Step 7.

    booking_status → confirmed, attempts 1

  3. Step 8.

    Repeat the token → same booking, no second call

  4. Step 9.

    delete_my_data with confirm set to true → counts deleted

  5. Step 10.

    Optional: the same tools over REST; OpenAPI at /openapi.json