Joplin
About
A Model Context Protocol (MCP) Server for https://joplinapp.org/ that enables note access through the https://modelcontextprotocol.io. Perfect for integration with AI assistants like Claude.
Details
- Author
- dweigend
- Repository
- dweigend/joplin-mcp-server
- GitHub stars
- 5
- License
- MIT License
- Categories
- Productivity, Other, Knowledge Base, Developer Tools, Design, File Management, AI, Search, API, Frontend, Security
- Tags
- #integration
Jump to
- 🔍 Search Notes: Full-text search across all notes
- 📚 List Notebooks: Browse available notebooks and sub-notebooks
- 🗂️ Create Notebooks: Create notebooks and nested sub-notebooks
- 📖 Read Notes: Retrieve individual notes
- ✏️ Edit Notes: Create new notes and update existing ones
- 🗑️ Delete Notes: Move notes to trash or delete permanently
- 📥 Markdown Import: Import markdown files as notes
- 🤖 AI Integration: Seamless integration with Claude and other MCP-capable AI assistants
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
JoplinCommand (node, npx, python, etc.)/PATH/TO/UV/uvArguments-
Argument 1
--directory -
Argument 2
/PATH/TO/YOUR/PROJECT/joplin_mcp -
Argument 3
run -
Argument 4
src/mcp/joplin_mcp.py
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
1. Install Claude Desktop
- Download Claude Desktop
- Ensure you have the latest version (Menu: Claude -> Check for Updates...)
2. Configure MCP Server
{
"mcpServers": {
"joplin": {
"command": "/PATH/TO/UV/uv",
"args": [
"--directory",
"/PATH/TO/YOUR/PROJECT/joplin_mcp",
"run",
"src/mcp/joplin_mcp.py"
]
}
}
}
- Replace
/PATH/TO/UV/uv with the absolute path to your uv installation- Find the path with:
which uv- Example macOS:
/Users/username/.local/bin/uv- Example Windows:
C:\Users\username\AppData\Local\Microsoft\WindowsApps\uv.exe- Replace
/PATH/TO/YOUR/PROJECT/joplin_mcp with the absolute path to your project
Important: Claude Desktop needs the full path to uv as it cannot access shell environment variables.
search_notes
Search for notes in Joplin. Parameters: query (string), limit (int, optional): Maximum number of results (default: 100)
get_note
Retrieve a specific note by its ID. Parameters: note_id (string): ID of the note
list_notebooks
List all available notebooks as a tree. Parameters: None
create_notebook
Create a new notebook. Parameters: title (string): Notebook title, parent_id (string, optional): Parent notebook ID, parent_notebook_name (string, optional): Parent notebook title or full path
create_note
Create a new note. Parameters: title (string): Note title, body (string, optional): Note content in Markdown, parent_id (string, optional): ID of parent folder, notebook_name (string, optional): Notebook title or full path such as Work/Projects, is_todo (boolean, optional): Whether this is a todo item
update_note
Update an existing note. Parameters: note_id (string): ID of note to update, title (string, optional): New title, body (string, optional): New content, parent_id (string, optional): New parent folder ID, notebook_name (string, optional): New notebook title or full path such as Work/Projects, is_todo (boolean, optional): New todo status
delete_note
Delete a note. Parameters: note_id (string): ID of note to delete, permanent (boolean, optional): If true, permanently delete the note
import_markdown
Import a markdown file as a new note. Parameters: file_path (string): Path to the markdown file, parent_id (string, optional): ID of parent folder, notebook_name (string, optional): Notebook title or full path such as Work/Projects
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"joplin": {
"cwd": null,
"env": {},
"args": [
"--directory",
"/PATH/TO/YOUR/PROJECT/joplin_mcp",
"run",
"src/mcp/joplin_mcp.py"
],
"shell": false,
"command": "/PATH/TO/UV/uv"
}
}
}
Linux
{
"cwd": null,
"env": [],
"args": [
"--directory",
"/PATH/TO/YOUR/PROJECT/joplin_mcp",
"run",
"src/mcp/joplin_mcp.py"
],
"shell": false,
"command": "/PATH/TO/UV/uv"
}
Macos
{
"cwd": null,
"env": [],
"args": [
"--directory",
"/PATH/TO/YOUR/PROJECT/joplin_mcp",
"run",
"src/mcp/joplin_mcp.py"
],
"shell": false,
"command": "/PATH/TO/UV/uv"
}
Windows
{
"cwd": null,
"env": [],
"args": [
"--directory",
"/PATH/TO/YOUR/PROJECT/joplin_mcp",
"run",
"src/mcp/joplin_mcp.py"
],
"shell": false,
"command": "/PATH/TO/UV/uv"
}
📝 Joplin MCP Server
A Model Context Protocol (MCP) Server for Joplin that enables note access through the Model Context Protocol. Perfect for integration with AI assistants like Claude.
✨ Features
- 🔍 Search Notes: Full-text search across all notes
- 📚 List Notebooks: Browse available notebooks and sub-notebooks
- 🗂️ Create Notebooks: Create notebooks and nested sub-notebooks
- 📖 Read Notes: Retrieve individual notes
- ✏️ Edit Notes: Create new notes and update existing ones
- 🗑️ Delete Notes: Move notes to trash or delete permanently
- 📥 Markdown Import: Import markdown files as notes
- 🤖 AI Integration: Seamless integration with Claude and other MCP-capable AI assistants
🚀 Installation
Prerequisites
- Python 3.10 or higher
- Joplin Desktop with Web Clipper Service enabled
- uv (Python package manager)
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





