Hi everyone!
I wanted to share a project I've been working on — a Model Context Protocol server that connects AI assistants (Claude, Cursor, and any other MCP-compatible client) directly to your Joplin Server instance or Joplin Cloud.
GitHub: GitHub - Alexander-Zhukov/joplin-server-mcp: Simple mcp for joplin server
What it does
Once connected, your AI assistant can:
- Browse notebooks and notes
- Search across all your notes
- Read, create, update, and delete notes
- Manage tags
- Read and download attachments (images, files) embedded in notes
In short — your AI gets the same access to your knowledge base that you have yourself.
How it works
The server authenticates with Joplin Server via email/password and builds an in-memory index with a 2-minute TTL cache. Incremental sync compares server-side timestamps so refreshes are fast (~5s vs ~35s for a full rebuild). The index is persisted to disk, so container restarts are instant.
Getting started
The easiest way is Docker:
docker run -d \
-e JOPLIN_SERVER_URL=https://your-joplin-server.example.com \
-e JOPLIN_EMAIL=your@email.com \
-e JOPLIN_PASSWORD=your_password \
-p 8081:8081 \
alexfail2/joplin-mcp
Then point your MCP client to http://localhost:8081/sse.
Local stdio mode is also supported for direct integration with Cursor or Claude Desktop.
Remote deployment
You can also deploy the container on any VPS and expose it via a reverse proxy (nginx, Traefik, Caddy) with SSL. The MCP client config then just points to your remote HTTPS endpoint — works exactly the same way. Just make sure the endpoint isn't publicly open without protection, since it gives full read/write access to your notes.
Note: This connects to the Joplin Server REST API, not the Desktop Web Clipper. Joplin Cloud should work too (untested — feedback welcome!).
Happy to answer questions and hear feedback!