generate_scenario_variations
Generate multiple scenario variations for RPG Maker MZ projects to compare different story approaches based on theme, style, and length parameters.
Instructions
Generate multiple variations of a scenario for comparison
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Gemini API key (optional) | |
| count | Yes | Number of variations to generate | |
| length | Yes | Length of scenarios | |
| project_path | Yes | Path to the RPG Maker MZ project directory | |
| style | Yes | Style or tone | |
| theme | Yes | Theme or genre |
Implementation Reference
- src/scenario-generation.ts:323-335 (handler)Core handler function that generates multiple scenario variations by calling generateScenarioWithGemini in a loop for the specified count.export async function generateScenarioVariations( request: ScenarioGenerationRequest, count: number ): Promise<Array<{ success: boolean; scenario?: GeneratedScenario; error?: string }>> { const results = []; for (let i = 0; i < count; i++) { const result = await generateScenarioWithGemini(request); results.push(result); } return results; }
- src/index.ts:1327-1340 (registration)MCP server handler registration: parses arguments, constructs ScenarioGenerationRequest, calls the core generateScenarioVariations function, and returns JSON results.case "generate_scenario_variations": { const request: ScenarioGenerationRequest = { projectPath: args.project_path as string, theme: args.theme as string, style: args.style as string, length: args.length as "short" | "medium" | "long", apiKey: args.api_key as string | undefined, }; const count = args.count as number; const results = await generateScenarioVariations(request, count); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }], }; }
- src/index.ts:633-667 (schema)Tool schema definition in the MCP tools list, including input schema with properties matching ScenarioGenerationRequest plus count.{ name: "generate_scenario_variations", description: "Generate multiple variations of a scenario for comparison", inputSchema: { type: "object", properties: { project_path: { type: "string", description: "Path to the RPG Maker MZ project directory", }, theme: { type: "string", description: "Theme or genre", }, style: { type: "string", description: "Style or tone", }, length: { type: "string", enum: ["short", "medium", "long"], description: "Length of scenarios", }, count: { type: "number", description: "Number of variations to generate", }, api_key: { type: "string", description: "Gemini API key (optional)", }, }, required: ["project_path", "theme", "style", "length", "count"], }, },
- src/scenario-generation.ts:21-27 (schema)TypeScript interface defining the input parameters for scenario generation functions, used by the handler.export interface ScenarioGenerationRequest { projectPath: string; theme: string; style: string; length: "short" | "medium" | "long"; apiKey?: string; }