Fixed prices, document lists and report verification for EU cosmetic safety reports (CPSR).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Calculate the price for a cosmetic product safety report (CPSR) by product type, number of recipes and varieties, markets, company seat, package and add-ons. Same calculation as the questionnaire on the website. Returns prices per package, what is included, what costs extra, assumptions and a confirmUrl for the user.
Product type; several separated by commas, with recipes and varieties in the same order.
Language of the texts in the response and on the confirmation page (default en).
Seat of the company (default de; determines VAT and the EU representative).
Who manufactures the products (does not change the price).
Whether special claims are made (e.g. "vegan", "anti-wrinkle").
Report in 5 instead of 10 working days, with a surcharge.
Where the products are sold (default EU).
Package; without it all three are returned with a recommendation.
Own recipes (base formulas) per product type (default 1).
How urgent it is (does not change the price; faster with express=true).
Total varieties per product type, base products included (e.g. one recipe with three fragrances: recipes=1, varieties=3). Default: same as recipes.
Documents for Great Britain per variety (only with markets=UK).
Review of advertising claims per variety (not with claims=no).
How far the recipe is (does not change the price).
Stability test in our laboratory (products containing water only).
We act as your responsible person in the EU (only with seat=de or eu, yearly price).
Only with seat=non_eu: us = we act as your responsible person in the EU (yearly price), self = you already have one.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Calculate the price for a cosmetic product safety report (CPSR) by product type, number of recipes and varieties, markets, company seat, package and add-ons. Same calculation as the questionnaire on the website. Returns prices per package, what is included, what costs extra, assumptions and a confirmUrl for the user.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the texts in the response and on the confirmation page (default en). |
| seat | string | Seat of the company (default de; determines VAT and the EU representative). |
| maker | string | Who manufactures the products (does not change the price). |
| claims | string | Whether special claims are made (e.g. "vegan", "anti-wrinkle"). |
| express | boolean | Report in 5 instead of 10 working days, with a surcharge. |
| markets | array | Where the products are sold (default EU). |
| package | string | Package; without it all three are returned with a recommendation. |
| recipes | array | Own recipes (base formulas) per product type (default 1). |
| urgency | string | How urgent it is (does not change the price; faster with express=true). |
| varieties | array | Total varieties per product type, base products included (e.g. one recipe with three fragrances: recipes=1, varieties=3). Default: same as recipes. |
| product_type* | array | Product type; several separated by commas, with recipes and varieties in the same order. |
| uk_documents | boolean | Documents for Great Britain per variety (only with markets=UK). |
| claims_review | boolean | Review of advertising claims per variety (not with claims=no). |
| recipe_status | string | How far the recipe is (does not change the price). |
| stability_test | boolean | Stability test in our laboratory (products containing water only). |
| eu_representative | boolean | We act as your responsible person in the EU (only with seat=de or eu, yearly price). |
| responsible_person | string | Only with seat=non_eu: us = we act as your responsible person in the EU (yearly price), self = you already have one. |
{
"type": "object",
"required": [
"product_type"
],
"properties": {
"lang": {
"enum": [
"de",
"en"
],
"type": "string",
"description": "Language of the texts in the response and on the confirmation page (default en)."
},
"seat": {
"enum": [
"de",
"eu",
"non_eu"
],
"type": "string",
"description": "Seat of the company (default de; determines VAT and the EU representative)."
},
"maker": {
"enum": [
"self",
"eu",
"non_eu",
"unknown"
],
"type": "string",
"description": "Who manufactures the products (does not change the price)."
},
"claims": {
"enum": [
"yes",
"no",
"unknown"
],
"type": "string",
"description": "Whether special claims are made (e.g. \"vegan\", \"anti-wrinkle\")."
},
"express": {
"type": "boolean",
"description": "Report in 5 instead of 10 working days, with a surcharge."
},
"markets": {
"type": "array",
"items": {
"enum": [
"EU",
"CH",
"UK",
"unknown"
],
"type": "string"
},
"description": "Where the products are sold (default EU)."
},
"package": {
"enum": [
"report_only",
"complete",
"complete_service"
],
"type": "string",
"description": "Package; without it all three are returned with a recommendation."
},
"recipes": {
"type": "array",
"items": {
"type": "integer",
"maximum": 60,
"minimum": 1
},
"description": "Own recipes (base formulas) per product type (default 1)."
},
"urgency": {
"enum": [
"selling",
"goods_ready",
"soon",
"later"
],
"type": "string",
"description": "How urgent it is (does not change the price; faster with express=true)."
},
"varieties": {
"type": "array",
"items": {
"type": "integer",
"maximum": 60,
"minimum": 1
},
"description": "Total varieties per product type, base products included (e.g. one recipe with three fragrances: recipes=1, varieties=3). Default: same as recipes."
},
"product_type": {
"type": "array",
"items": {
"enum": [
"soap",
"liquid_soap",
"cream",
"balm",
"oil",
"lip_care",
"perfume",
"deodorant",
"lash_serum",
"aerosol_spray",
"other"
],
"type": "string"
},
"description": "Product type; several separated by commas, with recipes and varieties in the same order."
},
"uk_documents": {
"type": "boolean",
"description": "Documents for Great Britain per variety (only with markets=UK)."
},
"claims_review": {
"type": "boolean",
"description": "Review of advertising claims per variety (not with claims=no)."
},
"recipe_status": {
"enum": [
"ready",
"manufacturer",
"in_progress",
"unknown"
],
"type": "string",
"description": "How far the recipe is (does not change the price)."
},
"stability_test": {
"type": "boolean",
"description": "Stability test in our laboratory (products containing water only)."
},
"eu_representative": {
"type": "boolean",
"description": "We act as your responsible person in the EU (only with seat=de or eu, yearly price)."
},
"responsible_person": {
"enum": [
"us",
"self"
],
"type": "string",
"description": "Only with seat=non_eu: us = we act as your responsible person in the EU (yearly price), self = you already have one."
}
},
"additionalProperties": false
}List the documents needed for the safety report by product type, number of recipes and varieties, manufacturer and package (recipe with quantities, raw material data sheets, fragrance documents, stability test, GMP, packaging, label draft).
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the texts in the response and on the confirmation page (default en). |
| maker | string | Who manufactures the products (does not change the price). |
| package | string | Package; without it all three are returned with a recommendation. |
| recipes | array | Own recipes (base formulas) per product type (default 1). |
| varieties | array | Total varieties per product type, base products included (e.g. one recipe with three fragrances: recipes=1, varieties=3). Default: same as recipes. |
| product_type* | array | Product type; several separated by commas, with recipes and varieties in the same order. |
| claims_review | boolean | Review of advertising claims per variety (not with claims=no). |
{
"type": "object",
"required": [
"product_type"
],
"properties": {
"lang": {
"enum": [
"de",
"en"
],
"type": "string",
"description": "Language of the texts in the response and on the confirmation page (default en)."
},
"maker": {
"enum": [
"self",
"eu",
"non_eu",
"unknown"
],
"type": "string",
"description": "Who manufactures the products (does not change the price)."
},
"package": {
"enum": [
"report_only",
"complete",
"complete_service"
],
"type": "string",
"description": "Package; without it all three are returned with a recommendation."
},
"recipes": {
"type": "array",
"items": {
"type": "integer",
"maximum": 60,
"minimum": 1
},
"description": "Own recipes (base formulas) per product type (default 1)."
},
"varieties": {
"type": "array",
"items": {
"type": "integer",
"maximum": 60,
"minimum": 1
},
"description": "Total varieties per product type, base products included (e.g. one recipe with three fragrances: recipes=1, varieties=3). Default: same as recipes."
},
"product_type": {
"type": "array",
"items": {
"enum": [
"soap",
"liquid_soap",
"cream",
"balm",
"oil",
"lip_care",
"perfume",
"deodorant",
"lash_serum",
"aerosol_spray",
"other"
],
"type": "string"
},
"description": "Product type; several separated by commas, with recipes and varieties in the same order."
},
"claims_review": {
"type": "boolean",
"description": "Review of advertising claims per variety (not with claims=no)."
}
},
"additionalProperties": false
}Check a signed REGULARUS safety report by the verification number printed below the signature and in the footer (16 characters, e.g. K7Q2-9XMV-3HPD-RW4T, also as QR code). Returns product and version as in the report, signing date, assessor with qualification, status (valid, superseded by a newer version, or withdrawn) and the SHA-256 hash of the PDF file. A number that is not found means the report does not come from REGULARUS. The sample number MUSTER returns an example.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the verification page link (default de). |
| number* | string | Verification number from the report, with or without hyphens. |
{
"type": "object",
"required": [
"number"
],
"properties": {
"lang": {
"enum": [
"de",
"en"
],
"type": "string",
"description": "Language of the verification page link (default de)."
},
"number": {
"type": "string",
"description": "Verification number from the report, with or without hyphens."
}
},
"additionalProperties": false
}