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.
Interact with the HubSpot CRM API to manage contacts, companies, and deals.
Analyze and visualize data from .xlsx and .csv files using matplotlib and plotly.
Add smart Backup ability to coding agents like Windsurf, Cursor, Cluade Coder, etc
Integrates Amoga Studio with Claude Desktop for enhanced productivity and communication.
Talk with your Apple Notes
A simple, self-contained notes system with resources, tools, and prompts, implemented as an MCP server.
AI-powered regulatory compliance checking for financial marketing content across multiple jurisdictions.
An advanced MCP server for intelligent conversation context management and session continuity, requiring the Claude Desktop application and a Node.js environment.
Generates PowerPoint presentations (PPTs) based on specified topics using the Gezhe API.
An MCP server for interacting with various services like Slack, Harvest, and GitHub to manage activities and data.