Provides comprehensive note and notebook management capabilities through Joplin's Web Clipper API, including searching, creating, reading, deleting, and moving notes and notebooks, as well as scanning for uncompleted todo items.
MCP Joplin Server
A Model Context Protocol (MCP) server that integrates with Joplin notes, allowing AI clients (like Perplexity) to access and manipulate your notebooks and notes through Joplin's Web Clipper API.
Features
- 🔍 Search Functionality: Search notes and notebooks
- 📖 Content Reading: Get complete content of specific notes
- 📝 Creation Features: Create new notes and notebooks
- 🗑️ Deletion Features: Delete notes and notebooks (supports trash or permanent deletion)
- 🔄 Move Functionality: Move notes to different notebooks
- 📋 List Functionality: List all notebooks and notes within specific notebooks
Requirements
- Joplin Desktop - Ensure it's installed and running
- Node.js 18+ - Required to run the MCP server
- Web Clipper Enabled - Enable Web Clipper service in Joplin
Installation & Setup
1. Enable Joplin Web Clipper
- Open Joplin desktop application
- Go to Tools → Options → Web Clipper
- Check Enable Web Clipper Service
- Note the port number displayed (usually 41184)
- Copy the API Token (if authentication is required)
2. Install MCP Joplin Server
3. Test Execution
4. Using npx
MCP Client Configuration
Configure Perplexity or other MCP clients
Add the following configuration to your MCP client configuration file:
🔐 Configuration (API Token Required)
This MCP server requires a Joplin API token to function properly:
💡 Important: The API token is required for this MCP server to work properly.
Claude Desktop Configuration Example
Claude Desktop Configuration
In ~/Library/Application Support/Claude/claude_desktop_config.json
:
Available MCP Tools
1. get_note_content
Get the complete content of a specific note
2. search_notes
Search for notes
3. search_notebooks
Search for notebooks
4. list_notebooks
List all notebooks
5. list_notes
List notes in a specific notebook
5.1. list_sub_notebooks
List sub-notebooks within a specific notebook
6. create_note
Create a new note
7. create_notebook
Create a new notebook
8. delete_note
Delete a note
9. delete_notebook
Delete a notebook
10. move_note
Move a note to a different notebook
11. list_sub_notebooks
List sub-notebooks within a specific notebook
12. scan_unchecked_items
Scan notebooks and sub-notebooks for uncompleted todo items (- [ ])
Usage Examples
Conversation examples in AI clients:
Troubleshooting
Connection Issues
- Confirm Joplin is running
- Joplin desktop application must remain open
- Check Web Clipper settings
- Ensure Web Clipper service is enabled
- Check port settings (default 41184)
- View error messages
Common Errors
- "Joplin Web Clipper service not found": Ensure Joplin is running and Web Clipper is enabled
- "Connection refused": Check if port settings are correct
- "Unauthorized" or "403 Forbidden": API token is required (see instructions below)
🔑 API Token Required
API Token is required for this MCP server to function properly.
Getting an API Token
- In Joplin go to Tools → Options → Web Clipper
- Copy the displayed token
- Add
--token YOUR_TOKEN
to the startup command
Development
Technical Architecture
- Language: TypeScript/Node.js
- MCP SDK: @modelcontextprotocol/sdk
- HTTP Client: axios
- CLI: commander
- API: Joplin Web Clipper API
Technical Details
- Notebook Search: Due to limitations in Joplin's search API for folder searches, we use client-side filtering to implement notebook search functionality
- Pagination Handling: Automatically handles Joplin API's pagination mechanism (default 100 items per page), ensuring complete notebook and note lists are retrieved, solving the issue of incomplete sub-notebook display
- Error Handling: Complete error handling mechanism, including Joplin API errors and network connection errors
- Auto-detection: Supports automatic detection of Joplin Web Clipper port (41184-41194)
License
MIT License
Contributing
Issues and Pull Requests are welcome!
Support
If you encounter problems, please:
- Check if Joplin Web Clipper is running normally
- Review error messages and logs
- Submit an Issue with detailed error information
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables AI clients to interact with Joplin notes through the Web Clipper API. Supports searching, reading, creating, deleting, and organizing notes and notebooks, plus scanning for uncompleted todo items.