Four ways to read, one way to write
The asymmetry is deliberate. Reading is cheap and reversible; writing into somebody's own memory is neither, so there's exactly one write and it's the one that announces itself.
Every chat starts the same way: five minutes explaining the project again. Khint keeps that context as a work session on your Mac, and Claude Desktop reads it live over MCP.
get_active_context returns the working state of the session you're in at the moment Claude calls it. Nothing was pasted, nothing was synced, and the answer moves with your day rather than with a nightly index.
An MCP connector that syncs your documents into a chat is a different product. This one exposes the thing a chat genuinely can't know, and it does it with four reads, one write, and a notification on every write.
The asymmetry is deliberate. Reading is cheap and reversible; writing into somebody's own memory is neither, so there's exactly one write and it's the one that announces itself.
Flip the toggle and Khint edits claude_desktop_config.json itself. The khint-mcp binary already ships inside the app, so there's nothing to install and no path to paste. Then quit Claude properly and reopen it: connectors load at startup.
When Claude appends a conclusion to your session, an OS notification fires and the write lands in an audit log next to the token file. No silent injection into your own memory.
Turning the toggle back off takes Khint out of Claude's config. There's no residual process, nothing left listening, and nothing to clean up by hand.
Handing an AI client a way into your own memory is only reasonable if the door is narrow. This one exposes sessions and nothing else, and it's structurally local: there's no cloud copy to reach.
Security and privacyThere's nothing to copy. Khint writes Claude Desktop's config file for you and the binary is already inside the app.
Khint adds itself to claude_desktop_config.json for you. The khint-mcp binary ships inside the app, so there's nothing to install and no path to paste.
Cmd+Q, not just closing the window. Claude loads its connectors at startup, so a running instance won't see Khint until it restarts.
"What was I working on in Khint?" Claude calls get_active_context and answers with your real session rather than a guess.
Ask Claude to save a conclusion into your session and it lands as an entry your Khint agents will read next. Khint raises a notification each time that happens.
An integration is where work comes in and goes out. These three are what happens in between.
Your Khint work sessions: the list of them, one session by id, the live compacted state of the active one, and a search across their entries. Nothing else. It can't see your action history, your connected tools, your credentials or your files, and a Jira issue only appears if you pulled it into a session yourself.
No. Flipping the toggle writes claude_desktop_config.json for you, and the khint-mcp binary ships inside the app. The only manual step is restarting Claude Desktop, because it loads connectors at startup. The manual route is documented on the MCP server page if you would rather do it yourself.
It can append an entry to your active session, and that's the only write. It goes through a local loopback server with bearer-token auth and a 60-per-minute rate limit, raises an OS notification, and is recorded in an audit log. The four read tools use a read-only database handle, so nothing else Claude does can alter anything.
No. The client talks to the binary over stdio, and the binary talks back to the running app over 127.0.0.1. Memory sessions are local-only by design and are never synced to Khint's servers, so there's no copy anywhere for a connector to reach.
Yes, with a manual config: any MCP-compatible client can point at the bundled khint-mcp binary and get the same five tools. Khint writes the config automatically for Claude Desktop and Codex only because those are the two it knows the file format of.
Free with 300 credits a month. No credit card. macOS 13+ or Windows 10 22H2+.