joplin-mcp-server
Rank #9,349io.github.jordanburke/joplin-mcp-server
Search, read, create, edit and sync Joplin notes and notebooks via a headless Joplin sidecar.
What you can do with joplin-mcp-server
joplin-mcp-server is a Model Context Protocol (MCP) server published by jordanburke. It ranks #9,349 of 144,396 active servers on MCP Toplist, and its repository has 7 GitHub stars. joplin-mcp-server is listed across 3 registries — Official MCP, Glama and PulseMCP, with 1 tracked version. It was first listed on Jun 8, 2025 and most recently updated on Aug 31, 2026.
Not verifiedMCP Toplist has not yet written a checked profile for this server, so the paragraph above is assembled from registry data only. The repository README is the authority on what it does.
What joplin-mcp-server can and cannot do
Not verifiedMCP Toplist has not catalogued this server's tools or limitations. The repository README lists them.
What you need before using joplin-mcp-server
The registry listing declares no required environment variables or authentication. This is declared metadata, not a verified install — the repository README is the authority.
Declared by the Official MCP Registry, last synced Oct 16, 2026. Not independently verified by MCP Toplist.
- JOPLIN_TOKEN · optional
- JOPLIN_HOST · optional
- JOPLIN_PORT · optional
- JOPLIN_PROFILE · optional
- JOPLIN_CLI · optional
- JOPLIN_SYNC_TARGET · optional
- JOPLIN_SYNC_PATH · optional
- JOPLIN_SYNC_USERNAME · optional
- JOPLIN_SYNC_PASSWORD · optional
- JOPLIN_SYNC_REGION · optional
- JOPLIN_SYNC_ENDPOINT · optional
- JOPLIN_SYNC_FORCE_PATH_STYLE · optional
- LOG_LEVEL · optional
Connect joplin-mcp-server and confirm it works
claude mcp add joplin-mcp-server -e "JOPLIN_TOKEN=<your JOPLIN_TOKEN>" -e "JOPLIN_HOST=<your JOPLIN_HOST>" -e "JOPLIN_PORT=<your JOPLIN_PORT>" -e "JOPLIN_PROFILE=<your JOPLIN_PROFILE>" -e "JOPLIN_CLI=<your JOPLIN_CLI>" -e "JOPLIN_SYNC_TARGET=<your JOPLIN_SYNC_TARGET>" -e "JOPLIN_SYNC_PATH=<your JOPLIN_SYNC_PATH>" -e "JOPLIN_SYNC_USERNAME=<your JOPLIN_SYNC_USERNAME>" -e "JOPLIN_SYNC_PASSWORD=<your JOPLIN_SYNC_PASSWORD>" -e "JOPLIN_SYNC_REGION=<your JOPLIN_SYNC_REGION>" -e "JOPLIN_SYNC_ENDPOINT=<your JOPLIN_SYNC_ENDPOINT>" -e "JOPLIN_SYNC_FORCE_PATH_STYLE=<your JOPLIN_SYNC_FORCE_PATH_STYLE>" -e "LOG_LEVEL=<your LOG_LEVEL>" -- npx -y joplin-mcp-serverReplace each placeholder with your own value before saving.
[mcp_servers.joplin-mcp-server]
command = "npx"
args = ["-y", "joplin-mcp-server"]
[mcp_servers.joplin-mcp-server.env]
JOPLIN_TOKEN = "<your JOPLIN_TOKEN>"
JOPLIN_HOST = "<your JOPLIN_HOST>"
JOPLIN_PORT = "<your JOPLIN_PORT>"
JOPLIN_PROFILE = "<your JOPLIN_PROFILE>"
JOPLIN_CLI = "<your JOPLIN_CLI>"
JOPLIN_SYNC_TARGET = "<your JOPLIN_SYNC_TARGET>"
JOPLIN_SYNC_PATH = "<your JOPLIN_SYNC_PATH>"
JOPLIN_SYNC_USERNAME = "<your JOPLIN_SYNC_USERNAME>"
JOPLIN_SYNC_PASSWORD = "<your JOPLIN_SYNC_PASSWORD>"
JOPLIN_SYNC_REGION = "<your JOPLIN_SYNC_REGION>"
JOPLIN_SYNC_ENDPOINT = "<your JOPLIN_SYNC_ENDPOINT>"
JOPLIN_SYNC_FORCE_PATH_STYLE = "<your JOPLIN_SYNC_FORCE_PATH_STYLE>"
LOG_LEVEL = "<your LOG_LEVEL>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"joplin-mcp-server": {
"command": "npx",
"args": [
"-y",
"joplin-mcp-server"
],
"env": {
"JOPLIN_TOKEN": "<your JOPLIN_TOKEN>",
"JOPLIN_HOST": "<your JOPLIN_HOST>",
"JOPLIN_PORT": "<your JOPLIN_PORT>",
"JOPLIN_PROFILE": "<your JOPLIN_PROFILE>",
"JOPLIN_CLI": "<your JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<your JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<your JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<your JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<your JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<your JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<your JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<your JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<your LOG_LEVEL>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"joplin-mcp-server": {
"command": "npx",
"args": [
"-y",
"joplin-mcp-server"
],
"env": {
"JOPLIN_TOKEN": "<your JOPLIN_TOKEN>",
"JOPLIN_HOST": "<your JOPLIN_HOST>",
"JOPLIN_PORT": "<your JOPLIN_PORT>",
"JOPLIN_PROFILE": "<your JOPLIN_PROFILE>",
"JOPLIN_CLI": "<your JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<your JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<your JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<your JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<your JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<your JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<your JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<your JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<your LOG_LEVEL>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"joplin-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"joplin-mcp-server"
],
"env": {
"JOPLIN_TOKEN": "<your JOPLIN_TOKEN>",
"JOPLIN_HOST": "<your JOPLIN_HOST>",
"JOPLIN_PORT": "<your JOPLIN_PORT>",
"JOPLIN_PROFILE": "<your JOPLIN_PROFILE>",
"JOPLIN_CLI": "<your JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<your JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<your JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<your JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<your JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<your JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<your JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<your JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<your LOG_LEVEL>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"joplin-mcp-server": {
"command": "npx",
"args": [
"-y",
"joplin-mcp-server"
],
"env": {
"JOPLIN_TOKEN": "<your JOPLIN_TOKEN>",
"JOPLIN_HOST": "<your JOPLIN_HOST>",
"JOPLIN_PORT": "<your JOPLIN_PORT>",
"JOPLIN_PROFILE": "<your JOPLIN_PROFILE>",
"JOPLIN_CLI": "<your JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<your JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<your JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<your JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<your JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<your JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<your JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<your JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<your LOG_LEVEL>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"joplin-mcp-server": {
"command": "npx",
"args": [
"-y",
"joplin-mcp-server"
],
"env": {
"JOPLIN_TOKEN": "<your JOPLIN_TOKEN>",
"JOPLIN_HOST": "<your JOPLIN_HOST>",
"JOPLIN_PORT": "<your JOPLIN_PORT>",
"JOPLIN_PROFILE": "<your JOPLIN_PROFILE>",
"JOPLIN_CLI": "<your JOPLIN_CLI>",
"JOPLIN_SYNC_TARGET": "<your JOPLIN_SYNC_TARGET>",
"JOPLIN_SYNC_PATH": "<your JOPLIN_SYNC_PATH>",
"JOPLIN_SYNC_USERNAME": "<your JOPLIN_SYNC_USERNAME>",
"JOPLIN_SYNC_PASSWORD": "<your JOPLIN_SYNC_PASSWORD>",
"JOPLIN_SYNC_REGION": "<your JOPLIN_SYNC_REGION>",
"JOPLIN_SYNC_ENDPOINT": "<your JOPLIN_SYNC_ENDPOINT>",
"JOPLIN_SYNC_FORCE_PATH_STYLE": "<your JOPLIN_SYNC_FORCE_PATH_STYLE>",
"LOG_LEVEL": "<your LOG_LEVEL>"
}
}
}
}Replace each placeholder with your own value before saving.
After adding the config, ask your client to list this server's tools. A tool list confirms the connection; an empty list or an error means the server did not start or needs credentials.
When to choose another server
- Reddit MCP Server#671
- Microsoft To Do MCP#15,693
- DuckPond MCP Server#20,229
- temporal-mcp-server#22,221
- ssh-client-mcp-server#28,624
- KuzuDB Server#37,177
- oura-ring-mcp-server#60,270
- dakboard-mcp-server#118,600
No task-specific alternatives are catalogued for joplin-mcp-serveryet; the list above is its publisher's other servers.
What changed, and when this was checked
- First listed
- Jun 8, 2025
- Latest version published
- Aug 31, 2026
- Version history
- 1 version tracked (below)
- Requirements evidence
- Declared by the Official MCP Registry, last synced Oct 16, 2026. Not independently verified by MCP Toplist.
- Profile checked
- Not yet — purpose, capabilities and requirements above come from registry data only
- Ranking data as of
- Oct 16, 2026
- Glama ↗listed since Apr 26, 2026 · still listed
- PulseMCP ↗listed since Jun 4, 2026 · still listed
- Official MCP ↗listed since Aug 31, 2026 · still listed
Do you maintain joplin-mcp-server? to correct or enrich this profile.
Available versions (1)
| Version | Published |
|---|---|
| 2.3.3 | Aug 31, 2026 |
Ranks ahead of 135,047 of 144,396 servers on MCP Toplist.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.jordanburke%2Fjoplin-mcp-server)<a href="https://mcptoplist.com/server/io.github.jordanburke%2Fjoplin-mcp-server"><img src="https://mcptoplist.com/badge/io.github.jordanburke%2Fjoplin-mcp-server.svg" alt="MCP Toplist: Top 10% of 144,396" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Frequently asked questions
- Who maintains joplin-mcp-server?
- joplin-mcp-server is maintained by jordanburke, which publishes 9 MCP servers (32 total versions) tracked on MCP Toplist.
- Is joplin-mcp-server listed on the Official MCP Registry?
- Yes — joplin-mcp-server is listed on the Official MCP Registry, alongside Glama and PulseMCP.
- How many versions does joplin-mcp-server have?
- MCP Toplist tracks 1 version of joplin-mcp-server, most recently published on Aug 31, 2026.
- Where can I find the source code for joplin-mcp-server?
- The source code for joplin-mcp-server is hosted at github.com/jordanburke/joplin-mcp-server.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.