UNPKG

cook-mcp-windy

Version:

HowToCook MCP Server - Intelligent Chinese recipe management and meal planning for AI assistants

215 lines 8.9 kB
import type { Tool } from '@modelcontextprotocol/sdk/types.js'; import { z } from 'zod'; import { type MCPResponse } from '../types/index.js'; declare const RecommendMealPlanInput: z.ZodObject<{ preferences: z.ZodObject<{ numberOfPeople: z.ZodNumber; dietaryRestrictions: z.ZodOptional<z.ZodArray<z.ZodEnum<["素食", "纯素食", "无麸质", "低盐", "低糖", "低脂", "高蛋白", "无坚果", "无海鲜", "无乳制品"]>, "many">>; allergies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; preferredCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; excludedCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; budgetLevel: z.ZodOptional<z.ZodEnum<["经济", "中等", "高档"]>>; cookingSkillLevel: z.ZodOptional<z.ZodEnum<["初学者", "中级", "高级"]>>; timeConstraints: z.ZodOptional<z.ZodObject<{ maxPrepTime: z.ZodOptional<z.ZodString>; maxCookTime: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; }, { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; }>>; nutritionalGoals: z.ZodOptional<z.ZodObject<{ targetCalories: z.ZodOptional<z.ZodNumber>; highProtein: z.ZodOptional<z.ZodBoolean>; lowCarb: z.ZodOptional<z.ZodBoolean>; balanced: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; }, { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }, { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }>; startDate: z.ZodOptional<z.ZodString>; planDuration: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; includeShoppingList: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; consolidateIngredients: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { preferences: { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }; startDate?: string | undefined; planDuration?: number | undefined; includeShoppingList?: boolean | undefined; consolidateIngredients?: boolean | undefined; }, { preferences: { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }; startDate?: string | undefined; planDuration?: number | undefined; includeShoppingList?: boolean | undefined; consolidateIngredients?: boolean | undefined; }>; type RecommendMealPlanInput = z.infer<typeof RecommendMealPlanInput>; declare const MealPlanResponse: z.ZodObject<{ mealPlan: z.ZodAny; shoppingList: z.ZodOptional<z.ZodAny>; statistics: z.ZodObject<{ totalRecipes: z.ZodNumber; uniqueRecipes: z.ZodNumber; categoriesUsed: z.ZodArray<z.ZodString, "many">; averageCaloriesPerDay: z.ZodNumber; totalEstimatedCookTime: z.ZodNumber; budgetEstimate: z.ZodString; }, "strip", z.ZodTypeAny, { totalRecipes: number; uniqueRecipes: number; categoriesUsed: string[]; averageCaloriesPerDay: number; totalEstimatedCookTime: number; budgetEstimate: string; }, { totalRecipes: number; uniqueRecipes: number; categoriesUsed: string[]; averageCaloriesPerDay: number; totalEstimatedCookTime: number; budgetEstimate: string; }>; recommendations: z.ZodObject<{ cookingTips: z.ZodArray<z.ZodString, "many">; prepAdvice: z.ZodArray<z.ZodString, "many">; substitutions: z.ZodArray<z.ZodString, "many">; timeManagement: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { cookingTips: string[]; prepAdvice: string[]; substitutions: string[]; timeManagement: string[]; }, { cookingTips: string[]; prepAdvice: string[]; substitutions: string[]; timeManagement: string[]; }>; }, "strip", z.ZodTypeAny, { statistics: { totalRecipes: number; uniqueRecipes: number; categoriesUsed: string[]; averageCaloriesPerDay: number; totalEstimatedCookTime: number; budgetEstimate: string; }; recommendations: { cookingTips: string[]; prepAdvice: string[]; substitutions: string[]; timeManagement: string[]; }; mealPlan?: any; shoppingList?: any; }, { statistics: { totalRecipes: number; uniqueRecipes: number; categoriesUsed: string[]; averageCaloriesPerDay: number; totalEstimatedCookTime: number; budgetEstimate: string; }; recommendations: { cookingTips: string[]; prepAdvice: string[]; substitutions: string[]; timeManagement: string[]; }; mealPlan?: any; shoppingList?: any; }>; /** * Tool definition for recommending meal plans */ export declare const recommendMealPlanTool: Tool; /** * Handler for recommend_meal_plan tool */ export declare function handleRecommendMealPlan(input: RecommendMealPlanInput): Promise<MCPResponse<z.infer<typeof MealPlanResponse>>>; export {}; //# sourceMappingURL=recommendMealPlan.d.ts.map