README Documentation
Jopmcp
Jopmcp is a MCP server for Joplin, a note-taking and to-do application with synchronization capabilities. My implementation of this MCP is largely inspired by this one, but adapted to my needs. In particular:
- Docker is used to run the server (I run all my MCPs in Docker).
- It supports paths:
Notebook > Subnotebook > Note Title
, so the LLM understand the hierarchy of notes.
I felt the need to implement this MCP myself because Joplin is an essential tool for me (storing very sensitive data) so I wanted to have full control over the implementation of the MCP.
Run in docker-compose
I normally run all my MCPs in Docker. I have a docker-compose.yml
file
somewhere that spins up all my MCPs. To run this MCP, follow these steps:
-
Configure Joplin
- Open Joplin Desktop → Tools → Options → Web Clipper
- Enable the Web Clipper service
- Copy the Authorization token
-
Set the environment variable
JOPLIN_TOKEN
with the token you copied from Joplin. You can do this in your shell or in a.env
file. -
Build the
jopmcp
image:make pkg
-
Run the MCP with
docker-compose up -d
services:
joplin:
image: jopmcp:latest
container_name: jopmcp
network_mode: "host"
environment:
- JOPLIN_TOKEN=${JOPLIN_TOKEN}
- MCP_PORT=8002
The network mode needs to be set to host
so that the MCP can access the Joplin
web clipper API, running on localhost:41184 by default. If you're running the
web clipper on a different port, you can set the JOPLIN_WEB_CLIPPER_URL
env
var.