SKS Nutrition AI MCP
Provides FDA GRAS notice searches, US retailer ingredient compliance checks, sugar replacement calculations, and FDA Nutrition Facts label generation for food and beverage formulation.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcpWhat its tools do
6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search FDA GRAS notices for specific substances
- Check ingredients against US retailer private-label rules
- Calculate sugar replacement amounts and bulk loss
- Generate FDA Nutrition Facts labels from formulas
Source and maintenance
Protocol and capabilities
- Server
- sks-nutrition-ai 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
search_gras_notices — Search FDA GRAS notices
Search the FDA GRAS (Generally Recognized as Safe) Notice inventory by substance, intended use or notifier. Returns GRN number, substance, intended use, basis, notifier, filing/closure dates and FDA's response letter (e.g. 'FDA has no questions'). Useful for checking whether a food ingredient has a GRAS notice before formulating for the US market. A missing notice does not mean an ingredient is not GRAS (self-affirmed GRAS exists), and a notice covers only its stated uses.
{
"type": "object",
"required": [
"query"
],
"properties": {
"field": {
"enum": [
"any",
"substance",
"intended_use",
"notifier"
],
"type": "string",
"default": "any"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"query": {
"type": "string",
"description": "Words to search for, e.g. 'allulose', 'pea protein', 'steviol glycosides'."
}
},
"additionalProperties": false
}{
"title": "Search FDA GRAS notices",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_retailer_ingredients — Check ingredients against US retailer private-label rules
Screen food ingredients against the public private-label ingredient rules of 7 US retailers: Trader Joe's (TJ), Whole Foods Market (WFM), Kroger Simple Truth (ST), Walmart (WMT), Sam's Club (SAM), Aldi (ALDI) and Sprouts (SPR). Covers about 54 ingredients and classes (synthetic colors, high-intensity sweeteners, preservatives, emulsifiers, fats, flavors). Statuses: BANNED, BANNED_BY_PRINCIPLE, ALLOWED_NAMED, CONDITIONAL, NOT_LISTED (not the same as approved), UNVERIFIED, CONFIRM_WITH_BUYER. Public lists are not full specifications: always confirm with the buyer.
{
"type": "object",
"required": [
"ingredients"
],
"properties": {
"retailers": {
"type": "array",
"items": {
"enum": [
"TJ",
"WFM",
"ST",
"WMT",
"SAM",
"ALDI",
"SPR"
],
"type": "string"
},
"description": "Optional subset of retailer codes. Default: all 7."
},
"ingredients": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 60,
"minItems": 1,
"description": "Ingredient names as on a label, e.g. ['sucralose', 'Red 40', 'sodium benzoate']."
}
},
"additionalProperties": false
}{
"title": "Check US retailer private-label rules",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}sweetener_sugar_replacement — Sugar replacement calculator
Calculate how much of a sweetener matches the sweetness of a given amount of sugar (sucrose), the calories saved, and the bulk (grams of solids) lost that must be replaced with fiber, polyol or another bulking agent. Also returns the sweetener's relative sweetness, kcal/g, glycemic index, heat/acid stability and regulatory notes from the SKS Sweetener Atlas.
{
"type": "object",
"required": [
"sweetener",
"sugar_grams"
],
"properties": {
"sweetener": {
"type": "string",
"description": "Sweetener name, e.g. 'sucralose', 'stevia', 'allulose', 'erythritol', 'monk fruit'."
},
"sugar_grams": {
"type": "number",
"maximum": 100000,
"description": "Grams of sugar to replace.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"title": "Sugar replacement calculator",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}list_racc_categories — List FDA RACC categories
List FDA Reference Amounts Customarily Consumed (RACC, 21 CFR 101.12) product categories used for Nutrition Facts serving sizes. Returns each category's id, group, name, reference amount and household measure hint. Optional filter words, e.g. 'cookie', 'carbonated beverage' or 'sauce'.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 15,
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"description": "Optional words to filter categories."
}
},
"additionalProperties": false
}{
"title": "List FDA RACC categories",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}search_label_ingredients — Search the nutrition ingredient library
Search the SKS nutrition ingredient library (largely USDA-based) for an ingredient's nutrients per 100 g, label declaration name and allergens. Each result says where its data comes from and which nutrients are missing.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 15,
"minimum": 1
},
"query": {
"type": "string",
"description": "Ingredient, e.g. 'wheat flour', 'cane sugar', 'whole milk powder'."
}
},
"additionalProperties": false
}{
"title": "Search nutrition ingredient library",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}calculate_nutrition_label — Calculate an FDA Nutrition Facts label
Calculate a US FDA Nutrition Facts label from a formula: FDA rounding (21 CFR 101.9), % Daily Values, RACC-based serving size, servings per container, single vs dual-column format, plus ingredient, allergen and net-quantity statements and nutrient-content claim checks. Ingredient quantities are batch amounts; nutrients are per 100 g of each ingredient. Missing nutrients are treated as 0 and reported back, so the label is only as good as its inputs: it must be verified before printing.
{
"type": "object",
"required": [
"product",
"ingredients"
],
"properties": {
"product": {
"type": "object",
"required": [
"name",
"racc_id",
"net_quantity",
"household_measure"
],
"properties": {
"name": {
"type": "string"
},
"format": {
"enum": [
"auto",
"standard",
"dual"
],
"type": "string",
"default": "auto"
},
"racc_g": {
"type": "number",
"description": "Only for categories that need a gram RACC."
},
"racc_id": {
"type": "string",
"description": "FDA RACC category id, e.g. 'cookies'."
},
"protein_dv": {
"type": "boolean",
"default": false,
"description": "Declare protein %DV (requires PDCAAS)."
},
"may_contain": {
"type": "string",
"description": "Optional advisory allergen statement."
},
"net_quantity": {
"type": "object",
"required": [
"value",
"unit"
],
"properties": {
"unit": {
"enum": [
"g",
"oz",
"lb",
"kg",
"fl_oz",
"mL",
"L"
],
"type": "string"
},
"value": {
"type": "number"
}
}
},
"density_g_per_ml": {
"type": "number",
"description": "For liquids sold by volume. Default 1.0."
},
"serving_quantity": {
"type": "object",
"required": [
"value",
"unit"
],
"properties": {
"unit": {
"enum": [
"g",
"oz",
"lb",
"kg",
"fl_oz",
"mL",
"L"
],
"type": "string"
},
"value": {
"type": "number"
}
},
"description": "Optional; defaults to the RACC."
},
"household_measure": {
"type": "string",
"description": "e.g. '2 cookies (30g)', '1 can', '2 tbsp'."
},
"processing_loss_pct": {
"type": "number",
"maximum": 99,
"minimum": 0,
"description": "Moisture/processing loss from batch to finished product, percent. Default 0."
}
}
},
"ingredients": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity",
"nutrients_per_100g"
],
"properties": {
"name": {
"type": "string"
},
"unit": {
"enum": [
"g",
"kg",
"lb",
"oz"
],
"type": "string",
"default": "g"
},
"quantity": {
"type": "number",
"description": "Amount in the batch."
},
"verified": {
"type": "boolean",
"default": false
},
"allergens": {
"type": "array",
"items": {
"enum": [
"Milk",
"Egg",
"Fish",
"Crustacean Shellfish",
"Tree Nuts",
"Peanuts",
"Wheat",
"Soy",
"Sesame"
],
"type": "string"
}
},
"label_name": {
"type": "string",
"description": "Name for the ingredient statement; defaults to name."
},
"nutrient_source": {
"enum": [
"supplier_spec",
"lab",
"customer_db",
"usda",
"calculated",
"manual",
"ai_estimate"
],
"type": "string",
"default": "manual"
},
"nutrients_per_100g": {
"type": "object",
"properties": {
"k": {
"type": "number",
"minimum": 0
},
"ca": {
"type": "number",
"minimum": 0
},
"fe": {
"type": "number",
"minimum": 0
},
"na": {
"type": "number",
"minimum": 0
},
"fat": {
"type": "number",
"minimum": 0
},
"sat": {
"type": "number",
"minimum": 0
},
"carb": {
"type": "number",
"minimum": 0
},
"chol": {
"type": "number",
"minimum": 0
},
"kcal": {
"type": "number",
"minimum": 0
},
"prot": {
"type": "number",
"minimum": 0
},
"vitd": {
"type": "number",
"minimum": 0
},
"added": {
"type": "number",
"minimum": 0
},
"fiber": {
"type": "number",
"minimum": 0
},
"sugar": {
"type": "number",
"minimum": 0
},
"trans": {
"type": "number",
"minimum": 0
}
},
"description": "kcal; fat, sat, trans, carb, fiber, sugar, added, prot in g; chol, na, ca, fe, k in mg; vitd in mcg.",
"additionalProperties": false
}
}
},
"maxItems": 60,
"minItems": 1
}
},
"additionalProperties": false
}{
"title": "Calculate FDA Nutrition Facts label",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 502 ms
- 95th percentile latency
- 502 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 502 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http sks-nutrition-ai-mcp https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcpCodex
codex mcp add sks-nutrition-ai-mcp --url https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcpCursor
{
"mcpServers": {
"sks-nutrition-ai-mcp": {
"url": "https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcp"
}
}
}Cline
{
"mcpServers": {
"sks-nutrition-ai-mcp": {
"type": "streamableHttp",
"url": "https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"sks-nutrition-ai-mcp": {
"type": "http",
"url": "https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcp"
}
}
}Gemini CLI
gemini mcp add --transport http sks-nutrition-ai-mcp https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcpClaude Desktop
https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcpWindsurf
{
"mcpServers": {
"sks-nutrition-ai-mcp": {
"serverUrl": "https://iygszrxfaretrgnjfmel.supabase.co/functions/v1/sks-mcp"
}
}
}Let your agent find its tools
Find servers like SKS Nutrition AI MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.