MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

BeautySpark

BeautySpark MCP server for ChatGPT, Claude and other MCP clients

Checks passed
14 / 22

0 failed · 8 not measured

Median response
993 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
22

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 993 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name beautyspark.

  • Pass
    Lists tools

    tools/list returned 22 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 993 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 993 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    71 of 82 parameters have a description (87%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-11-05T21:05:13.234568Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using BeautySpark

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http beautyspark https://mcp.beautyspark.me/mcp

Capabilities

Tools 22

check_product_for_season

Looks a product (and optional shade) up in BeautySpark's season picks. Returns the seasons it is recommended for, or match: null when BeautySpark has not reviewed it; then do not present any verdict as BeautySpark's. Pass season to also get that season's palette for comparison.

Discovered
confirm_look_generation

Start the try-on prepared by try_look_from_photo. This spends the BeautySpark credits it quoted. The try-on widget calls it when the user presses Confirm. If no widget is showing, ask the user to confirm the cost first and call it only after they agree. Calling it again for the same quote returns the same job without charging again. If it answers conflict, the same quote is still being confirmed: call it again in a few seconds.

Discovered
create_upload_url

Used by the try-on widget to upload a photo the user picked. Returns an upload URL valid for 15 minutes.

Discovered
delete_my_look

Delete a saved look from the user's BeautySpark My Looks. The look is removed.

Discovered
fetch

For research modes (deep research, company knowledge). In chat, use get_guide instead. Returns the full text of one item from search: a guide section ("<locale>/<slug>#<anchor>"), an article look ("look:<id>") or a colour-season palette page ("season:<season>").

Discovered
find_article_looks

Find makeup looks shown in BeautySpark articles, filtered by color season, article type and words. With a season, looks made for that season come first; general looks (no season) follow and are labelled. Returns look ids for get_article_look and the article URL to cite.

Discovered
get_article_look

Get the steps and shades of one makeup look from a BeautySpark article. The id is a look id returned by find_article_looks ("/images/blog/<article-slug>/<look-name>").

Discovered
get_color_season

BeautySpark's palette for one of the 12 color seasons: best, neutral and avoid colors with hex codes, plus the eye makeup and lips & cheeks advice from the season guide. Cite the returned URLs.

Discovered
get_guide

Read one section of a BeautySpark guide in full, by an id from search_guides. Also lists the ids and headings of the other sections of the same article. Cite the returned url.

Discovered
get_look_status

Check a try-on started by confirm_look_generation. Waits up to waitSeconds (at most 25) for it to finish before answering. When completed, the result includes the image URL and, when the look has them, its step-by-step instructions with the colours for each step.

Discovered
get_my_look

Get one saved look in full: steps, products and shades, tags, categories, notes, photos and a link to open it in BeautySpark.

Discovered
get_my_profile

The user's BeautySpark analysis: color season, undertone, eye shape, face shape and app language. Fields are null until the selfie analysis has been run in the app.

Discovered
get_product_picks

BeautySpark's top product pick per category (blush, highlighter, eyeliner, lipstick, lip gloss, bronzer, eyeshadow palette) for a color season, each with the reason and the article it comes from.

Discovered
list_my_generations

The user's finished BeautySpark look generations, newest first: title, date, thumbnail and whether it is already in My Looks. Pass a jobId to save_generation_to_my_looks to save one.

Discovered
list_my_palettes

The palettes the user scanned in BeautySpark, with shade names and hex colors. Use them to advise with products the user owns; pass a paletteId as a product's userPaletteId in save_my_look.

Discovered
save_generation_to_my_looks

Save a finished BeautySpark generation (a jobId from list_my_generations) as a look in My Looks. Saving the same generation again returns the look already saved.

Discovered
save_my_look

Save a new look to the user's BeautySpark My Looks. Photos can't be added from chat: if the user attached or mentions a photo, tell them before saving that only the text is saved and that they can add the photo in BeautySpark from the returned link. Repeating the same save within 10 minutes returns the first look instead of a copy.

Discovered
search

For research modes (deep research, company knowledge). In chat, use search_guides instead. Searches all public BeautySpark content: guide sections (id "<locale>/<slug>#<anchor>"), article looks (id "look:<id>") and colour-season palette pages (id "season:<season>"). Read any result with fetch.

Discovered
search_guides

Search BeautySpark's makeup and colour-season guides for sections that answer a question, e.g. eyeliner for hooded eyes or how to find your undertone. Returns up to 5 sections with a short snippet and a link; read one in full with get_guide. Cite the returned url. When nothing matches, the result has a note saying no BeautySpark guide covers it.

Discovered
search_my_looks

Search the user's saved looks in BeautySpark My Looks by words, tag, category, favourite or person. Returns look ids for get_my_look.

Discovered
try_look_from_photo

Prepare a try-on: BeautySpark recreates a makeup look on the user's selfie. Give one reference: articleLookId (from find_article_looks) or savedLookId (from search_my_looks). Photos (a reference photo or a different selfie) can only be uploaded in the try-on widget, never taken from chat attachments. The saved selfie is used unless the user uploads another in the widget. Returns the credit cost and balance without charging; nothing is generated until confirm_look_generation.

Discovered
update_my_look

Change a saved look. Only the fields you send change; list fields (steps, products, tags, categories, occasions) replace the stored list whole. Look photos are kept. Steps can't be changed while any step has a photoUrl; the user edits those steps in the BeautySpark app. When the look's steps link products or shades, send productRefs and shadeRefs on every step you send ([] for a step with none): a step sent without them is refused unless products is sent too. To unlink every step, send products too.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected993 ms22