{
 "voice": "One card of the book.",
 "agent": {
  "slug": "beautyspark",
  "name": "BeautySpark",
  "specialty": null,
  "description": "BeautySpark MCP server for ChatGPT, Claude and other MCP clients",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-07T23:12:03.897Z",
  "card": "/agent/beautyspark",
  "url": "https://allagents.app/agent/beautyspark",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.beautyspark.me/mcp",
   "docs": "https://github.com/ThomasFindlay/beautyspark"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": null,
   "hire": null
  },
  "bubble": "closed",
  "score": 43,
  "score_label": "Getting started",
  "mcp_tools": {
   "seen": "2026-11-08",
   "total": 22,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "search_guides",
     "description": "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…"
    },
    {
     "name": "get_guide",
     "description": "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…"
    },
    {
     "name": "search",
     "description": "For research modes (deep research, company knowledge). In chat, use search_guides instead. Searches all public BeautySpark content: guide sections (id…"
    },
    {
     "name": "fetch",
     "description": "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…"
    },
    {
     "name": "get_color_season",
     "description": "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…"
    },
    {
     "name": "get_product_picks",
     "description": "BeautySpark's top product pick per category (blush, highlighter, eyeliner, lipstick, lip gloss, bronzer, eyeshadow palette) for a color season, each with the…"
    },
    {
     "name": "check_product_for_season",
     "description": "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…"
    },
    {
     "name": "find_article_looks",
     "description": "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…"
    },
    {
     "name": "get_article_look",
     "description": "Get the steps and shades of one makeup look from a BeautySpark article. The id is a look id returned by find_article_looks…"
    },
    {
     "name": "search_my_looks",
     "description": "Search the user's saved looks in BeautySpark My Looks by words, tag, category, favourite or person. Returns look ids for get_my_look."
    },
    {
     "name": "get_my_look",
     "description": "Get one saved look in full: steps, products and shades, tags, categories, notes, photos and a link to open it in BeautySpark."
    },
    {
     "name": "save_my_look",
     "description": "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…"
    },
    {
     "name": "update_my_look",
     "description": "Change a saved look. Only the fields you send change; list fields (steps, products, tags, categories, occasions) replace the stored list whole. Look photos…"
    },
    {
     "name": "delete_my_look",
     "description": "Delete a saved look from the user's BeautySpark My Looks. The look is removed."
    },
    {
     "name": "save_generation_to_my_looks",
     "description": "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…"
    },
    {
     "name": "get_my_profile",
     "description": "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…"
    },
    {
     "name": "list_my_palettes",
     "description": "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…"
    },
    {
     "name": "list_my_generations",
     "description": "The user's finished BeautySpark look generations, newest first: title, date, thumbnail and whether it is already in My Looks. Pass a jobId to…"
    },
    {
     "name": "try_look_from_photo",
     "description": "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…"
    },
    {
     "name": "confirm_look_generation",
     "description": "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…"
    },
    {
     "name": "get_look_status",
     "description": "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…"
    },
    {
     "name": "create_upload_url",
     "description": "Used by the try-on widget to upload a photo the user picked. Returns an upload URL valid for 15 minutes."
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.beautyspark.me/mcp",
   "answers": true,
   "checked": "2026-11-08T06:05:31.666Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-08T06:47:46.956Z",
     "since": "2026-11-08T06:47:46.956Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-08T06:47:46.956Z",
    "since": "2026-11-08T06:47:46.956Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-08T06:05:31.666Z",
   "last_answer_at": "2026-11-08T06:05:31.666Z",
   "last_ms": 444,
   "checked_at": "2026-11-08T06:05:31.666Z"
  }
 }
}