- Home
- MCP servers
- Joplin
Joplin
- python
58
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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.
How to use
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.
How to install
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.
-
Install via Python package manager and start the server locally with a transport of your choice.
-
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.
Configuration and security
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.
Troubleshooting and tips
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.
Notes about usage patterns
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.
Example usage reminders
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.
Available tools
find_notes
Full-text search across notes with optional task filtering.
find_notes_with_tag
Find notes that contain a specific tag, with optional task filtering.
find_notes_in_notebook
Find notes within a specific notebook, with optional task filtering.
get_all_notes
Retrieve all notes, typically in reverse chronological order (disabled by default).
get_note
Retrieve a single note by its ID.
get_links
Extract links from a note to other notes.
create_note
Create a new note with content and metadata.
update_note
Update the content or metadata of an existing note.
delete_note
Delete a note permanently.
list_notebooks
List all notebooks for organization.
create_notebook
Create a new notebook.
update_notebook
Modify the title or properties of a notebook.
delete_notebook
Remove a notebook and its contents.
list_tags
List all available tags.
create_tag
Create a new tag.
update_tag
Modify an existing tag.
delete_tag
Delete a tag.
get_tags_by_note
List tags associated with a specific note.
tag_note
Add one or more tags to a note.
untag_note
Remove tags from a note.
import_from_file
Import files or directories (Markdown, HTML, CSV, TXT, JEX).
ping_joplin
Test connectivity to the Joplin API.