Edamam · Capability
Edamam Meal Planner — Planner
Meal Planner — Planner. 4 operations. Lead operation: Create Dietary Plan According to Supplied Specification. Self-contained Naftiko capability covering one Edamam business surface.
What You Can Do
POST
Createdietaryplan
— Create dietary plan.
/v1/meal-plans
POST
Calculaterecommendedintake
— Calculate DRI for a metabolic profile.
/v1/profiles/recommended-intake
GET
Lookuprecipesbyuri
— Lookup recipes by URI.
/v1/recipes/by-uri
POST
Createshoppinglist
— Create shopping list.
/v1/shopping-lists
MCP Tools
create-meal-plan
Create a dietary meal plan.
calculate-recommended-intake
Calculate DRI for a metabolic profile.
read-only
lookup-recipes-by-uri
Lookup recipes by URI.
read-only
idempotent
create-shopping-list
Create shopping list from total meal quantities.
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "Edamam Meal Planner — Planner"
description: >-
Meal Planner — Planner. 4 operations. Lead operation: Create Dietary Plan According to Supplied Specification.
Self-contained Naftiko capability covering one Edamam business surface.
tags:
- Edamam
- Meal Planner
- Food And Drink
created: "2026-05-30"
modified: "2026-05-30"
binds:
- namespace: env
keys:
EDAMAM_MEAL_APP_ID: EDAMAM_MEAL_APP_ID
EDAMAM_MEAL_APP_KEY: EDAMAM_MEAL_APP_KEY
capability:
consumes:
- type: http
namespace: "meal-planner-meal-planner"
baseUri: "https://api.edamam.com"
description: "Edamam Meal Planner API v1 — daily meal pattern selection, DRI calculation, recipe lookup, shopping list."
authentication:
type: basic
username: "{{env.EDAMAM_MEAL_APP_ID}}"
password: "{{env.EDAMAM_MEAL_APP_KEY}}"
resources:
- name: "meal-planner-select"
path: "/api/meal-planner/v1/{app_id}/select"
operations:
- name: "createDietaryPlan"
method: POST
description: "Create dietary plan according to supplied specification."
inputParameters:
- name: app_id
in: path
type: string
required: true
- name: type
in: query
type: string
required: false
- name: Edamam-Account-User
in: header
type: string
required: true
- name: body
in: body
type: object
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "meal-planner-dri"
path: "/api/meal-planner/v1/{app_id}/profile/recommended-intake"
operations:
- name: "calculateRecommendedIntake"
method: POST
description: "Calculate recommended daily intake and tolerable upper limits for the specified metabolic profile."
inputParameters:
- name: app_id
in: path
type: string
required: true
- name: body
in: body
type: object
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "meal-planner-by-uri"
path: "/api/recipes/v2/by-uri"
operations:
- name: "lookupRecipesByUri"
method: GET
description: "Lookup recipes by URI from the meal planner surface."
inputParameters:
- name: type
in: query
type: string
required: true
- name: uri
in: query
type: array
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "meal-planner-shopping-list"
path: "/api/meal-planner/v1/shopping-list"
operations:
- name: "createShoppingList"
method: POST
description: "Create shopping list from total meal quantities."
inputParameters:
- name: body
in: body
type: object
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
exposes:
- type: rest
namespace: "meal-planner-meal-planner-rest"
port: 8080
description: "REST adapter for Edamam Meal Planner."
resources:
- path: "/v1/meal-plans"
name: "meal-plans"
description: "Create dietary plan."
operations:
- method: POST
name: "createDietaryPlan"
description: "Create dietary plan."
call: "meal-planner-meal-planner.createDietaryPlan"
with:
app_id: "rest.app_id"
type: "rest.type"
Edamam-Account-User: "rest.Edamam-Account-User"
body: "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/profiles/recommended-intake"
name: "profiles-recommended-intake"
description: "Calculate recommended daily intake."
operations:
- method: POST
name: "calculateRecommendedIntake"
description: "Calculate DRI for a metabolic profile."
call: "meal-planner-meal-planner.calculateRecommendedIntake"
with:
app_id: "rest.app_id"
body: "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/recipes/by-uri"
name: "recipes-by-uri"
description: "Lookup recipes by URI."
operations:
- method: GET
name: "lookupRecipesByUri"
description: "Lookup recipes by URI."
call: "meal-planner-meal-planner.lookupRecipesByUri"
with:
type: "rest.type"
uri: "rest.uri"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/shopping-lists"
name: "shopping-lists"
description: "Create shopping list."
operations:
- method: POST
name: "createShoppingList"
description: "Create shopping list."
call: "meal-planner-meal-planner.createShoppingList"
with:
body: "rest.body"
outputParameters:
- type: object
mapping: "$."
- type: mcp
namespace: "meal-planner-meal-planner-mcp"
port: 9090
transport: http
description: "MCP adapter for Edamam Meal Planner."
tools:
- name: "create-meal-plan"
description: "Create a dietary meal plan."
hints:
readOnly: false
destructive: false
idempotent: false
call: "meal-planner-meal-planner.createDietaryPlan"
with:
app_id: "tools.app_id"
type: "tools.type"
Edamam-Account-User: "tools.Edamam-Account-User"
body: "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "calculate-recommended-intake"
description: "Calculate DRI for a metabolic profile."
hints:
readOnly: true
destructive: false
idempotent: false
call: "meal-planner-meal-planner.calculateRecommendedIntake"
with:
app_id: "tools.app_id"
body: "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "lookup-recipes-by-uri"
description: "Lookup recipes by URI."
hints:
readOnly: true
destructive: false
idempotent: true
call: "meal-planner-meal-planner.lookupRecipesByUri"
with:
type: "tools.type"
uri: "tools.uri"
outputParameters:
- type: object
mapping: "$."
- name: "create-shopping-list"
description: "Create shopping list from total meal quantities."
hints:
readOnly: false
destructive: false
idempotent: false
call: "meal-planner-meal-planner.createShoppingList"
with:
body: "tools.body"
outputParameters:
- type: object
mapping: "$."