home / mcp / joplin mcp server
Provides a FastMCP-based interface to manage Joplin notes, notebooks, and tags via the Python API for AI assistants.
Configuration
View docs{
"mcpServers": {
"alondmnt-joplin-mcp": {
"command": "uvx",
"args": [
"--from",
"joplin-mcp",
"joplin-mcp-server"
],
"env": {
"JOPLIN_HOST": "localhost",
"JOPLIN_PORT": "41184",
"JOPLIN_TOKEN": "YOUR_TOKEN_HERE",
"JOPLIN_TIMEOUT": "30"
}
}
}
}You can run a FastMCP-based server that exposes Joplin data through a consistent API, letting AI assistants read, create, update, and organize notes, notebooks, and tags via the Joplin Python API. This server streamlines interactions with your Joplin data while offering configurable security and transport options.
Once the MCP server is running, connect your MCP-compatible AI client to it using one of the provided transport options. You can operate with a local (stdio) server, running commands directly on your machine, or you can run an HTTP transport that exposes the API over a web port. Practical tasks include listing notebooks, finding notes by text or tag, creating notes and tags, updating content, and importing files. The server exposes a rich set of tools to cover common note-taking workflows, including finding, creating, updating, tagging, and linking notes.
To get started quickly, ensure your client is configured with the correct MCP server endpoint, then issue natural language prompts or structured requests supported by your client. For example, you can ask to list notebooks, search notes about a topic, or tag a group of notes. The server enforces security levels so you can allow read-only access or enable create, update, or delete permissions as needed.
Prerequisites: Python is installed on your system. You may also use a zero-install tool runner such as uv to simplify setup. You will run one of several installation paths depending on your preferred client.
1) Install via Python package manager and start the server locally with a transport of your choice.
2) If you prefer an automated setup for Claude Desktop or similar clients, follow the cross‑tool installation steps outlined in the setup options to configure Joplin access and MCP server permissions.
Configure access tokens and tool permissions to control what the AI can do. You can keep read access enabled by default and selectively enable write, update, and delete operations for notes, notebooks, and tags. You also control which actions the AI can perform through a tools configuration block.
Environment variables can be used to supply sensitive tokens, such as your Joplin API token. For example, you can provide your token via a JOPLIN_TOKEN variable when starting the server from a local CLI or within a container environment.
If you encounter connectivity issues, verify the token and host settings, ensure the MCP service is listening on the expected port, and confirm the transport configuration matches your client. When running in HTTP mode, place the server behind a reverse proxy with TLS termination to protect traffic.
For development or testing, you can run the server with STDIO transport for local interaction, or run an HTTP transport to expose endpoints for browsing and testing from clients. Always restart your client after changing permissions or tokens.
Use search and filter capabilities to quickly locate notes, tags, or notebooks. Build workflows that create daily notes, tag groupings for projects, or organize notes by notebooks to reflect your personal structure.
Ask your AI to list notebooks, find notes with a specific tag, create a new note for a meeting, or tag recent notes with a chosen label. The server supports the full range of finding, creating, updating, deleting, and organizing content through the exposed tools.
Full-text search across notes with optional task filtering.
Find notes that contain a specific tag, with optional task filtering.
Find notes within a specific notebook, with optional task filtering.
Retrieve all notes, typically in reverse chronological order (disabled by default).
Retrieve a single note by its ID.
Extract links from a note to other notes.
Create a new note with content and metadata.
Update the content or metadata of an existing note.
Delete a note permanently.
List all notebooks for organization.
Create a new notebook.
Modify the title or properties of a notebook.
Remove a notebook and its contents.
List all available tags.
Create a new tag.
Modify an existing tag.
Delete a tag.
List tags associated with a specific note.
Add one or more tags to a note.
Remove tags from a note.
Import files or directories (Markdown, HTML, CSV, TXT, JEX).
Test connectivity to the Joplin API.