Skip to main content
Glama
AzDeltaQQ
by AzDeltaQQ

beam_search_reasoning

Optimize multi-step reasoning by maintaining top paths through beam search, enabling structured problem-solving and decision-making for complex queries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
beamWidthNoNumber of top paths to maintain (n-sampling)
nextThoughtNeededYesWhether another step is needed
promptYesThe problem or query to reason about
thoughtYesCurrent reasoning step
thoughtNumberYesCurrent step number
totalThoughtsYesTotal expected steps

Implementation Reference

  • The core handler function implementing beam_search_reasoning tool logic: validates inputs, generates simulated next reasoning step using beam search concept, formats response as JSON text content.
    async ({ prompt, thought, thoughtNumber, totalThoughts, nextThoughtNeeded, beamWidth }) => { try { // Validate parameters if (!prompt) { throw new ValidationError("Prompt is required"); } if (!thought) { throw new ValidationError("Current thought is required"); } // In a real implementation, this would connect to an external Beam Search algorithm // For now, we'll simulate the reasoning process // Simulated next thought generation based on Beam Search let nextThought = ""; if (nextThoughtNeeded) { // Logic for generating next thought would go here // For now, we'll return a simple placeholder nextThought = `Beam Search Reasoning (Step ${thoughtNumber + 1}/${totalThoughts}): ` + `Considering ${beamWidth} alternative paths from "${thought.slice(0, 50)}...", ` + `the most promising direction is... ` + `[This would be actual Beam Search-based reasoning content]`; } return { content: [ { type: "text", text: JSON.stringify({ strategy: "beam_search", originalPrompt: prompt, currentThought: thought, thoughtNumber: thoughtNumber, totalThoughts: totalThoughts, nextThought: nextThought, complete: !nextThoughtNeeded || thoughtNumber >= totalThoughts }, null, 2) } ] }; } catch (error) { if (error instanceof ValidationError) { throw error; } else { throw new ReasoningError(`Beam Search reasoning failed: ${error instanceof Error ? error.message : String(error)}`); } } } );
  • Zod schema defining the input parameters for the beam_search_reasoning tool.
    { prompt: z.string().describe("The problem or query to reason about"), thought: z.string().describe("Current reasoning step"), thoughtNumber: z.number().int().min(1).describe("Current step number"), totalThoughts: z.number().int().min(1).describe("Total expected steps"), nextThoughtNeeded: z.boolean().describe("Whether another step is needed"), beamWidth: z.number().int().min(1).max(10).default(3).describe("Number of top paths to maintain (n-sampling)") },
  • Registers the 'beam_search_reasoning' tool on the MCP server within the registerReasoningTools function.
    server.tool( "beam_search_reasoning", { prompt: z.string().describe("The problem or query to reason about"), thought: z.string().describe("Current reasoning step"), thoughtNumber: z.number().int().min(1).describe("Current step number"), totalThoughts: z.number().int().min(1).describe("Total expected steps"), nextThoughtNeeded: z.boolean().describe("Whether another step is needed"), beamWidth: z.number().int().min(1).max(10).default(3).describe("Number of top paths to maintain (n-sampling)") }, async ({ prompt, thought, thoughtNumber, totalThoughts, nextThoughtNeeded, beamWidth }) => { try { // Validate parameters if (!prompt) { throw new ValidationError("Prompt is required"); } if (!thought) { throw new ValidationError("Current thought is required"); } // In a real implementation, this would connect to an external Beam Search algorithm // For now, we'll simulate the reasoning process // Simulated next thought generation based on Beam Search let nextThought = ""; if (nextThoughtNeeded) { // Logic for generating next thought would go here // For now, we'll return a simple placeholder nextThought = `Beam Search Reasoning (Step ${thoughtNumber + 1}/${totalThoughts}): ` + `Considering ${beamWidth} alternative paths from "${thought.slice(0, 50)}...", ` + `the most promising direction is... ` + `[This would be actual Beam Search-based reasoning content]`; } return { content: [ { type: "text", text: JSON.stringify({ strategy: "beam_search", originalPrompt: prompt, currentThought: thought, thoughtNumber: thoughtNumber, totalThoughts: totalThoughts, nextThought: nextThought, complete: !nextThoughtNeeded || thoughtNumber >= totalThoughts }, null, 2) } ] }; } catch (error) { if (error instanceof ValidationError) { throw error; } else { throw new ReasoningError(`Beam Search reasoning failed: ${error instanceof Error ? error.message : String(error)}`); } } } );
  • src/index.ts:22-22 (registration)
    Calls registerReasoningTools to register all reasoning tools including beam_search_reasoning on the main MCP server instance.
    registerReasoningTools(server);

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AzDeltaQQ/Mcp-Reasoning-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server