trackmcp
Back to directory
edwinux

makeup-land-mcp

View on GitHub

Public metadata + integrator guide for the makeup.land MCP server (catalog ΔE shade matching, customer wallet, cart, orders). Server hosted at https://makeup.land/api/mcp

0 starsOthers Updated May 25, 2026
ai-agentsanthropicapiclaudecosmeticsdelta-eecommercehebrewisraelllmmcpmcp-servermodel-context-protocolopenapishade-matching

Documentation

makeup.land MCP server

> Public metadata + integrator guide for the makeup.land Model Context Protocol server.

makeup.land is an Israeli professional cosmetics retailer. Our MCP server lets AI agents (Claude Desktop, Cursor, ChatGPT browsing, LangGraph apps, custom integrations) browse our catalog, look up customers, fetch carts, and check gift cards — all through the Model Context Protocol's standard JSON-RPC interface.

The MCP server is hosted at `https://makeup.land/api/mcp` as a Streamable-HTTP endpoint (protocol version 2025-06-18, stateless). The catalog tools work anonymously; the customer-data tools require a bearer token issued via `shop@makeup.land`.

This repo is the public face of the integration — the server runs from our private storefront codebase, but everything an integrator needs (tool inventory, auth model, connection snippets, error envelopes) lives here.

What you can do with it

ToolWhat it returnsAuth
`list_products`Catalog browse: cross-lingual semantic search (`q`), ΔE-ranked shade matching (`near_hex`, returns `shade_match: {hex, delta_e}` per product), brand / exact-Hebrew tag filters, sort by price / popularity / Bayesian-shrunk ratingAnonymous
`validate_gift_card`Gift card balancePublic (gated on the gift-card code)
`list_brands`Every brand we carry — Yossi Bitton's B Cosmic, da Vinci (Defet) brushes, INGLOT, NYX, and dozens moreBearer
`get_customer`Customer profile, ℳ-credit wallet, M Club tierBearer
`get_cart`Customer's most-recent cart with per-line + total reward projectionBearer + phone
`list_orders`Customer's recent orders with 6-axis statusBearer + phone
`list_payment_links`Pending payment requests on unpaid ordersBearer + phone
`get_customer_best_deals`Personalised deal projections based on tags + M Club tierBearer + phone

Quickstart

From the terminal

bash
# Anonymous catalog browse — find lipsticks similar to a target shade
curl -X POST https://makeup.land/api/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "list_products",
      "arguments": { "near_hex": "#C2185B", "q": "lipstick", "limit": 5 }
    }
  }'

# List all Yossi Bitton (B Cosmic) products — bearer required
curl -X POST https://makeup.land/api/mcp \
  -H 'Authorization: Bearer ml_' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "list_products",
      "arguments": { "brand": "yossi-bitton", "limit": 20 }
    }
  }'

From Claude Desktop

Use the `mcp-remote` bridge (Claude Desktop reads MCP via stdio; this bridges to our HTTP endpoint):

json
{
  "mcpServers": {
    "makeup.land": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://makeup.land/api/mcp",
        "--header", "Authorization:Bearer ml_"
      ]
    }
  }
}

Anonymous catalog-only access (skip the bearer):

json
{
  "mcpServers": {
    "makeup.land": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://makeup.land/api/mcp"]
    }
  }
}

From Cursor

Cursor reads from `~/.cursor/mcp.json` (or per-workspace `.cursor/mcp.json`). Same shape as Claude Desktop above.

Brands we carry

The catalog spans ~150 brands. Some highlights:

  • Yossi Bitton (B Cosmic) — Israeli professional makeup line by stylist Yossi Bitton. makeup.land is the official online store.
  • da Vinci (Defet) — Authorised Israeli distributor for da Vinci's German-made professional cosmetic brushes.
  • Yarin Shahaf — Cross-catalog partner (yarin-shahaf.co.il/מייקאפלנד).
  • INGLOT, NYX, Bourjois, Maybelline, L'Oréal, and 140+ more.

Use `list_brands` to enumerate all of them at runtime.

ΔE shade matching

The flagship feature. Every variant in our catalog carries swatch hex colours; the `list_products` tool's `near_hex` argument runs a perceptual-distance ranking (CIE ΔE 2000) so an agent can answer "find a lipstick that looks like #C2185B" in one call. Pair with `hue_family=warm|cool|neutral` to refine.

Each returned product carries a `shade_match: {hex, delta_e}` field identifying the closest variant swatch and its perceptual distance — so on a 40-shade palette, you know which specific shade was the match (and how close it is), not just which palette.

This is the surface that makes makeup.land's MCP server uniquely useful for shopping agents — no other Israeli cosmetics retailer exposes shade matching through MCP, and very few retailers globally expose it at all.

