Skip to main content
Glama
ThinkFar

Clear Thought Server

collaborativereasoning

Simulate expert collaboration to solve complex problems by integrating diverse perspectives and structured reasoning. Facilitates coordinated contributions and consensus-building for informed decision-making.

Instructions

A detailed tool for simulating expert collaboration with diverse perspectives. This tool helps models tackle complex problems by coordinating multiple viewpoints. It provides a framework for structured collaborative reasoning and perspective integration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
activePersonaIdYes
consensusPointsNo
contributionsYes
disagreementsNo
finalRecommendationNo
iterationYesCurrent iteration of the collaboration
keyInsightsNo
nextContributionNeededYesWhether another contribution is needed
nextPersonaIdNo
openQuestionsNo
personasYes
sessionIdYesUnique identifier for this collaboration session
stageYes
suggestedContributionTypesNo
topicYes

Implementation Reference

  • The main handler method `processCollaborativeReasoning` that validates input data, formats and logs the output to console, and returns the validated data.
    public processCollaborativeReasoning(input: unknown): CollaborativeReasoningData { const validatedData = this.validateInputData(input); // Log formatted output to console const formattedOutput = this.formatOutput(validatedData); console.error(formattedOutput); return validatedData; }
  • TypeScript interface defining the full structure of `CollaborativeReasoningData` used throughout the tool.
    export interface CollaborativeReasoningData { topic: string; personas: PersonaData[]; contributions: ContributionData[]; stage: | "problem-definition" | "ideation" | "critique" | "integration" | "decision" | "reflection"; activePersonaId: string; nextPersonaId?: string; consensusPoints?: string[]; disagreements?: DisagreementData[]; keyInsights?: string[]; openQuestions?: string[]; finalRecommendation?: string; sessionId: string; iteration: number; suggestedContributionTypes?: ( | "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis" )[]; nextContributionNeeded: boolean; }
  • JSON schema in the MCP Tool definition specifying input validation for the `collaborativereasoning` tool.
    inputSchema: { type: "object", properties: { topic: { type: "string" }, personas: { type: "array", items: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, expertise: { type: "array", items: { type: "string" } }, background: { type: "string" }, perspective: { type: "string" }, biases: { type: "array", items: { type: "string" } }, communication: { type: "object", properties: { style: { type: "string" }, tone: { type: "string" }, }, required: ["style", "tone"], }, }, required: [ "id", "name", "expertise", "background", "perspective", "biases", "communication", ], }, }, contributions: { type: "array", items: { type: "object", properties: { personaId: { type: "string" }, content: { type: "string" }, type: { type: "string", enum: [ "observation", "question", "insight", "concern", "suggestion", "challenge", "synthesis", ], }, confidence: { type: "number", minimum: 0, maximum: 1 }, referenceIds: { type: "array", items: { type: "string" }, }, }, required: ["personaId", "content", "type", "confidence"], }, }, stage: { type: "string", enum: [ "problem-definition", "ideation", "critique", "integration", "decision", "reflection", ], }, activePersonaId: { type: "string" }, nextPersonaId: { type: "string" }, consensusPoints: { type: "array", items: { type: "string" } }, disagreements: { type: "array", items: { type: "object", properties: { topic: { type: "string" }, positions: { type: "array", items: { type: "object", properties: { personaId: { type: "string" }, position: { type: "string" }, arguments: { type: "array", items: { type: "string" }, }, }, required: [ "personaId", "position", "arguments", ], }, }, }, required: ["topic", "positions"], }, }, keyInsights: { type: "array", items: { type: "string" } }, openQuestions: { type: "array", items: { type: "string" } }, finalRecommendation: { type: "string" }, sessionId: { type: "string", description: "Unique identifier for this collaboration session", }, iteration: { type: "number", minimum: 0, description: "Current iteration of the collaboration", }, suggestedContributionTypes: { type: "array", items: { type: "string", enum: [ "observation", "question", "insight", "concern", "suggestion", "challenge", "synthesis", ], }, }, nextContributionNeeded: { type: "boolean", description: "Whether another contribution is needed", }, }, required: [ "topic", "personas", "contributions", "stage", "activePersonaId", "sessionId", "iteration", "nextContributionNeeded", ], },
  • src/index.ts:261-415 (registration)
    Definition of the `COLLABORATIVE_REASONING_TOOL` constant which includes name, description, and schema.
    const COLLABORATIVE_REASONING_TOOL: Tool = { name: "collaborativereasoning", description: `A detailed tool for simulating expert collaboration with diverse perspectives. This tool helps models tackle complex problems by coordinating multiple viewpoints. It provides a framework for structured collaborative reasoning and perspective integration.`, inputSchema: { type: "object", properties: { topic: { type: "string" }, personas: { type: "array", items: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, expertise: { type: "array", items: { type: "string" } }, background: { type: "string" }, perspective: { type: "string" }, biases: { type: "array", items: { type: "string" } }, communication: { type: "object", properties: { style: { type: "string" }, tone: { type: "string" }, }, required: ["style", "tone"], }, }, required: [ "id", "name", "expertise", "background", "perspective", "biases", "communication", ], }, }, contributions: { type: "array", items: { type: "object", properties: { personaId: { type: "string" }, content: { type: "string" }, type: { type: "string", enum: [ "observation", "question", "insight", "concern", "suggestion", "challenge", "synthesis", ], }, confidence: { type: "number", minimum: 0, maximum: 1 }, referenceIds: { type: "array", items: { type: "string" }, }, }, required: ["personaId", "content", "type", "confidence"], }, }, stage: { type: "string", enum: [ "problem-definition", "ideation", "critique", "integration", "decision", "reflection", ], }, activePersonaId: { type: "string" }, nextPersonaId: { type: "string" }, consensusPoints: { type: "array", items: { type: "string" } }, disagreements: { type: "array", items: { type: "object", properties: { topic: { type: "string" }, positions: { type: "array", items: { type: "object", properties: { personaId: { type: "string" }, position: { type: "string" }, arguments: { type: "array", items: { type: "string" }, }, }, required: [ "personaId", "position", "arguments", ], }, }, }, required: ["topic", "positions"], }, }, keyInsights: { type: "array", items: { type: "string" } }, openQuestions: { type: "array", items: { type: "string" } }, finalRecommendation: { type: "string" }, sessionId: { type: "string", description: "Unique identifier for this collaboration session", }, iteration: { type: "number", minimum: 0, description: "Current iteration of the collaboration", }, suggestedContributionTypes: { type: "array", items: { type: "string", enum: [ "observation", "question", "insight", "concern", "suggestion", "challenge", "synthesis", ], }, }, nextContributionNeeded: { type: "boolean", description: "Whether another contribution is needed", }, }, required: [ "topic", "personas", "contributions", "stage", "activePersonaId", "sessionId", "iteration", "nextContributionNeeded", ], }, };
  • src/index.ts:1096-1109 (registration)
    Dispatch case in `CallToolRequestSchema` handler that routes calls to `collaborativeReasoningServer.processCollaborativeReasoning`.
    case "collaborativereasoning": { const result = collaborativeReasoningServer.processCollaborativeReasoning( request.params.arguments ); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }

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/ThinkFar/clear-thought-mcp'

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