
Joplin
STDIOMCP server for Joplin note management with AI assistant integration
MCP server for Joplin note management with AI assistant integration
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.
# 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 .
Create a .env
file in the project directory:
JOPLIN_TOKEN=your_api_token_here
Install Claude Desktop
Configure MCP Server
{ "mcpServers": { "joplin": { "command": "/PATH/TO/UV/uv", "args": [ "--directory", "/PATH/TO/YOUR/PROJECT/joplin_mcp", "run", "src/mcp/joplin_mcp.py" ] } } }
/PATH/TO/UV/uv
with the absolute path to your uv installation
which uv
/Users/username/.local/bin/uv
C:\Users\username\AppData\Local\Microsoft\WindowsApps\uv.exe
/PATH/TO/YOUR/PROJECT/joplin_mcp
with the absolute path to your projectImportant: Claude Desktop needs the full path to uv
as it cannot access shell environment variables.
Search for notes in Joplin.
Parameters:
query
(string): Search querylimit
(int, optional): Maximum number of results (default: 100)Retrieve a specific note by its ID.
Parameters:
note_id
(string): ID of the noteCreate 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 itemUpdate 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 statusDelete a note.
Parameters:
note_id
(string): ID of note to deletepermanent
(boolean, optional): If true, permanently delete the noteImport a markdown file as a new note.
Parameters:
file_path
(string): Path to the markdown fileTo start the server in debug mode:
MCP_LOG_LEVEL=debug mcp dev src/mcp/joplin_mcp.py
This starts the MCP Inspector at http://localhost:5173 where you can test the tools.
MIT License - Copyright (c) 2025 David Weigend
David Weigend
Contributions, issues and feature requests are welcome! Visit the issues page.