Send `q` (natural language) instead of `tag` for category lookups. `q` is a cross-lingual semantic search — `q="lipstick"`, `q="שפתון"`, and `q="lápiz labial"` each return Hebrew-tagged lipsticks. The surfaced product set may differ across query languages (the system ranks by semantic relevance, not by language-canonicalisation), but each is a valid lipstick page. `tag` is a literal-string filter against Hebrew-stored tags only; English category words will not match it.

Authentication

ModeWhen requiredHow
Anonymous`list_products` (catalog filters only), `validate_gift_card`Nothing — just call
BearerAll customer-data tools, `list_brands``Authorization: Bearer ml_`
Bearer + phone`get_cart`, `list_orders`, `list_payment_links`, `get_customer_best_deals`Bearer authenticates the caller (partner integration); phone (E.164) selects the customer

The bearer auth is NOT OAuth despite Smithery's autodetection — tokens are issued out-of-band via email. Request one by writing to `shop@makeup.land` with your integration use case.

Why bearer + phone?

The phone identifier (`?phone=+972...`) selects which customer's resources to return. The bearer authenticates who is calling. Neither alone is sufficient — the bearer alone can't enumerate customer records, and a phone alone returns `401 Unauthorized`. This is the V1 REST API's contract; the MCP server matches it exactly.

Error envelope

Tool errors propagate from our V1 REST error envelope as text content with `isError: true`:

json
{
  "content": [{
    "type": "text",
    "text": "{ \"error\": \"...\", \"error_code\": \"...\" }"
  }],
  "isError": true
}

Stable `error_code` values are documented in the OpenAPI spec (`components.schemas.Error`). Common codes:

  • `unauthorized` — missing or invalid bearer
  • `scope_mismatch` — token has wrong scope for the tool
  • `read_only_token` — write attempted with a read-only token
  • `customer_not_found` — phone doesn't match any customer
  • `endpoint_not_found` — typo or removed V1 path
  • `insufficient_stock` — variant out of stock (relevant once mutating tools ship)
  • `insufficient_credits` — wallet balance can't cover a credits-tender purchase

Limitations of v1

  • Read-only. No cart writes, no gift-card redeem, no customer registration. v2 adds these.
  • Stateless. Every request initialises a fresh MCP session.
  • Synchronous. `tools/call` blocks on the V1 internal fetch. Most calls return <500ms; semantic search can take up to 2s.
  • No SSE streaming for partial results.

Discovery surfaces

SurfaceURL
MCP discovery manifesthttps://makeup.land/.well-known/mcp.json
A2A agent cardhttps://makeup.land/.well-known/agent-card.json
OpenAPI 3.1 spechttps://makeup.land/openapi.json
Auth skill manifesthttps://makeup.land/auth.md
Long-form handbookhttps://makeup.land/llms-full.txt
OAuth resource metadatahttps://makeup.land/.well-known/oauth-protected-resource
OAuth server metadatahttps://makeup.land/.well-known/oauth-authorization-server

Listed on

Contact

  • Token requests: `shop@makeup.land`
  • Bug reports + feature requests: open an issue on this repo
  • General inquiries: `shop@makeup.land`

License

The metadata and documentation in this repo are released under MIT so they can be redistributed by MCP catalog aggregators.

The underlying MCP server, the makeup.land storefront, and our product catalog remain proprietary — see makeup.land/terms-of-service.

Frequently asked questions

What is makeup-land-mcp?

makeup-land-mcp is Public metadata + integrator guide for the makeup.land MCP server (catalog ΔE shade matching, customer wallet, cart, orders). Server hosted at https://makeup.land/api/mcp

How do I install makeup-land-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is makeup-land-mcp open source?

Yes — it is hosted on GitHub at https://github.com/edwinux/makeup-land-mcp.

Related MCP tools

IvanMurzakUnity-MCP

AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.

4,137 C#
aiai-integrationgame-development+16
OpenOSINTOpenOSINT

AI-powered OSINT agent with interactive REPL, MCP server, and CLI. 19 tools. Works with Claude, GPT-4, or local models. For authorized security research only.

1,523 Python
ai-agentanthropicclaude+16
atlassianatlassian-mcp-server

Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.

1,015 JavaScript
aiai-agentsatlassian+17
riponcmprojectmem

Open-source coding agent memory. Records issues, attempts, fixes and decisions, then warns your agent before it repeats an approach that already failed. Native MCP server for Claude Code, Cursor, Antigravity and Codex. 100% local, no cloud, no telemetry. MIT.

796 Python
ai-agentsai-memoryai-tools+17
CoplayDevunity-mcp

Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.

13,915 C#
aiai-integrationmcp+13
jgravellejcodemunch-mcp

Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.

2,651 Python
claudeclaude-codeai-coding+17

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP