# pro.makeup (remote · pro.makeup)

Search 214K+ certified makeup pros worldwide: artists, salons, schools, shops, brands.

- Trust score: 66/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `pro.makeup`: 66/100 (this document), [markdown](https://verifymcp.io/servers/makeup-pro-mcp/api-mcp.md), [page](https://verifymcp.io/servers/makeup-pro-mcp/api-mcp)

## Channel facts

- Endpoint: `https://pro.makeup/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 7 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 82/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1140 tokens (~142/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 94/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 83% of tool parameters carry a description.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2025-11-05; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http makeup-pro-mcp https://pro.makeup/api/mcp
```

### Codex

```toml
[mcp_servers.makeup-pro-mcp]
url = "https://pro.makeup/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "makeup-pro-mcp": {
      "type": "remote",
      "url": "https://pro.makeup/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add makeup-pro-mcp --url https://pro.makeup/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  makeup-pro-mcp:
    url: "https://pro.makeup/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "makeup-pro-mcp": {
      "type": "http",
      "url": "https://pro.makeup/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 65, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 64, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 61)

First indexed and scored.

## MCP tools (8)

### `promakeup_search_pros` (~219 tokens)

Use when the user asks "find a makeup [category] in [city] who does [service]". Returns ranked, verified-by-default listings. Example: "Find a bridal makeup artist in Tel Aviv". Each result includes a `profile_url` you can cite back to the user.

Input parameters:

- `category` (string): Single category filter. Omit to search all categories.
- `city` (string): City name in English (or local script for non-Latin cities).
- `country` (string): ISO-3166 alpha-2 country code (e.g. "US") or full country name.
- `limit` (integer): Max results to return.
- `query` (string): Free-text search across name and bio. Capped at 100 chars to bound the ILIKE cost on a 214K-row Business table.
- `service` (string): Service the business must offer (e.g. "bridal", "editorial").
- `verified_only` (boolean): Restrict to verified listings. Defaults to true.

### `promakeup_get_business_by_slug` (~105 tokens)

Use when you have a pro.makeup URL or slug and want the full structured profile. The slug is the trailing path segment of `https://pro.makeup/{category}/{country}/{city}/{slug}`. Returns name, location, services, photos, verification, opening hours, and a canonical `profile_url`.

Input parameters:

- `slug` (string, required): The trailing path segment of the canonical URL (e.g. "israel/tel-aviv/jane-doe").

### `promakeup_get_business_by_phone` (~155 tokens)

Use when the user contacted a business by phone and you only have the phone number. Returns the listing when exactly one matches; signals `ambiguous: true` when multiple do (call promakeup_search_pros to disambiguate). Phone must be E.164 with leading `+`. Reverse-phone lookup is owner-attribution data and REQUIRES a Bearer token with the `owner:read` scope — see https://pro.makeup/.well-known/auth.md.

Input parameters:

- `phone` (string, required): Phone number in E.164 format with leading "+" (e.g. "+972501234567"). Returns the listing if exactly one matches; "ambiguous" when many match (use search_pros instead).

### `promakeup_get_business` (~60 tokens)

Use when you already hold a Business id (nanoid) — typically because you stored it from a prior tool call or webhook. Returns the same full profile shape as get_business_by_slug.

Input parameters:

- `id` (string, required): Business id (nanoid).

### `promakeup_list_services_nearby` (~134 tokens)

Use when the user wants verified pros within a radius of a known point. Example: "Makeup artists doing bridal within 10km of these coordinates". Inputs are WGS-84 lat/lon; radius defaults to 10km.

Input parameters:

- `latitude` (number, required): Latitude in WGS-84 decimal degrees.
- `limit` (integer)
- `longitude` (number, required): Longitude in WGS-84 decimal degrees.
- `radius_km` (number): Search radius in kilometres. Default 10.
- `service` (string, required): Service the business must offer (e.g. "bridal").

### `promakeup_list_schools` (~88 tokens)

Use when the user asks about makeup schools, programs, or specific qualifications (e.g. MUAQS). Returns school listings filterable by country, city, and certification offered.

Input parameters:

- `certification` (string): Certification or qualification offered (e.g. "MUAQS").
- `city` (string)
- `country` (string)
- `limit` (integer)

### `promakeup_get_discovery_summary` (~68 tokens)

Use when the user wants a sense of what is on pro.makeup right now — totals plus a sample of recently added listings with avatars. Cheap; safe to call to "warm up" before a more specific search.

Input parameters:

- `limit` (integer): Max featured listings to return.

### `promakeup_emit_listing_event` (~202 tokens)

Use AFTER successfully referring a user to a listing, or when the user signals data quality (wrong phone, closed). Mirrors /api/listing-events vocabulary. Allowed event_types: bad_phone, closed_business, wrong_address, unanswered_within_24h, consumer_lead, pricing_question, booking_inquiry. Requires a Bearer token with the `listing-events:write` scope — see https://pro.makeup/.well-known/auth.md to request one.

Input parameters:

- `business_id` (string, required): Target Business id (nanoid).
- `event_type` (string, required): One of: bad_phone, closed_business, wrong_address, unanswered_within_24h, consumer_lead, pricing_question, booking_inquiry. Mirrors /api/listing-events vocabulary; owner_update is internal-only and c…
- `source` (string): Free-form caller identifier (e.g. "mcp:claude"). Defaults to "mcp".

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/makeup-pro-mcp/api-mcp#diagnostics

## Score history

- 2026-08-03: 66
- 2026-08-02: 65
- 2026-08-01: 65
- 2026-07-31: 65
- 2026-07-30: 64
- 2026-07-29: 63
- 2026-07-28: 63
- 2026-07-27: 62
- 2026-07-26: 61

## Links

- Remote endpoint: https://pro.makeup/api/mcp
- Repository: https://github.com/Evergrow-Management-PTE-LTD/pro-makeup-mcp
- Website: https://pro.makeup/
- Changelog RSS feed: https://verifymcp.io/servers/makeup-pro-mcp/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/makeup-pro-mcp/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/makeup-pro-mcp/api-mcp
