unconventional-thinking
An MCP server for unconventional and boundary-breaking problem-solving through an advanced note-taking system.
Documentation
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
2. Server-Side Filtering
3. Metadata-First Returns
4. Persistent File-Based Storage
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 installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchInstallation
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 inspectorThe Inspector will provide a URL to access debugging tools in your browser.
References
This server implements patterns from:
Frequently asked questions
What is unconventional-thinking?
unconventional-thinking is An MCP server for unconventional and boundary-breaking problem-solving through an advanced note-taking system.
How do I install unconventional-thinking?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is unconventional-thinking open source?
Yes — it is hosted on GitHub at https://github.com/stagsz/Unconventional-thinking and has 24 stars.
Related MCP tools
An MCP server that installs other MCP servers for you JavaScript-based implementation. Trusted by 1400+ developers. Trusted by 1400+ developers.
MCP server for interacting with the iOS simulator JavaScript-based implementation. Trusted by 1200+ developers. Trusted by 1200+ developers.
A Model Context Protocol server that provides read-only access to MySQL databases. This server enables LLMs to inspect database schemas and execute read-only...
This is an MCP server that allows you to directly download transcripts of YouTube videos. JavaScript-based implementation.
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. Built for the Model Context Protocol to enhance AI capabiliti
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP