Zestful · Capability

Zestful Recipe Data Enrichment

Workflow capability for enriching recipe data by parsing raw ingredient strings into structured, USDA-matched nutritional data. Used by recipe app developers to build searchable recipes, generate shopping lists, and create ingredient databases.

Run with Naftiko FoodIngredientsParsersRecipesUSDA

What You Can Do

POST
Parse ingredients — Parse a list of raw recipe ingredient strings (up to 100 per request) into structured data with quantity, unit, product name, preparation notes, and USDA FoodData Central database matches.
/v1/ingredients/parse

MCP Tools

parse-recipe-ingredients

Parse a list of raw recipe ingredient strings into structured JSON data. Extracts quantity, measurement unit, product name, preparation notes, and matches each ingredient against the USDA FoodData Central database. Supports up to 100 ingredients per request. Use for building searchable recipes, shopping list generation, and nutritional analysis.

APIs Used

zestful

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Zestful Recipe Data Enrichment"
  description: >-
    Workflow capability for enriching recipe data by parsing raw ingredient
    strings into structured, USDA-matched nutritional data. Used by recipe
    app developers to build searchable recipes, generate shopping lists,
    and create ingredient databases.
  tags:
    - Food
    - Ingredients
    - Parsers
    - Recipes
    - USDA
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      ZESTFUL_API_KEY: ZESTFUL_API_KEY

capability:
  consumes:
    - import: zestful
      location: ./shared/zestful.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: recipe-enrichment-api
      description: "Unified REST API for recipe data enrichment and ingredient parsing."
      resources:
        - path: /v1/ingredients/parse
          name: ingredient-parser
          description: Parse raw recipe ingredient strings into structured data
          operations:
            - method: POST
              name: parse-ingredients
              description: >-
                Parse a list of raw recipe ingredient strings (up to 100 per
                request) into structured data with quantity, unit, product name,
                preparation notes, and USDA FoodData Central database matches.
              call: "zestful.parse-ingredients"
              with:
                ingredients: "rest.ingredients"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: recipe-enrichment-mcp
      transport: http
      description: "MCP server for AI-assisted recipe data enrichment and ingredient analysis."
      tools:
        - name: parse-recipe-ingredients
          description: >-
            Parse a list of raw recipe ingredient strings into structured JSON
            data. Extracts quantity, measurement unit, product name, preparation
            notes, and matches each ingredient against the USDA FoodData Central
            database. Supports up to 100 ingredients per request. Use for
            building searchable recipes, shopping list generation, and
            nutritional analysis.
          hints:
            readOnly: false
            openWorld: true
          call: "zestful.parse-ingredients"
          with:
            ingredients: "tools.ingredients"
          outputParameters:
            - type: object
              mapping: "$."