Skip to main content
Glama

Open Food Facts MCP Server

by caleb-conner
products.ts4.41 kB
import { Product, ProductResponse, SearchResponse } from '../../src/types.js'; export const mockNutellaProduct: Product = { code: '3017620422003', product_name: 'Nutella', brands: 'Ferrero', categories: 'Sweet spreads, Chocolate spreads, Hazelnut spreads', ingredients_text: 'Sugar, palm oil, hazelnuts (13%), skimmed milk powder (8.7%), fat-reduced cocoa (7.4%), emulsifier: lecithins (soya), vanillin.', nutriments: { 'energy-kcal_100g': 539, 'fat_100g': 30.9, 'saturated-fat_100g': 10.6, 'carbohydrates_100g': 57.5, 'sugars_100g': 56.3, 'fiber_100g': 0, 'proteins_100g': 6.3, 'salt_100g': 0.107, 'sodium_100g': 0.043, }, nutriscore_grade: 'e', nova_group: 4, ecoscore_grade: 'd', image_url: 'https://images.openfoodfacts.org/images/products/301/762/042/2003/front_en.4.400.jpg', image_front_url: 'https://images.openfoodfacts.org/images/products/301/762/042/2003/front_en.4.400.jpg', quantity: '400g', packaging: 'Plastic jar', labels: 'No palm oil', countries: 'France', manufacturing_places: 'France', stores: 'Carrefour, Leclerc', created_datetime: '2012-08-24T14:56:20Z', last_modified_datetime: '2023-11-15T10:30:45Z', }; export const mockHealthyYogurtProduct: Product = { code: '3229820787015', product_name: 'Greek Yogurt Natural', brands: 'Danone', categories: 'Dairies, Yogurts, Plain yogurts', ingredients_text: 'Milk, milk proteins, lactic ferments (Lactobacillus bulgaricus, Streptococcus thermophilus)', nutriments: { 'energy-kcal_100g': 97, 'fat_100g': 5.0, 'saturated-fat_100g': 3.2, 'carbohydrates_100g': 4.0, 'sugars_100g': 4.0, 'fiber_100g': 0, 'proteins_100g': 10.3, 'salt_100g': 0.13, 'sodium_100g': 0.052, }, nutriscore_grade: 'b', nova_group: 1, ecoscore_grade: 'c', image_url: 'https://images.openfoodfacts.org/images/products/322/982/078/7015/front_en.4.400.jpg', quantity: '500g', packaging: 'Plastic pot', labels: 'Organic, High protein', countries: 'France', created_datetime: '2020-03-15T09:20:10Z', last_modified_datetime: '2023-10-01T15:45:30Z', }; export const mockVeganProduct: Product = { code: '8712566073219', product_name: 'Oat Drink Original', brands: 'Alpro', categories: 'Plant-based foods, Beverages, Plant-based beverages, Oat drinks', ingredients_text: 'Oat base (water, oats 10%), rapeseed oil, sea salt, stabilizer (diphosphates), acidity regulator (potassium phosphates), calcium carbonate, calcium phosphates, iodised salt, vitamins (riboflavin (B2), B12, D2)', nutriments: { 'energy-kcal_100g': 42, 'fat_100g': 1.5, 'saturated-fat_100g': 0.2, 'carbohydrates_100g': 6.6, 'sugars_100g': 4.1, 'fiber_100g': 0.8, 'proteins_100g': 0.3, 'salt_100g': 0.1, }, nutriscore_grade: 'b', nova_group: 3, ecoscore_grade: 'b', quantity: '1L', packaging: 'Tetra pak', labels: 'Vegan, Plant-based, No added sugars', countries: 'Belgium', created_datetime: '2019-05-20T11:15:25Z', last_modified_datetime: '2023-09-12T08:30:15Z', }; export const mockNutellaProductResponse: ProductResponse = { status: 1, status_verbose: 'product found', product: mockNutellaProduct, }; export const mockHealthyYogurtProductResponse: ProductResponse = { status: 1, status_verbose: 'product found', product: mockHealthyYogurtProduct, }; export const mockVeganProductResponse: ProductResponse = { status: 1, status_verbose: 'product found', product: mockVeganProduct, }; export const mockProductNotFoundResponse: ProductResponse = { status: 0, status_verbose: 'product not found', }; export const mockSearchResponse: SearchResponse = { count: 150, page: 1, page_count: 8, page_size: 20, products: [ mockNutellaProduct, mockHealthyYogurtProduct, mockVeganProduct, ], }; export const mockEmptySearchResponse: SearchResponse = { count: 0, page: 1, page_count: 0, page_size: 20, products: [], }; export const mockBarcodes = { nutella: '3017620422003', yogurt: '3229820787015', oatDrink: '8712566073219', notFound: '0000000000000', invalid: 'invalid-barcode', }; export const mockApiResponses = { [mockBarcodes.nutella]: mockNutellaProductResponse, [mockBarcodes.yogurt]: mockHealthyYogurtProductResponse, [mockBarcodes.oatDrink]: mockVeganProductResponse, [mockBarcodes.notFound]: mockProductNotFoundResponse, };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/caleb-conner/open-food-facts-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server