Skip to main content
Glama

Joplin MCP Server

by dweigend
README.md4.07 kB
# 📝 Joplin MCP Server A Model Context Protocol (MCP) Server for [Joplin](https://joplinapp.org/) that enables note access through the [Model Context Protocol](https://modelcontextprotocol.io). 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](https://joplinapp.org/) with Web Clipper Service enabled - [uv](https://github.com/astral-sh/uv) (Python package manager) ```bash # 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 1. Open Joplin Desktop 2. Go to Tools -> Options -> Web Clipper 3. Enable the Web Clipper Service 4. Copy the API Token Create a `.env` file in the project directory: ```bash JOPLIN_TOKEN=your_api_token_here ``` ### Claude Desktop Setup 1. **Install Claude Desktop** - Download [Claude Desktop](https://claude.ai/download) - Ensure you have the latest version (Menu: Claude -> Check for Updates...) 2. **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/uv` with 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_mcp` with 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 query - `limit` (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 title - `body` (string, optional): Note content in Markdown - `parent_id` (string, optional): ID of parent folder - `is_todo` (boolean, optional): Whether this is a todo item ### update_note Update an existing note. **Parameters:** - `note_id` (string): ID of note to update - `title` (string, optional): New title - `body` (string, optional): New content - `parent_id` (string, optional): New parent folder ID - `is_todo` (boolean, optional): New todo status ### delete_note Delete a note. **Parameters:** - `note_id` (string): ID of note to delete - `permanent` (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: ```bash 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](https://weigend.studio) * GitHub: [@dweigend](https://github.com/dweigend) ## 🤝 Contributing Contributions, issues and feature requests are welcome! Visit the [issues page](https://github.com/dweigend/joplin-mcp/issues).

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dweigend/joplin-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server