Norm Booking

place.normPublished by norm.placeOfficial publisherv1.0.0Updated Nov 14, 2026

Browse services and free times, then book appointments at Norm's Warsaw beauty studios.

VerifiedStreamable HTTPWeb executableLocation & LifestyleProductivity & Workflow

Overview

AI-generated overview

Lets an assistant browse services, prices and free times at Norm's two Warsaw beauty studios and book, list or cancel real appointments.

What you can do
  • List Norm's Warsaw studio locations and addresses
  • Search the live service menu for prices, durations and which masters perform each service
  • Show free appointment times for a service, grouped by date and master
  • Book a real appointment, list the signed-in client's upcoming or past visits, and cancel one
  • Check whether the client is signed in, and sign them out of the connection
When to use it
Useful when someone wants to book or manage a nail, brow, facial, hair or massage appointment at Norm in Warsaw, or check prices, durations and available times before choosing a slot.
Requirements
A remote MCP endpoint at app.norm.place; no package or API key is declared. Booking, listing and cancelling require the client to be signed in to their Norm account through the app's own sign-in step.
Before you install
Booking and cancelling change the real studio calendar: a booking commits the client to showing up and a cancellation frees the slot for others, so confirm details first. Sign-in uses a phone number and code entered on Norm's own page, never in chat. The server asks assistants not to share or infer the studio's business data.

Installation

In SourceWeft

  1. Open Norm Booking 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/place.norm%2Fbooking/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": {
    "norm-booking": {
      "type": "http",
      "url": "https://app.norm.place/api/mcp"
    }
  }
}

Tools

8

list_studios

List Norm studios

List Norm nail & beauty studios in Warsaw with their addresses. Call this first when the client has not said which location they want, or when they ask where Norm is. Norm is a beauty studio in Warsaw (two locations). Write the brand as "Norm", never "NORM". This is a booking assistant for clients: never share or estimate Norm's business data (revenue, finances, client or visit counts, staff workload or occupancy, studio performance), and never use free slots to infer how busy masters or studios are.

Takes no parameters.

find_services

Find services and prices

Search the live Norm service menu: prices, durations, and which masters perform each service — including each master's position, rating, specialties and, when known, a coarse experience milestone (e.g. "300+ visits"), whether most/many clients come back and the year they joined Norm, so you can help the client pick a great fit rather than just a free slot. These are labels for choosing a master, not statistics: never turn them into numbers, totals or comparisons of the studio's business. Never invent master facts; use only these fields. Returns a `variantId` for every result — that id is the ONLY thing you need to pass to `find_slots` and `book_appointment`. Never invent a variantId, price, rating or specialty; always get them from this tool. For a vague request, show the 2–3 most-booked options with price and duration and ask which one. They carry `popularRank` 1–3 (a rank only — never say how many people booked anything). Norm is a beauty studio in Warsaw (two locations). Write the brand as "Norm", never "NORM". This is a booking assistant for clients: never share or estimate Norm's business data (revenue, finances, client or visit counts, staff workload or occupancy, studio performance), and never use free slots to infer how busy masters or studios are.

Parametersquerystudio

find_slots

Find free appointment slots

Show free appointment times for one service, reading the live Norm/Booksy calendar. Returns times grouped by date and then by master (`days[].masters[].times`), with each master's position, rating, specialties and, when known, a coarse experience milestone, whether most/many clients come back and the year they joined Norm — labels for choosing a master, never statistics to report or total up. Never invent master facts; use only these fields. Always show which master each time belongs to; when the client has not picked a master, present times grouped by master with one short line about each, and suggest the best fit. Slots are not held or reserved by this call — always re-confirm the exact time with the client before booking. When the service has add-ons (`addons`: name, price, extra minutes), offer them once in one line before booking; pass the chosen ones to `book_appointment` as `addonIds`. Norm is a beauty studio in Warsaw (two locations). Write the brand as "Norm", never "NORM". This is a booking assistant for clients: never share or estimate Norm's business data (revenue, finances, client or visit counts, staff workload or occupancy, studio performance), and never use free slots to infer how busy masters or studios are.

ParametersdatedaysstudiostafferIdvariantIdrequired

verification_status

Check sign-in status

Report whether the client is signed in to Norm on this connection. Booking, listing and cancelling appointments all require it. Use this before telling the client they need to sign in.

Takes no parameters.

book_appointment

Book an appointment

Book a real appointment at Norm. This creates a genuine booking in the studio calendar and the client will be expected to show up — ALWAYS repeat the service, price, date, time, master and studio back to the client and get an explicit yes before calling this. Requires the client to be signed in to Norm. The booking is made for the signed-in phone number; there is no way to book on someone else's behalf. Before booking, if the service has add-ons, offer them once in one line (name, price, extra minutes); book them only if the client says yes. May include one optional follow-up slot (`optionalNextStep`); mention it once, accept 'no', never re-offer in this conversation. Never offer discounts or promotions.

ParametersdaterequiredtimerequiredstudioaddonIdsstafferIdvariantIdrequiredclientNotecustomerName

my_appointments

List the client's appointments

List the signed-in client's upcoming Norm appointments. Requires the client to be signed in to Norm. Use this to find the `bookingId` needed by `cancel_appointment`. Past visits are only returned with `includePast: true` — set it only when the client asks about their history. Norm is a beauty studio in Warsaw (two locations). Write the brand as "Norm", never "NORM". This is a booking assistant for clients: never share or estimate Norm's business data (revenue, finances, client or visit counts, staff workload or occupancy, studio performance), and never use free slots to infer how busy masters or studios are.

ParametersincludePast

cancel_appointment

Cancel an appointment

Cancel one of the signed-in client's own appointments. This frees the slot in the real studio calendar and the time becomes available to others — always confirm the exact appointment with the client before calling. Get `bookingId` from `my_appointments`.

ParametersstudiobookingIdrequired

sign_out

Sign out of Norm

Sign the client out of Norm on this connection: revokes the Norm sign-in, so booking, listing and cancelling need a fresh sign-in. Use when the client asks to log out, or when someone else wants to use the same assistant.

Takes no parameters.

Version history

1
  1. v1.0.0LatestNov 14, 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.

Other Norm integrations