Joplin

by dweigend

5 Not rated yet MIT
GitHub

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

Repository
dweigend/joplin-mcp-server
License
MIT

Explore

- 🔍 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Joplin
    Command (node, npx, python, etc.) /PATH/TO/UV/uv
    Arguments
    • 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.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Prerequisites

- Python 3.10 or higher
- Joplin Desktop with Web Clipper Service enabled
- uv (Python package manager)


Install Dependencies

bash
uv pip install -e .

Create And Activate Virtual Environment

uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

Claude Desktop Setup

1. Install Claude Desktop
- Download Claude Desktop
- Ensure you have the latest version (Menu: Claude -> Check for Updates...)

2. Configure MCP Server

json
{
"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.

Author

David Weigend

Website: weigend.studio
GitHub: @dweigend

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"
}

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.