Skip to main content
Glama
stagsz

Unconventional-thinking MCP server

by stagsz

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;
    }

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

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

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