Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Joplin MCP Serversearch for meeting notes about the Q3 project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π 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
π 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
Related MCP server: MCP Kibela
π Installation
Prerequisites
Python 3.10 or higher
Joplin Desktop with Web Clipper Service enabled
uv (Python package manager)
# Clone repository
git clone https://github.com/dweigend/joplin-mcp.git
cd joplin-mcp
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
```bash
uv pip install -e .βοΈ Configuration
Joplin API Token
Open Joplin Desktop
Go to Tools -> Options -> Web Clipper
Enable the Web Clipper Service
Copy the API Token
Create a .env file in the project directory:
JOPLIN_TOKEN=your_api_token_hereClaude Desktop Setup
Install Claude Desktop
Download Claude Desktop
Ensure you have the latest version (Menu: Claude -> Check for Updates...)
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/uvwith the absolute path to your uv installationFind the path with:
which uvExample macOS:
/Users/username/.local/bin/uvExample Windows:
C:\Users\username\AppData\Local\Microsoft\WindowsApps\uv.exe
Replace
/PATH/TO/YOUR/PROJECT/joplin_mcpwith the absolute path to your project
Important: Claude Desktop needs the full path to
uvas it cannot access shell environment variables.
π οΈ Available Tools
search_notes
Search for notes in Joplin.
Parameters:
query(string): Search querylimit(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
create_note
Create a new note.
Parameters:
title(string): Note titlebody(string, optional): Note content in Markdownparent_id(string, optional): ID of parent folderis_todo(boolean, optional): Whether this is a todo item
update_note
Update an existing note.
Parameters:
note_id(string): ID of note to updatetitle(string, optional): New titlebody(string, optional): New contentparent_id(string, optional): New parent folder IDis_todo(boolean, optional): New todo status
delete_note
Delete a note.
Parameters:
note_id(string): ID of note to deletepermanent(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
π§ͺ Development
Debug Mode
To start the server in debug mode:
MCP_LOG_LEVEL=debug mcp dev src/mcp/joplin_mcp.pyThis starts the MCP Inspector at http://localhost:5173 where you can test the tools.
π License
MIT License - Copyright (c) 2025 David Weigend
π€ Author
David Weigend
Website: weigend.studio
GitHub: @dweigend
π€ Contributing
Contributions, issues and feature requests are welcome! Visit the issues page.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.