Search, read, create, edit and sync Joplin notes and notebooks via a headless Joplin sidecar.
Connect Runs on your machine
claude mcp add joplin-mcp-server -e JOPLIN_TOKEN=<JOPLIN_TOKEN> -e JOPLIN_HOST=<JOPLIN_HOST> -e JOPLIN_PORT=<JOPLIN_PORT> -e JOPLIN_PROFILE=<JOPLIN_PROFILE> -e JOPLIN_CLI=<JOPLIN_CLI> -e JOPLIN_SYNC_TARGET=<JOPLIN_SYNC_TARGET> -e JOPLIN_SYNC_PATH=<JOPLIN_SYNC_PATH> -e JOPLIN_SYNC_USERNAME=<JOPLIN_SYNC_USERNAME> -e JOPLIN_SYNC_PASSWORD=<JOPLIN_SYNC_PASSWORD> -e JOPLIN_SYNC_REGION=<JOPLIN_SYNC_REGION> -e JOPLIN_SYNC_ENDPOINT=<JOPLIN_SYNC_ENDPOINT> -e JOPLIN_SYNC_FORCE_PATH_STYLE=<JOPLIN_SYNC_FORCE_PATH_STYLE> -e LOG_LEVEL=<LOG_LEVEL> -- npx -y [email protected]
{
"mcpServers": {
"joplin-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"JOPLIN_TOKEN": "<JOPLIN_TOKEN>",
"JOPLIN_HOST": "<JOPLIN_HOST>",
"JOPLIN_PORT": "<JOPLIN_PORT>",
"JOPLIN_PROFILE": "<JOPLIN_PROFILE>",
"JOPLIN_CLI": "<JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
{
"mcpServers": {
"joplin-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"JOPLIN_TOKEN": "<JOPLIN_TOKEN>",
"JOPLIN_HOST": "<JOPLIN_HOST>",
"JOPLIN_PORT": "<JOPLIN_PORT>",
"JOPLIN_PROFILE": "<JOPLIN_PROFILE>",
"JOPLIN_CLI": "<JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
{
"servers": {
"joplin-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"JOPLIN_TOKEN": "<JOPLIN_TOKEN>",
"JOPLIN_HOST": "<JOPLIN_HOST>",
"JOPLIN_PORT": "<JOPLIN_PORT>",
"JOPLIN_PROFILE": "<JOPLIN_PROFILE>",
"JOPLIN_CLI": "<JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
JOPLIN_TOKENOptional, secret | Joplin API token, for external mode only (see JOPLIN_HOST). Sidecar mode manages its own token and ignores this. |
JOPLIN_HOSTOptional | Connect to an existing Joplin instance at this host instead of running a sidecar |
JOPLIN_PORTOptional | Port of the existing Joplin instance (default: 41184) |
JOPLIN_PROFILEOptional | Joplin data directory for sidecar mode (default: ~/.config/joplin-mcp) |
JOPLIN_CLIOptional | Path to the joplin CLI binary, overriding auto-detection |
JOPLIN_SYNC_TARGETOptional | Sync target: none, filesystem, webdav, nextcloud, joplin-cloud, joplin-server, s3, dropbox, onedrive (default: none) |
JOPLIN_SYNC_PATHOptional | Sync target URL or path; the bucket name for the s3 target |
JOPLIN_SYNC_USERNAMEOptional | Sync username or email; the access key for the s3 target |
JOPLIN_SYNC_PASSWORDOptional, secret | Sync password; the secret key for the s3 target |
JOPLIN_SYNC_REGIONOptional | S3 region (default: us-east-1) |
JOPLIN_SYNC_ENDPOINTOptional | S3 endpoint URL for non-AWS providers such as Backblaze B2, MinIO, R2 or Wasabi (default: https://s3.amazonaws.com/) |
JOPLIN_SYNC_FORCE_PATH_STYLEOptional | Use path-style S3 URLs, which self-hosted providers such as MinIO usually require: true or false (default: false) |
LOG_LEVELOptional | Log verbosity: debug, info, warn or error (default: info) |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 31 Aug 2026 |
| Last updated | 31 Aug 2026 |
| Registry name | io.github.jordanburke/joplin-mcp-server |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
