Skip to main content
Glama
stagsz

Unconventional-thinking MCP server

by stagsz

Unconventional Thinking Server (v0.3.0)

A context-efficient MCP server for bold, unconventional, and boundary-breaking problem-solving.

This is a TypeScript-based MCP server that implements an unconventional thinking system optimized for context space savings based on Anthropic's latest MCP architecture patterns. It generates and tracks creative solutions to problems while maintaining efficiency.

MCP spec 2025-11-25 compliant — uses @modelcontextprotocol/sdk v1.27.1 with tool title, annotations, outputSchema, structuredContent responses, and resource_link content type.

Architecture: Context-Saving Design

This server demonstrates Anthropic's recommended patterns for reducing context overhead by 98.7%:

Key Context-Saving Features

  1. Resources API for On-Demand Data Loading

    • Thought content is stored as resources (thought://id)

    • Claude loads full content only when explicitly needed

    • Metadata is returned by default, saving tokens

  2. Server-Side Filtering

    • search_thoughts filters data locally instead of passing unfiltered sets to Claude

    • Only matching results returned, not entire dataset

    • Reduces context consumption by filtering at the source

  3. Metadata-First Returns

    • Tools return only essential metadata + resource URIs

    • Full thought content accessible via Resources API

    • Claude decides whether to fetch full content based on need

  4. Persistent File-Based Storage

    • Data persists in .thoughts/ directory

    • No in-memory bloat accumulating across sessions

    • Easy to inspect and debug thoughts locally

Related MCP server: DeepLucid3D UCPF Server

Features

Tools (All Context-Efficient, MCP spec 2025-11-25)

Each tool now includes:

  • title — human-readable display name shown in client UIs

  • annotations — behaviour hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)

  • outputSchema — JSON Schema describing the structured result

  • structuredContent in responses — machine-readable output conforming to the schema

  • resource_link content items — explicit links clients can subscribe to or fetch


  • generate_unreasonable_thought — Generate new unconventional thoughts

    • Returns resource_link + structuredContent, not raw text blobs

    • Can build upon or rebel against previous thoughts

    • Full thought content available via Resources API

  • branch_thought — Create new branches of thinking

    • Supports directions: more_extreme, opposite, tangential (now enum-typed)

    • Returns resource_link + structuredContent for the new branch

  • search_thoughts — Efficient metadata search

    • Filters by branchId, isRebellion, challengesAssumption

    • Returns structuredContent with typed count + thoughts array

    • Includes limit parameter to control result size

Resources (On-Demand Content Loading)

  • Each thought available as a resource: thought://[thoughtId]

  • Metadata includes: isRebellion, challengesAssumption, timestamp, branch info

  • Full thought content loaded only when Claude explicitly requests it

  • Dramatically reduces token usage when many thoughts exist

How This Implements Context Efficiency

1. Progressive Disclosure

Claude doesn't need the full content of 100 thoughts upfront. Instead:

  • search_thoughts returns just IDs and metadata (100 bytes per thought)

  • Claude selectively fetches full content via Resources API for relevant thoughts

  • Similar to how filesystems work: list files, then open specific files

2. Server-Side Filtering

Traditional approach (❌ inefficient):

All 1000 thoughts → Claude → Claude filters → Uses only 10
(costs tokens for all 1000)

This server (✅ efficient):

search_thoughts filter params → Server filters locally → Returns only 10 results
(Claude never sees the unused 990)

3. Metadata-First Pattern

Tool responses contain:

  • Thought ID

  • Resource URI to access full content

  • Brief metadata (2-3 KB each)

  • NOT the full 500-character thought (saves ~5KB per thought)

Example savings: With 100 thoughts:

  • Old way: 500KB context usage

  • New way: ~30KB + fetch only what's needed

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "unconventional-thinking": {
      "command": "/path/to/unconventional-thinking/build/index.js"
    }
  }
}

Usage Example

Claude: Generate an unreasonable thought about scaling problems
→ Tool: generate_unreasonable_thought("scaling problems")
← Returns: resource_link (thought://...) + structuredContent { thoughtId, isRebellion, ... }

Claude: What are all the rebellious thoughts?
→ Tool: search_thoughts(isRebellion=true, limit=5)
← Returns: structuredContent { count, thoughts: [...metadata] }

Claude: I need to see the full content of thought_xyz
→ Resource: Read thought://thought_xyz
← Returns: Full thought content (loaded only when needed)

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

References

This server implements patterns from:

Available Tools

3 tools
branch_thoughtB

Create a new branch of thinking from an existing thought. Returns only metadata, not full content.

ParametersJSON Schema
NameRequiredDescriptionDefault
thoughtIdYesID of the thought to branch from
directionYesDirection for the new branch (e.g. 'more_extreme', 'opposite', 'tangential')

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context about the return value ('Returns only metadata, not full content'), which clarifies output behavior. However, it lacks details on permissions, side effects, error handling, or other behavioral traits, leaving gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded, consisting of two clear sentences with zero wasted words. Every sentence earns its place by stating the core action and a critical behavioral detail, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 required parameters, mutation operation) and lack of annotations or output schema, the description is minimally adequate. It covers the basic purpose and a key output limitation, but for a mutation tool, it should ideally include more on permissions, side effects, or error cases to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents both parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as examples for 'direction' values or context for 'thoughtId'. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Create') and resource ('new branch of thinking from an existing thought'), making it immediately understandable. It distinguishes from sibling tools by focusing on branching rather than generation or searching, though it doesn't explicitly name those alternatives for full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tools (generate_unreasonable_thought, search_thoughts). It mentions the tool's scope ('from an existing thought') but offers no explicit when/when-not instructions or prerequisites, leaving usage context implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_unreasonable_thoughtC

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

