# Open Beauty Facts MCP

> Open Beauty Facts connects your AI client to a massive, open database of cosmetic products worldwide. It lets you look up ingredients (INCI), detect allergens, and search for specific beauty items by name or barcode instantly. Stop guessing about what's in your makeup or skincare routine; check the facts directly.

## Overview
- **Category:** ecommerce
- **Price:** Free
- **Tags:** cosmetics-database, ingredient-analysis, allergen-detection, beauty-products, barcode-lookup

## Description

You're dealing with cosmetic products? This server connects your AI client straight into a massive, open database covering global beauty items. You don't need an API key; you just point your agent at this data and get real-time facts on what's in whatever makeup or skincare routine someone uses.

When you use it, your agent acts like a personal chemistry lab, letting you skip the guesswork entirely. It gives you direct access to ingredient lists, allergen flags, and full product specs, whether you're checking labels for yourself or running industry research.

To start, you can find any specific item using its barcode by calling `get_beauty_product`. Just feed it an EAN/UPC number, and the server spits out every detail associated with that exact beauty product. If you don't have a code, you can run a general search across entire groups of products by using `search_beauty_products`. This lets your agent find listings based on broad criteria like a specific brand name or an entire category, such as 'sunscreen' or 'lip balm.'

Once the server gives you a list of results—whether from a barcode lookup or a general search—your AI client can perform deep analysis. You'll get the complete INCI ingredient list for every product found. The system analyzes formulations and flags potential allergens or restricted chemicals, so you always know what's in it. It's gotta be fast and accurate.

So, you run a general search to pull up all products from 'Nivea,' then feed the results into the agent, which instantly pulls the full INCI list for each one and flags any known irritants or restricted substances found in those specific formulas.

## Tools

### get_beauty_product
Retrieves all specific details for one beauty product using its EAN/UPC barcode.

### search_beauty_products
Finds groups of products by running a general search based on brand name or product category.

## Prompt Examples

**Prompt:** 
```
Search for cosmetic products from the brand 'Nivea'.
```

**Response:** 
```
Searching the Open Beauty Facts database... I've found a wide range of products from Nivea, including face creams, body lotions, and sunscreens. Would you like to see the ingredients for a specific product?
```

**Prompt:** 
```
What are the ingredients in the product with barcode '4005900130778'?
```

**Response:** 
```
Retrieving product details... This barcode belongs to a Nivea Creme. The main ingredients include Water, Paraffinum Liquidum, Cera Microcristallina, Glycerin, and Lanolin Alcohol. It also contains several fragrance components.
```

**Prompt:** 
```
Identify potential allergens in 'La Roche-Posay Anthelios'.
```

**Response:** 
```
Analyzing the product data... For the Anthelios sunscreen line, I've identified that most formulations are designed for sensitive skin, but some versions may contain Alcohol Denat or specific preservatives. I can provide the full list for a specific variant.
```

## Capabilities

### Barcode Product Lookup
You input a barcode and the server returns the full details for that specific beauty product.

### Search by Brand or Category
The agent searches the entire database, returning lists of products based on criteria like 'Nivea' or 'sunscreen'.

### Ingredient List Retrieval
You get the complete INCI list for any found product.

### Allergen Identification
The server analyzes formulations and flags potential allergens or restricted chemicals.

## Use Cases

### The Dermatologist's Checkup
A patient brings in a skincare routine full of different products. Instead of manually checking each label online, the dermatologist asks their agent: 'Check these five items for known allergens.' The agent runs `get_beauty_product` for each barcode and flags specific ingredients like Alcohol Denat.

### Market Trend Analysis
A researcher needs to compare anti-aging creams. They ask their agent to use `search_beauty_products` for 'Anti-Aging Cream' in a category, then run ingredient analysis on the top 10 results to see which common ingredients are used most often.

### Consumer Safety Audit
A user is buying sunscreens and worries about chemicals. They ask their agent: 'Find all sunscreen products from Brand Y.' The agent uses `search_beauty_products` to list them, then analyzes the results for specific preservatives.

### Barcode Verification
A customer has a product but can't read the label. They simply give their agent the barcode number. The agent runs `get_beauty_product` and immediately gives them the full name, brand, and ingredient list.

## Benefits

- Stop guessing about safety. Use `get_beauty_product` to instantly check a product's full ingredient list using just its barcode. This is faster than looking up the UPC manually.
- Compare products across brands efficiently. Use `search_beauty_products` to pull up all body lotions from Brand X, then run an allergen check on each result.
- Verify ingredients in real-time. Your agent identifies potential irritants (like specific preservatives) and flags them immediately, so you don't have to read the fine print yourself.
- Structure your research data better. The server returns clean, categorized data that lets your workflow pipeline process ingredient names or brand portfolios reliably.
- Build consumer trust automatically. Your AI client provides verifiable product facts, turning confusing labels into clear answers for your users.

## How It Works

The bottom line is: your agent handles the complex database queries, so you just talk to it naturally.

1. Subscribe to the Open Beauty Facts MCP Server. It's public access, so no API key is needed.
2. Your AI client runs a command (e.g., 'What are the ingredients in X?').
3. The server routes the request to the appropriate tool (`get_beauty_product` or `search_beauty_products`) and sends back structured product data.

## Frequently Asked Questions

**Can I search for products using a barcode?**
Yes! Use the `get_product_by_barcode` tool. It accepts EAN-13 or UPC barcodes and retrieves the specific product record if it exists in the Open Beauty Facts database.

**What is the INCI list?**
INCI stands for International Nomenclature of Cosmetic Ingredients. It is the standardized system used globally to name ingredients on cosmetic packaging.

**How can I find allergens in a product?**
The product details retrieved by the tools include a dedicated section for detected allergens based on the ingredient list analyzed by Open Beauty Facts.

**How do I set up Open Beauty Facts if I don't have an API key?**
You don't need one; the server is open access. Just subscribe to the MCP server, and your agent can call the tools directly from any compatible client like Claude or Cursor.

**What parameters should I use for `search_beauty_products`?**
You pass a category name (e.g., 'sunscreen' or 'body lotion') to the function. This lets your agent filter our entire database instantly, giving you precise lists of products.

**Can I use Open Beauty Facts to audit a brand’s full product line?**
Yes. You can instruct your agent to query multiple products by brand name. This helps you compare ingredient usage or spot trends across various SKUs from one manufacturer.

**If I use `get_beauty_product` with a barcode that fails, what happens?**
The tool returns a structured error stating no match was found. Your agent can then prompt you to double-check the code or try searching using the brand name instead.

**Are there limitations on how many times my AI client can query the server?**
The service is optimized for high use, but extremely rapid calls might trigger temporary throttling. We suggest batching your lookups or pausing briefly between requests to maintain a steady data stream.