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: "$."