ParametersJSON 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

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'efficiently creates thoughts without loading full context', which hints at performance characteristics but lacks details on what 'efficiently' means (e.g., speed, resource usage) or what 'full context' entails. It doesn't cover critical aspects like whether this is a read-only or mutation operation, authentication needs, rate limits, or error handling, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences that are front-loaded: the first states the core purpose, and the second adds a behavioral note. There's no wasted text, but the second sentence ('Efficiently creates thoughts without loading full context') could be more precise to enhance clarity, slightly reducing the score from 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (generating thoughts with three parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain what an 'unreasonable thought' entails, how it's generated, what the output looks like, or any prerequisites. The behavioral note is vague, and without structured data to fill gaps, the description falls short of providing sufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, providing clear documentation for all three parameters. The description adds no additional meaning beyond the schema, as it doesn't explain parameter interactions, usage examples, or constraints. With high schema coverage, the baseline is 3, and the description doesn't compensate with extra insights.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a new unreasonable thought that challenges conventional thinking.' It specifies the verb ('Generate') and resource ('unreasonable thought'), and distinguishes it from sibling tools like 'branch_thought' and 'search_thoughts' by focusing on creation rather than modification or retrieval. However, it doesn't explicitly differentiate from 'branch_thought' which might also generate thoughts, making it a 4 instead of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'branch_thought' or 'search_thoughts'. It mentions 'without loading full context' but doesn't explain what that means in practice or when this efficiency is beneficial. There are no explicit when/when-not instructions or named alternatives, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_thoughtsC

Search for thought IDs by metadata. Returns only matching IDs and metadata, not full content. Enables efficient filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchIdNoOptional branch ID to filter thoughts
isRebellionNoFilter by rebellion status
challengesAssumptionNoFilter by assumption-challenging status
limitNoMaximum number of results to return (default: 10)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the return format ('only matching IDs and metadata, not full content') and efficiency, but lacks critical behavioral details like authentication needs, rate limits, error handling, or whether it's read-only. For a search tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three short sentences that are front-loaded with key information. However, the third sentence 'Enables efficient filtering' is somewhat redundant with the first, slightly reducing efficiency. Overall, it's well-structured but could be tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a search tool with 4 parameters, the description is incomplete. It doesn't explain the return format in detail (e.g., structure of metadata), error conditions, or how results are ordered. For a tool with this complexity, more context is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., no examples or edge cases). This meets the baseline of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search for thought IDs by metadata' specifies the verb (search) and resource (thought IDs), and 'Returns only matching IDs and metadata, not full content' clarifies the output scope. However, it doesn't explicitly differentiate from sibling tools like 'branch_thought' or 'generate_unreasonable_thought', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance: 'Enables efficient filtering' implies when to use it, but there's no explicit context about when to choose this tool over alternatives, no prerequisites mentioned, and no comparison with sibling tools. This leaves significant gaps in usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • Removedlist_thoughts
    • Addedsearch_thoughts
  2. 3 tool updates
    • First observedbranch_thought
    • First observedgenerate_unreasonable_thought
    • First observedlist_thoughts

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: branch_thought creates new branches from existing thoughts, generate_unreasonable_thought generates entirely new challenging thoughts, and search_thoughts filters existing thoughts by metadata. The descriptions clearly differentiate their functions, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: branch_thought, generate_unreasonable_thought, and search_thoughts. The naming is predictable and readable throughout the set, with no deviations in style or convention.

Tool Count3/5

With only 3 tools, the set feels thin for a server focused on 'unconventional thinking,' which might imply more complex operations. While the tools cover creation, generation, and search, the scope could benefit from additional tools like updating or deleting thoughts to provide more comprehensive coverage.

Completeness3/5

The tools cover creation (branch_thought and generate_unreasonable_thought) and search (search_thoughts), but there are notable gaps in the lifecycle: no tools for updating, deleting, or retrieving full thought content. This could lead to dead ends for agents needing to modify or access complete thoughts beyond metadata.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    An MCP server implementing the Unified Cognitive Processing Framework for advanced problem-solving, creative thinking, and cognitive analysis through structured tools for knowledge mapping, recursive questioning, and perspective generation.
    3
    16
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server implementing the Chain-of-Recursive-Thoughts (CoRT) methodology that makes AI think harder by making it argue with itself repeatedly through multiple rounds of alternative generation and evaluation.
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A MCP server that implements sequential thinking protocols, provides structured problem-solving methods, decomposes complex problems into manageable steps, and supports iterative optimization and alternative reasoning paths.
    1
    2
    Apache 2.0

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