structuredargumentation
Analyze complex questions through formal argumentation structures. Create, critique, and synthesize competing arguments for systematic dialectical reasoning.
Instructions
A detailed tool for systematic dialectical reasoning and argument analysis. This tool helps analyze complex questions through formal argumentation structures. It facilitates the creation, critique, and synthesis of competing arguments.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | ||
| premises | Yes | ||
| conclusion | Yes | ||
| argumentId | No | Optional unique identifier for this argument | |
| argumentType | Yes | ||
| confidence | Yes | Confidence level in this argument (0.0-1.0) | |
| respondsTo | No | ID of the argument this directly responds to | |
| supports | No | IDs of arguments this supports | |
| contradicts | No | IDs of arguments this contradicts | |
| strengths | No | Notable strong points of the argument | |
| weaknesses | No | Notable weak points of the argument | |
| nextArgumentNeeded | Yes | Whether another argument is needed in the dialectic | |
| suggestedNextTypes | No | Suggested types for the next argument |
Implementation Reference
- The processStructuredArgumentation method is the core handler for the 'structuredargumentation' tool. It processes the input and returns the formatted response.
public processStructuredArgumentation(input: unknown): { content: Array<{ type: string; text: string }>; isError?: boolean } { try { const validatedData = this.validateInputData(input); const processedData: ArgumentData = { ...validatedData, supports: validatedData.supports || [], contradicts: validatedData.contradicts || [], strengths: validatedData.strengths || [], weaknesses: validatedData.weaknesses || [], suggestedNextTypes: validatedData.suggestedNextTypes || [] }; const formattedOutput = this.formatOutput(processedData); console.error(formattedOutput); return { content: [{ type: "text", text: JSON.stringify({ argumentType: processedData.argumentType, claim: processedData.claim, confidence: processedData.confidence, nextArgumentNeeded: processedData.nextArgumentNeeded, argumentId: processedData.argumentId || `arg-${Date.now()}`, status: 'success' }, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: JSON.stringify({ error: error instanceof Error ? error.message : String(error), status: 'failed' }, null, 2) }], isError: true }; } } - src/index.ts:1150-1154 (registration)The 'structuredargumentation' tool is registered within the main switch statement of the MCP server's call tool handler in index.ts.
case "structuredargumentation": { const result = structuredArgumentationServer.processStructuredArgumentation( request.params.arguments );