A server that enables access to Joplin notes and to-dos through the Model Context Protocol (MCP).
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.
Read text, metadata, and page count from PDF files securely within the project context.
Interact with the accounting data in your business using our official MCP server
Connect to the Taskade platform via MCP. Access tasks, projects, workflows, and AI agents in real-time through a unified workspace and API.
Interact with Planka, a Trello-like kanban board, to manage projects, boards, and cards. Requires Planka server URL and credentials.
Interact with Home Assistant to control smart home devices, query states, manage automations, and troubleshoot your smart home setup.
Access and manage your VISO TRUST third-party risk program directly through your AI assistant.
Interact with your Tmux sessions, windows and pane, execute commands in tmux panes and retrieve result.
Connects AI agents to the Feishu/Lark platform for automating tasks like document processing, conversation management, and calendar scheduling.
Marketing insights and audience analysis from Audiense reports, covering demographic, cultural, influencer, and content engagement analysis.
Automate your local browser