Agents

Mindle exposes an MCP (Model Context Protocol) server so an agent can read your open files, see your annotations, and join the conversation.

What it is

Mindle runs a local Unix-socket MCP server while the app is open. The bundled mindle-mcp binary is a thin stdio shim that any MCP-aware client (Claude Code, Claude Desktop, Cursor, custom) can spawn to talk to Mindle.

Install

Claude Code

claude mcp add mindle /Applications/Mindle.app/Contents/MacOS/mindle-mcp

Restart Claude Code so it handshakes the new server.

Claude Desktop

Add this entry to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mindle": {
      "command": "/Applications/Mindle.app/Contents/MacOS/mindle-mcp"
    }
  }
}

Restart Claude Desktop.

Other MCP clients

Point the client at /Applications/Mindle.app/Contents/MacOS/mindle-mcp as an stdio MCP server. No arguments needed. The tool descriptions carry enough protocol guidance that vanilla agents run the collaboration loop without a custom skill.

Tools

ToolDirectionWhat it does
list_open_filesreadEvery file open in any Mindle window.
get_annotations(path)readAnnotations and threads on a file.
get_collaborators(path)readIdentity registry for a document.
open_file(path, focus_app?)writeOpen a file in Mindle (or activate an existing tab). Defaults to opening silently in the background.
create_annotation(path, text, prefix, suffix, note)writeOpen an agent-authored annotation on a passage.
comment_on_annotation(path, id, text)writeAppend a message to an annotation thread.
react_to_annotation(path, id, kind, message_id?)writeToggle a 👍 / ❤️ / 😄 reaction on an annotation or thread message.
clear_annotation(path, id, summary)writeMark an annotation done with a summary.
resolve_annotation(path, id, author?)writeMove an annotation to resolved.
assign_annotation(path, id, assignee)writeHand an annotation to a named collaborator.
wait_for_annotation_event(timeout_seconds, since_event_id)readLong-poll for the next user event (created / replied / deleted).

The server is read-only as far as the file system is concerned. File I/O stays in the agent's own tools — Mindle exposes only the annotation channel.

The collaboration loop

The intended pattern, with both Claude Code and Claude Desktop:

  1. Open the file in Mindle.
  2. Ask the agent: "watch my Mindle annotations and answer them".
  3. The agent calls wait_for_annotation_event in a loop.
  4. You annotate (⌘⇧N for a note, type, Return).
  5. The agent wakes within a second, reads the surrounding context via get_annotations, and either replies in the thread (comment_on_annotation) or edits the file with its own tools and clears the annotation (clear_annotation).

Agents can also originate annotations of their own with create_annotation — for example, to leave questions on a paper after a read-through.

Identity

Annotations and replies carry an author identifier. Human authors use the display name you set on first launch. Agent authors are recorded as agent, with an additional agent tag derived from the MCP client's clientInfo.name at handshake (for example, claude-code or cursor). The tag renders as a small monospace chip on every annotation, reply, and reaction the agent makes, so multiple agents working on the same document can be told apart.

Older mindle-mcp helpers that didn't send a tag still work — the chip is just omitted, and the annotation appears as a generic agent.

Privacy

← Back to Mindle