supplemental.pl — EU/PL food law
EU/PL food law for supplement firms: health claims, novel food, GIS, C.L.A.I.M.S. Not legal advice.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"foodlaw": {
"url": "https://mcp.supplemental.pl/mcp"
}
}
}远程端点
https://mcp.supplemental.pl/mcpstreamable-http它能做什么
工具清单
工具(8)
🟢search_articles(query, lang, limit)
Full-text search of supplemental.pl knowledge articles on EU/PL food law (health claims, novel food, supplements, labelling, CJEU case law) in Polish, English or German. Returns titles, URLs, dates, summaries and language versions.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Search terms, e.g. \"novel food NMN\" or \"oświadczenia zdrowotne witamina D\"."
},
"lang": {
"type": "string",
"enum": [
"pl",
"en",
"de"
],
"description": "Response language. Default: en."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Max results (default 5)."
}
},
"required": [
"query"
]
}🟢get_article(url, lang)
Return one supplemental.pl knowledge article by URL or slug: summary, headings, a text excerpt, legal references named in it and its PL/EN/DE versions. Pass lang to get another language version.
输入模式
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 3,
"maxLength": 400,
"description": "Article URL on supplemental.pl or its slug."
},
"lang": {
"type": "string",
"enum": [
"pl",
"en",
"de"
],
"description": "Response language. Default: en."
}
},
"required": [
"url"
]
}🟢check_health_claim(substance, claim_text, status, limit, lang)
Look up a nutrient/substance in the official EU Register of nutrition and health claims (European Commission data, refreshed weekly). Shows whether each claim is Authorised, Non-authorised or Revoked, its conditions of use, the EFSA question and the legal act.
输入模式
{
"type": "object",
"properties": {
"substance": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Nutrient or substance (English or Latin), e.g. \"vitamin C\", \"glucomannan\"."
},
"claim_text": {
"type": "string",
"maxLength": 300,
"description": "Optional words of the claim/function, e.g. \"immune system\"."
},
"status": {
"type": "string",
"enum": [
"all",
"authorised",
"non_authorised",
"revoked"
],
"description": "Default: all."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"lang": {
"type": "string",
"enum": [
"pl",
"en",
"de"
],
"description": "Response language. Default: en."
}
},
"required": [
"substance"
]
}🟢novel_food_status(name, limit, lang)
Look up a food or ingredient in the EU Novel Food Catalogue (European Commission data, refreshed weekly): status per part/form (Novel food, Not novel in food, Not novel in food supplements, Authorised novel food, consultation request), with links to Reg. 2015/2283 and the Union list.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Ingredient name (Latin, English or common name), e.g. \"Withania somnifera\", \"NMN\"."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"lang": {
"type": "string",
"enum": [
"pl",
"en",
"de"
],
"description": "Response language. Default: en."
}
},
"required": [
"name"
]
}🟢search_claims_foodlaw(substance, dose, lang)
Match an ingredient (and optional dose) against Reg. 432/2012 authorised claims and the SANCO/11074/2013 botanical list via C.L.A.I.M.S. (FOODLAW.ai). Botanical claims are always returned as regulatory_status "on_hold" (not authorised).
输入模式
{
"type": "object",
"properties": {
"substance": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Ingredient (Latin, English or Polish)."
},
"dose": {
"type": "string",
"maxLength": 40,
"description": "Optional dose, e.g. \"300 mg\"."
},
"lang": {
"type": "string",
"enum": [
"en",
"pl"
]
}
},
"required": [
"substance"
]
}🟢get_claim_foodlaw(id, lang)
Fetch one claim from C.L.A.I.M.S. by its numeric ID (from search_claims_foodlaw). Botanicals are always "on_hold".
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"lang": {
"type": "string",
"enum": [
"en",
"pl"
]
}
},
"required": [
"id"
]
}🟢gis_notification_steps(lang)
Step-by-step procedure for notifying a food supplement to the Polish Chief Sanitary Inspectorate (GIS, Art. 29–30 of the Food and Nutrition Safety Act), from the supplemental.pl article. A GIS notification is not a novel food authorisation.
输入模式
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"pl",
"en",
"de"
],
"description": "Response language. Default: en."
}
}
}🟢nutrition_calc(ingredients, product_name, product_form, mass_loss_pct, lang)
Deterministic nutrition calculation for a recipe (no AI): energy and nutrients per 100 g, micronutrients with %NRV, candidate nutrition claims (withheld if any ingredient is unresolved), allergens and QUID hints. Ingredient lines with mass or volume, e.g. "mąka pszenna 500 g", "milk 200 ml". Max 20 calculations per user per day.
输入模式
{
"type": "object",
"properties": {
"ingredients": {
"type": "array",
"minItems": 1,
"maxItems": 40,
"items": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"description": "One ingredient per item, with quantity and unit (g, kg, mg, ml, l)."
},
"product_name": {
"type": "string",
"maxLength": 120
},
"product_form": {
"type": "string",
"enum": [
"solid",
"liquid"
],
"description": "Default solid."
},
"mass_loss_pct": {
"type": "number",
"minimum": 0,
"maximum": 90,
"description": "Mass loss during processing (e.g. baking), %."
},
"lang": {
"type": "string",
"enum": [
"pl",
"en",
"de"
],
"description": "Response language. Default: en."
}
},
"required": [
"ingredients"
]
}社区
证据