Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
MCP server for Joplin notes
This project exposes Joplin through the Model Context Protocol so an AI assistant can work with your notes directly. It supports search, notebook browsing, note creation and editing, deletion, and markdown import.
Builders who want Claude or another MCP client to read and manage Joplin notes.
You can ask your agent to use your Joplin notebook as live context instead of manually moving notes around.
What it does
Search notes
Full-text search across notes with a query and optional result limit.
Browse notebooks
Lists notebooks and sub-notebooks as a tree.
Create and update notes
Creates new notes, edits existing notes, and supports todo status and notebook placement.
Delete notes
Moves notes to trash or deletes them permanently.
Import markdown
Imports a markdown file as a new note in a chosen notebook.
Claude and MCP support
Runs as an MCP server for Claude Desktop and other MCP-capable assistants.
How to get it
- 1Create a .env file in the project directory
JOPLIN_TOKEN=your_api_token_here
- 2To start the server in debug mode
MCP_LOG_LEVEL=debug mcp dev src/mcp/joplin_mcp.py
README
π 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
- π 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)
# 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_here
Claude 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 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
- Find the path with:
- 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. - Replace
π οΈ 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
list_notebooks
List all available notebooks as a tree.
Parameters:
- None
create_notebook
Create a new notebook.
Parameters:
title(string): Notebook titleparent_id(string, optional): Parent notebook IDparent_notebook_name(string, optional): Parent notebook title or full path
create_note
Create a new note.
Parameters:
title(string): Note titlebody(string, optional): Note content in Markdownparent_id(string, optional): ID of parent foldernotebook_name(string, optional): Notebook title or full path such asWork/Projectsis_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 IDnotebook_name(string, optional): New notebook title or full path such asWork/Projectsis_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 fileparent_id(string, optional): ID of parent foldernotebook_name(string, optional): Notebook title or full path such asWork/Projects
π§ͺ Development
Debug Mode
To 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.
π 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.
Files in the repo
- src
- tests
- .env.example
- .gitignore
- joplin-mcp
- LICENSE
- pyproject.toml
- README.md
- uv.lock
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors

Universal provider proxy for OpenAI Codex & Claude Code β use any LLM (Claude, Gemini, Grok, DeepSeek, Ollamaβ¦) with Codex CLI, App, SDK, and Claude Code
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300Β΅s in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
Open-source auth gateway connecting 1400+ SaaS providers to AI agents through SDK, CLI, MCP, HTTP, and OpenAPI.
Open-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.