joplin-mcp
a Go MCP server that lets AI assistants read, search, and write into a Joplin notes vault — without touching the wrong note.
I keep almost everything in Joplin — meeting notes, project journals, half-formed essays. The shape of my brain lives there. So when MCP landed and Claude / Cursor / Windsurf could finally call into local servers, the first thing I wanted was a Joplin bridge.
The official Joplin app exposes a local HTTP API on 127.0.0.1:41184 once you flip on the Web Clipper service. That part is solved. The interesting work is the surface area: which operations should an AI agent be able to run, and how do you keep it from doing something stupid — like overwriting a six-year-old journal entry by name collision.
The server exposes the full surface area an agent might want — CRUD on notes, CRUD on folders, search and tag operations, and resource (binary attachment) read/write — plus batch variants for the cases where one-at-a-time would mean fifty round-trips. Every write op takes an explicit ID — no “find by title” magic that could match the wrong note.
why Go
Single-file binary, embeds nicely on macOS, and mcp-go has a clean enough surface that you can ship a working server in an afternoon. The repo has the full schema and a sample Claude Desktop config; install is brew tap wickes1/tap && brew install joplin-mcp.
what’s next
Resources, not just tools. MCP supports both, and folders-as-resources at joplin://folder/<id> would let agents attach a folder to context without manually pasting note bodies. That’s the v0.3 story.
// companion piece: joplin-mcp — Notes for AI Agents
// shipped on a Wickend, Apr 14, 2026