Skip to main content
Glama
johnsarie27

joplin-mcp

by johnsarie27

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JOPLIN_HOSTNoJoplin Web Clipper host.localhost
JOPLIN_PORTNoJoplin Web Clipper port.41184
JOPLIN_TOKENYesAuth token from Joplin Web Clipper. Required for access.
JOPLIN_ALLOWED_NOTEBOOKSNoComma-separated list of notebook IDs or names. If unset, tools refuse to operate. Use '*' to allow all.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_notesC

Search Joplin notes by keyword. Returns matching note titles and ids.

get_noteA

Fetch the full content of a single Joplin note by its id.

create_noteB

Create a new note in the given notebook. Use list_notebooks to find a notebook_id.

update_noteA

Update an existing note's title and/or body. Only provided fields are changed, but body, if provided, REPLACES the entire note body - it is not a patch or append, and any content not included in body is lost. For a targeted edit to part of a note, use update_note_section; to add content to the end without resending the whole body, use append_note_section.

update_note_sectionA

Replace an exact, unique substring within a note's body, without touching the rest of the note. Fails with no write if old_str isn't found, or if it matches more than once - use get_note to find a longer, unique old_str in that case.

append_note_sectionA

Append content to the end of a note's body, without needing to know or resend its existing content. Inserts a blank line separator unless the note is empty or already ends in one.

delete_noteA

Delete a note by its id. Moves it to Joplin's trash rather than a permanent delete.

complete_todoA

Mark a to-do note complete or incomplete. Fails if the note isn't a to-do.

list_notes_in_notebookA

List notes in a notebook without a search query. Use list_notebooks to find a notebook_id.

list_notebooksA

List all Joplin notebooks (folders) with their ids, for use with create_note.

create_notebookA

Create a new notebook. Omit parent_id to create it at the root of the notebook tree (requires a $root write entry in config, or blanket write access); set parent_id to nest it inside an existing notebook (requires write access to that notebook). Use list_notebooks to find a parent_id.

list_tagsA

List all Joplin tags with their ids, for use with get_notes_by_tag.

get_notes_by_tagB

List notes with a given tag. Use list_tags to find a tag_id.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation5/5

Each tool has a clearly distinct purpose, and the descriptions explicitly disambiguate the tricky trio: update_note (full-body replace), update_note_section (targeted substring), and append_note_section (append). The listing tools (search_notes, list_notes_in_notebook, get_notes_by_tag) are also clearly separated by their input method.

Naming Consistency5/5

Every tool follows a consistent snake_case verb_noun pattern (search_notes, get_note, create_note, update_note, delete_note, list_notebooks, create_notebook, list_tags, etc.). Suffixes like _section and _in_notebook are applied predictably, so names are fully readable.

Tool Count5/5

13 tools is well-scoped for a note-taking server, giving good granularity between note reads, writes, and structured edits. No tool feels redundant or out of place.

Completeness4/5

Note lifecycle is fully covered (search/get/create/update/delete plus section edits, todos, and tag listings). However, notebook and tag management is asymmetric: only create_notebook and list_notebooks exist (no update/delete notebook), and tags are read-only with no way to create, delete, or attach a tag to a note.

Maintenance

ActivityActive
ResponsivenessWithin a week