Install
$ agentstack add mcp-dweigend-joplin-mcp-server ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
📝 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
🚀 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
``json { "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 - Replace
/PATH/TO/YOUR/PROJECT/joplin_mcpwith the absolute path to your project
Important: Claude Desktop needs the full path to uv as 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.py
This starts the MCP Inspector at http://localhost:5173 where you can test the tools.
📄 License
[MIT License](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.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: dweigend
- Source: dweigend/joplin-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.