r1_reasoning
Solve complex problems by applying advanced reasoning methods to analyze prompts and generate logical solutions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The problem or query to reason about |
Implementation Reference
- src/tools/reasoning-tools.ts:145-185 (handler)Handler function that implements the r1_reasoning tool logic: validates input prompt, generates simulated R1 Transformer-based reasoning output as JSON text content.async ({ prompt }) => { try { // Validate parameters if (!prompt) { throw new ValidationError("Prompt is required"); } // In a real implementation, this would connect to an external R1 reasoning system // For now, we'll simulate the reasoning process // Simulated reasoning output const reasoning = `R1 Reasoning Analysis:\n\n` + `For the prompt: "${prompt.slice(0, 100)}...", the analysis is:\n\n` + `1. Initial problem parsing: [Simulated R1 analysis]\n` + `2. Key observation: [Simulated R1 analysis]\n` + `3. Proposed solution approach: [Simulated R1 analysis]\n` + `4. Implementation details: [Simulated R1 analysis]\n` + `5. Verification and testing: [Simulated R1 analysis]\n\n` + `[This would be actual R1 Transformer-based reasoning content]`; return { content: [ { type: "text", text: JSON.stringify({ strategy: "r1_transformer", originalPrompt: prompt, reasoning: reasoning, complete: true }, null, 2) } ] }; } catch (error) { if (error instanceof ValidationError) { throw error; } else { throw new ReasoningError(`R1 reasoning failed: ${error instanceof Error ? error.message : String(error)}`); } } }
- src/tools/reasoning-tools.ts:142-144 (schema)Input schema for r1_reasoning tool using Zod: requires a 'prompt' string parameter.{ prompt: z.string().describe("The problem or query to reason about") },
- src/tools/reasoning-tools.ts:140-186 (registration)Registration of the r1_reasoning tool on the MCP server within registerReasoningTools function.server.tool( "r1_reasoning", { prompt: z.string().describe("The problem or query to reason about") }, async ({ prompt }) => { try { // Validate parameters if (!prompt) { throw new ValidationError("Prompt is required"); } // In a real implementation, this would connect to an external R1 reasoning system // For now, we'll simulate the reasoning process // Simulated reasoning output const reasoning = `R1 Reasoning Analysis:\n\n` + `For the prompt: "${prompt.slice(0, 100)}...", the analysis is:\n\n` + `1. Initial problem parsing: [Simulated R1 analysis]\n` + `2. Key observation: [Simulated R1 analysis]\n` + `3. Proposed solution approach: [Simulated R1 analysis]\n` + `4. Implementation details: [Simulated R1 analysis]\n` + `5. Verification and testing: [Simulated R1 analysis]\n\n` + `[This would be actual R1 Transformer-based reasoning content]`; return { content: [ { type: "text", text: JSON.stringify({ strategy: "r1_transformer", originalPrompt: prompt, reasoning: reasoning, complete: true }, null, 2) } ] }; } catch (error) { if (error instanceof ValidationError) { throw error; } else { throw new ReasoningError(`R1 reasoning failed: ${error instanceof Error ? error.message : String(error)}`); } } } );
- src/index.ts:22-22 (registration)Top-level call to registerReasoningTools(server), which registers the r1_reasoning tool among others.registerReasoningTools(server);
- src/utils/errors.ts:19-24 (helper)ReasoningError class used in the r1_reasoning handler for error handling.export class ReasoningError extends Error { constructor(message: string) { super(message); this.name = "ReasoningError"; } }