cook-mcp-windy
Version:
HowToCook MCP Server - Intelligent Chinese recipe management and meal planning for AI assistants
190 lines • 7.45 kB
TypeScript
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
import { z } from 'zod';
import { type MCPResponse } from '../types/index.js';
declare const RecommendDishCombinationInput: z.ZodObject<{
preferences: z.ZodObject<{
numberOfPeople: z.ZodNumber;
occasion: z.ZodOptional<z.ZodEnum<["日常", "聚餐", "节日", "招待客人", "特殊场合"]>>;
budgetLevel: z.ZodOptional<z.ZodEnum<["经济", "中等", "高档"]>>;
dietaryRestrictions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
preferredFlavors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
cookingTime: z.ZodOptional<z.ZodString>;
skillLevel: z.ZodOptional<z.ZodEnum<["初学者", "中级", "高级"]>>;
seasonalPreference: z.ZodOptional<z.ZodBoolean>;
nutritionalBalance: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
}, {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
}>;
excludeRecipeIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
includeRecipeIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
maxDishes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
minDishes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
includeAnalysis: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
includeAlternatives: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
preferences: {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
};
excludeRecipeIds?: string[] | undefined;
includeRecipeIds?: string[] | undefined;
maxDishes?: number | undefined;
minDishes?: number | undefined;
includeAnalysis?: boolean | undefined;
includeAlternatives?: boolean | undefined;
}, {
preferences: {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
};
excludeRecipeIds?: string[] | undefined;
includeRecipeIds?: string[] | undefined;
maxDishes?: number | undefined;
minDishes?: number | undefined;
includeAnalysis?: boolean | undefined;
includeAlternatives?: boolean | undefined;
}>;
type RecommendDishCombinationInput = z.infer<typeof RecommendDishCombinationInput>;
declare const DishCombinationResponse: z.ZodObject<{
combination: z.ZodAny;
analysis: z.ZodOptional<z.ZodObject<{
nutritionalScore: z.ZodNumber;
flavorHarmony: z.ZodNumber;
difficultyBalance: z.ZodNumber;
timeEfficiency: z.ZodNumber;
overallScore: z.ZodNumber;
strengths: z.ZodArray<z.ZodString, "many">;
improvements: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
nutritionalScore: number;
flavorHarmony: number;
difficultyBalance: number;
timeEfficiency: number;
overallScore: number;
strengths: string[];
improvements: string[];
}, {
nutritionalScore: number;
flavorHarmony: number;
difficultyBalance: number;
timeEfficiency: number;
overallScore: number;
strengths: string[];
improvements: string[];
}>>;
alternatives: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
keyDifferences: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
name: string;
description: string;
keyDifferences: string[];
}, {
name: string;
description: string;
keyDifferences: string[];
}>, "many">>;
cookingPlan: z.ZodObject<{
preparationOrder: z.ZodArray<z.ZodString, "many">;
timelineEstimate: z.ZodString;
parallelTasks: z.ZodArray<z.ZodString, "many">;
criticalTiming: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
preparationOrder: string[];
timelineEstimate: string;
parallelTasks: string[];
criticalTiming: string[];
}, {
preparationOrder: string[];
timelineEstimate: string;
parallelTasks: string[];
criticalTiming: string[];
}>;
}, "strip", z.ZodTypeAny, {
cookingPlan: {
preparationOrder: string[];
timelineEstimate: string;
parallelTasks: string[];
criticalTiming: string[];
};
alternatives?: {
name: string;
description: string;
keyDifferences: string[];
}[] | undefined;
combination?: any;
analysis?: {
nutritionalScore: number;
flavorHarmony: number;
difficultyBalance: number;
timeEfficiency: number;
overallScore: number;
strengths: string[];
improvements: string[];
} | undefined;
}, {
cookingPlan: {
preparationOrder: string[];
timelineEstimate: string;
parallelTasks: string[];
criticalTiming: string[];
};
alternatives?: {
name: string;
description: string;
keyDifferences: string[];
}[] | undefined;
combination?: any;
analysis?: {
nutritionalScore: number;
flavorHarmony: number;
difficultyBalance: number;
timeEfficiency: number;
overallScore: number;
strengths: string[];
improvements: string[];
} | undefined;
}>;
/**
* Tool definition for recommending dish combinations
*/
export declare const recommendDishCombinationTool: Tool;
/**
* Handler for recommend_dish_combination tool
*/
export declare function handleRecommendDishCombination(input: RecommendDishCombinationInput): Promise<MCPResponse<z.infer<typeof DishCombinationResponse>>>;
export {};
//# sourceMappingURL=recommendDishCombination.d.ts.map