Skip to main content
Glama
stagsz

Unconventional-thinking MCP server

generate_unreasonable_thought

Generate unconventional solutions by challenging conventional thinking about a specific problem, creating branches of thought in new directions.

Instructions

Generate a new unreasonable thought that challenges conventional thinking. Efficiently creates thoughts without loading full context.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
problemYesThe problem or challenge to think unreasonably about
previousThoughtIdNoOptional ID of a previous thought to build upon or rebel against
forceRebellionNoForce the thought to rebel against conventional wisdom

Implementation Reference

  • MCP tool handler in CallToolRequestSchema switch statement. Parses input arguments, generates thought metadata, calls core generateUnreasonableThought function, persists to file, returns resource URI and metadata without full content.
    case "generate_unreasonable_thought": { const { problem, previousThoughtId, forceRebellion } = request.params.arguments as any; const thoughtId = `thought_${Date.now()}`; const isRebellion = forceRebellion || Math.random() > 0.5; const thoughts = loadThoughts(); let branchId; if (previousThoughtId) { const previousThought = thoughts[previousThoughtId]; if (!previousThought) { throw new McpError(ErrorCode.InvalidParams, "Previous thought not found"); } branchId = previousThought.branchId; } const thought: Thought = { id: thoughtId, content: generateUnreasonableThought(problem, previousThoughtId ? thoughts[previousThoughtId] : undefined), isRebellion, challengesAssumption: Math.random() > 0.3, branchFromThought: previousThoughtId, branchId, timestamp: Date.now() }; thoughts[thoughtId] = thought; saveThoughts(thoughts); // Return only essential metadata, not full content - saves context return { content: [{ type: "text", text: JSON.stringify({ thoughtId, resourceUri: `thought://${thoughtId}`, isRebellion: thought.isRebellion, challengesAssumption: thought.challengesAssumption, branchInfo: thought.branchId ? `Branch: ${thought.branchId}` : "Main branch", message: "Thought generated. Use resource URI to access full content." }, null, 2) }] }; }
  • Input schema defining parameters for the generate_unreasonable_thought tool: problem (required), previousThoughtId (optional), forceRebellion (optional).
    inputSchema: { type: "object", properties: { problem: { type: "string", description: "The problem or challenge to think unreasonably about" }, previousThoughtId: { type: "string", description: "Optional ID of a previous thought to build upon or rebel against" }, forceRebellion: { type: "boolean", description: "Force the thought to rebel against conventional wisdom" } }, required: ["problem"] }
  • src/index.ts:61-82 (registration)
    Tool registration in ListToolsRequestSchema handler, including name, description, and input schema.
    { name: "generate_unreasonable_thought", description: "Generate a new unreasonable thought that challenges conventional thinking. Efficiently creates thoughts without loading full context.", inputSchema: { type: "object", properties: { problem: { type: "string", description: "The problem or challenge to think unreasonably about" }, previousThoughtId: { type: "string", description: "Optional ID of a previous thought to build upon or rebel against" }, forceRebellion: { type: "boolean", description: "Force the thought to rebel against conventional wisdom" } }, required: ["problem"] } },
  • Core helper function that implements the unreasonable thought generation logic using predefined templates and randomization, optionally building on a previous thought.
    function generateUnreasonableThought(problem: string, previousThought?: Thought): string { const unreasonableApproaches = [ `What if we completely eliminated the concept of ${problem}?`, `Imagine if ${problem} operated in reverse - what opportunities would that create?`, `If we had infinite resources and no physical limitations, how would we solve ${problem}?`, `What if we combined ${problem} with its exact opposite?`, `How would an alien civilization with completely different logic solve ${problem}?`, `What if the opposite of "${problem}" is actually the better solution?`, `What if we scaled ${problem} up 1000x - what becomes possible?`, `What if we removed all constraints from ${problem} - what changes?` ]; let thought = unreasonableApproaches[Math.floor(Math.random() * unreasonableApproaches.length)]; if (previousThought) { thought = `Building on: ${previousThought.content}\n\nNew angle: ${thought}`; } return thought; }

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/stagsz/Unconventional-thinking'

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