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.
- A new unconventional thought on a problem, which can build on an earlier thought or rebel against it, returned as a `resource_link` plus structured fields rather than a text blob — `generate_unreasonable_thought`
- A branch off an existing thought in a named direction — `more_extreme`, `opposite` or `tangential` — as its own linked resource — `branch_thought`
- Metadata search filtered by branch, by whether a thought was a rebellion, and by whether it challenges an assumption, with a limit on how many come back — `search_thoughts`
- Every thought readable on demand at `thought://[thoughtId]`, with rebellion status, challenged assumption, timestamp and branch information in the metadata
- Thoughts written to a `.thoughts/` directory, so a session's tree survives restarts and can be inspected as plain files
No 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
