branch_thought
Create a new branch of thinking from an existing thought. Returns only metadata, not full content.
Generate deliberately unreasonable ideas, branch them into more extreme or opposite directions, and keep the whole tree on disk instead of in your context.
LABSCO SUMMARY
The interesting design choice is not the prompting, it is the storage. Search returns ids and metadata, the full text sits behind a resource URI, and filtering happens on the server — so a session with a hundred branches does not force a hundred paragraphs into context on every query. Directions are enum-typed (more_extreme, opposite, tangential), which makes branching something you steer rather than describe.
An MCP server for ideation that deliberately pushes against the obvious answer. Each thought is stored on disk as a resource at thought://[thoughtId] and tools return metadata plus a link, so the model pulls the full text of a thought only when it decides it needs it.
resource_link plus structured fields rather than a text blob — generate_unreasonable_thoughtmore_extreme, opposite or tangential — as its own linked resource — branch_thoughtsearch_thoughtsthought://[thoughtId], with rebellion status, challenged assumption, timestamp and branch information in the metadata.thoughts/ directory, so a session's tree survives restarts and can be inspected as plain filesNo account and no key. The npm package name is unreasnable-thinker-server (0.3.0) and it is marked private, so build from a clone with npm install and npm run build, then point your client at the built index.js. It targets the MCP 2025-11-25 spec through @modelcontextprotocol/sdk v1.27.1, using tool title, annotations, outputSchema, structuredContent and resource_link — a client that ignores resource links will still work, but will have to fetch thought text itself.
One command — npx -y github:stagsz/Unconventional-thinking
USE CASES
Ask for an unreasonable thought on the problem, then branch it in the opposite direction to see what the inverse assumption implies.
Generate thoughts that rebel against the current approach, then filter for the ones flagged as challenging an assumption and read only those.
Branch repeatedly in the more_extreme direction and follow the chain, so the escalation is recorded rather than reconstructed from the transcript.
Search the stored thoughts by branch to rebuild where you were, and open the full text of only the ones still worth reading.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
branch_thoughtCreate a new branch of thinking from an existing thought. Returns only metadata, not full content.
generate_unreasonable_thoughtGenerate a new unreasonable thought that challenges conventional thinking. Efficiently creates thoughts without loading full context.
search_thoughtsSearch for thought IDs by metadata. Returns only matching IDs and metadata, not full content. Enables efficient filtering.
BEFORE YOU INSTALL
3 tools when we connected.
npx on PATH
CONTEXT COST
Rated by the size of the 3 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"Unconventional-thinking": {
"command": "npx",
"args": [
"-y",
"github:stagsz/Unconventional-thinking"
]
}
}
}npx -y github:stagsz/Unconventional-thinking