reason_beam
Analyze and solve complex problems or tasks using Beam Search within the MCP Advanced Reasoning Server to enhance decision-making and logical reasoning.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The problem or task to reason about using Beam Search |
Implementation Reference
- src/tools/reasoning-wrapper.ts:73-121 (handler)Handler function that simulates Beam Search reasoning process over 3 iterative steps, generating thoughts and returning structured JSON output with all thoughts.async ({ query }) => { try { // Initialize first thought const totalThoughts = 3; let currentThought = `Beam Search Reasoning (Step 1/${totalThoughts}): Initial analysis of the problem "${query}":\n\n` + `Let me explore multiple approaches to this problem. ${query}\n\n` + `[This would be the initial Beam Search-based reasoning]`; let thoughtNumber = 1; let complete = false; let allThoughts = [currentThought]; // Automatically iterate through all thoughts while (!complete && thoughtNumber < totalThoughts) { // Simulate next thought generation thoughtNumber++; const nextThought = `Beam Search Reasoning (Step ${thoughtNumber}/${totalThoughts}): ` + `Considering 3 alternative paths from "${currentThought.slice(0, 50)}...", ` + `the most promising direction is...\n\n` + `[This would be the next step of Beam Search reasoning for: ${query}]`; allThoughts.push(nextThought); currentThought = nextThought; // Check if we've reached the final thought if (thoughtNumber >= totalThoughts) { complete = true; } } // Final result with all thoughts return { content: [ { type: "text", text: JSON.stringify({ strategy: "beam_search", originalPrompt: query, allThoughts: allThoughts, thoughtNumber: thoughtNumber, totalThoughts: totalThoughts, complete: true }, null, 2) } ] }; } catch (error) { throw new ReasoningError(`Beam Search reasoning command failed: ${error instanceof Error ? error.message : String(error)}`); } }
- src/tools/reasoning-wrapper.ts:70-72 (schema)Zod input schema defining the 'query' parameter as a string describing the problem for Beam Search reasoning.{ query: z.string().describe("The problem or task to reason about using Beam Search") },
- src/tools/reasoning-wrapper.ts:68-122 (registration)Registers the 'reason_beam' tool on the MCP server, specifying input schema and handler function.server.tool( "reason_beam", { query: z.string().describe("The problem or task to reason about using Beam Search") }, async ({ query }) => { try { // Initialize first thought const totalThoughts = 3; let currentThought = `Beam Search Reasoning (Step 1/${totalThoughts}): Initial analysis of the problem "${query}":\n\n` + `Let me explore multiple approaches to this problem. ${query}\n\n` + `[This would be the initial Beam Search-based reasoning]`; let thoughtNumber = 1; let complete = false; let allThoughts = [currentThought]; // Automatically iterate through all thoughts while (!complete && thoughtNumber < totalThoughts) { // Simulate next thought generation thoughtNumber++; const nextThought = `Beam Search Reasoning (Step ${thoughtNumber}/${totalThoughts}): ` + `Considering 3 alternative paths from "${currentThought.slice(0, 50)}...", ` + `the most promising direction is...\n\n` + `[This would be the next step of Beam Search reasoning for: ${query}]`; allThoughts.push(nextThought); currentThought = nextThought; // Check if we've reached the final thought if (thoughtNumber >= totalThoughts) { complete = true; } } // Final result with all thoughts return { content: [ { type: "text", text: JSON.stringify({ strategy: "beam_search", originalPrompt: query, allThoughts: allThoughts, thoughtNumber: thoughtNumber, totalThoughts: totalThoughts, complete: true }, null, 2) } ] }; } catch (error) { throw new ReasoningError(`Beam Search reasoning command failed: ${error instanceof Error ? error.message : String(error)}`); } } );