create_itinerary
Generate personalized travel itineraries by inputting origin, destination, dates, budget, and preferences to plan trips efficiently.
Instructions
Creates a personalized travel itinerary based on user preferences
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| budget | No | Budget in USD | |
| destination | Yes | Destination location | |
| endDate | Yes | End date (YYYY-MM-DD) | |
| origin | Yes | Starting location | |
| preferences | No | Travel preferences | |
| startDate | Yes | Start date (YYYY-MM-DD) |
Implementation Reference
- index.ts:97-110 (handler)Handler for the create_itinerary tool: validates input using CreateItinerarySchema and returns a mock text response with itinerary details.case "create_itinerary": { const validatedArgs = CreateItinerarySchema.parse(args); return { content: [ { type: "text", text: `Created itinerary from ${validatedArgs.origin} to ${validatedArgs.destination}\n` + `Dates: ${validatedArgs.startDate} to ${validatedArgs.endDate}\n` + `Budget: ${validatedArgs.budget || "Not specified"}\n` + `Preferences: ${validatedArgs.preferences?.join(", ") || "None specified"}`, }, ], }; }
- index.ts:15-22 (schema)Zod schema defining the input structure for the create_itinerary tool.const CreateItinerarySchema = z.object({ origin: z.string().describe("Starting location"), destination: z.string().describe("Destination location"), startDate: z.string().describe("Start date (YYYY-MM-DD)"), endDate: z.string().describe("End date (YYYY-MM-DD)"), budget: z.number().optional().describe("Budget in USD"), preferences: z.array(z.string()).optional().describe("Travel preferences"), });
- index.ts:64-68 (registration)Registration of the create_itinerary tool in the ListTools response, including name, description, and input schema.{ name: "create_itinerary", description: "Creates a personalized travel itinerary based on user preferences", inputSchema: zodToJsonSchema(CreateItinerarySchema), },