Think out loud.
The map keeps up. ThinkClear is a mindmap canvas with an assistant that can build it with you — say what you’re working through and the branches appear, move, and pick up notes underneath. Or point the agent you already use at the same maps.
No credit card, no seat count. AGPL-3.0 — run the whole thing on your own machine instead.
- Open source, AGPL-3.0
- Self-host with one compose file
- MCP over OAuth 2.1
- No API keys to paste
The workspace
One map. Three ways to fill it.
Type it, drag it, or ask for it. Whichever way a topic gets there, it is the same document underneath — and the next person to touch it can be an agent.
Drag topics, connect them, rename one in place by double-clicking it. The editor and the API check the same rules, so a map that saves is a map you could have drawn — and cutting a branch strands its subtree on purpose rather than deleting it.
It has the whole surface the canvas has: create a map, add ten topics under one branch, move a subtree somewhere else, rename, delete. Every call runs as you, against your maps, through the same checks the HTTP routes use — and the canvas picks the change up without a reload.
Every topic carries one markdown note in a floating window, and opening one never closes another. Written as source, read as rendered — the way a pull request description is. The windows you have open are in the URL, so a link restores the arrangement.
Model Context Protocol
Your own agent, on your own maps.
The tools the built-in assistant calls are served over MCP too — the same objects, a second transport. Point a client at the endpoint and sign in. There is no token to copy: the server registers the client itself and answers the first call with the challenge that starts the OAuth flow.
$ claude mcp add --transport http thinkclear \ https://app.thinkclear.xyz/api/mcp$ claude mcp login thinkclear Opening your browser to sign in… thinkclear connected · 11 toolsmindmaps:readRead your mindmaps and the topics inside them
- list_mindmaps
- read_mindmap
- read_topic_note
mindmaps:writeCreate, rename, reorganize, and delete maps and topics
- create_mindmap
- rename_mindmap
- delete_mindmap
- add_topics
- rename_topic
- move_topic
- delete_topics
- set_topic_note
Scopes are enforced by leaving tools out. A read-only token is served a tool list with no way to edit anything, so the agent never plans a call that was going to be refused — and a grant is taken back from your account, not from a config file.
The unglamorous half
The parts you only notice when they're missing.
Chat history is a real resource
Every turn is written as you send it, so a generation that fails or gets abandoned still leaves your question behind. Conversations are titled from the first message and sorted by the last one.
Every view is a URL
The open map, the panel, which notes are up and which of them is in front — all of it is in the address bar. Back works. Reload works. A pasted link puts somebody exactly where you were.
Your maps are yours
Every query is filtered by owner before it runs. Somebody else's mindmap and one that never existed come back as the same 404 — there is no route that reads a document by id alone.
How it works
Three steps, and none of them is setup.
- 1
Start a map
Or ask for one. Every map is born with a root topic, so there is always something to branch from and never an empty canvas to stare at.
- 2
Think out loud
Type into the canvas, or tell the assistant what you are working through and watch it lay out the branches. Whatever it adds, you can drag.
- 3
Bring your own agent
Connect Claude Code or Codex over MCP and keep working on the same maps from the terminal you were already in. Sign in once; there is no key.
Open source
Built in the open. Run it yourself.
The whole stack is one repository — the Nest API, the React canvas, the MCP server, and the deployment it runs on. The compose file brings that topology up in miniature on your machine, behind one origin, the way it answers in production.
Licensed AGPL-3.0, which means a modified copy running as a service owes its users the source. That clause is the reason for the license, not a side effect of it.
$ git clone https://github.com/RATCHAW/thinkclear.git$ docker compose --profile full up --build# web on :5173, api on :3000, one originQuestions
Before you sign up.
Do I need an API key to connect an agent?
No, and its absence is the point rather than a missing step. The server registers your client itself and answers its first call with the challenge that starts the OAuth flow — the client opens a browser, you approve the scopes on a consent screen, and it holds a token it refreshes on its own. Nothing to paste, nothing to rotate.
What happens on the canvas while an agent is editing?
It redraws. The editor tracks the version it drew from, and when the document comes back carrying an edit it did not make, it reseeds and drops whatever save it had pending — so an edit made from your terminal cannot be quietly overwritten by the autosave of a stale local graph.
Which model does the assistant use?
Whichever one the deployment points at. Models are reached through LLM Gateway and named vendor/model, so a self-hosted instance sets AI_CHAT_MODEL to whatever it wants to pay for — and LLM_GATEWAY_URL to its own gateway if it runs one.
Can I sign in with Google?
When the deployment has a Google app configured. Both halves of the credential have to be present or the provider is not registered and the button is not drawn — a button that 400s on press is worse than no button. Email and password always work, and signing in with Google at an address you already use joins that account rather than starting a second one.
What does it cost?
Nothing to sign up for, and there is no seat count. The source is AGPL-3.0, so the alternative is running it yourself, which costs you a container and a MongoDB and no license.
Get the thing out of your head.
Start a map, say what you are working through, and connect whatever agent you already have open.