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
# Use verbose mode to see errors DEBUG=* npm start
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.