Joplin MCP

by alondmnt• 174•• Scanned•Claim this listing•Request removal
Otherjoplinmcpmcp servernote taking

MCP server for the Joplin note taking app

Joplin MCP is an open-source mcp server by alondmnt, written mainly in Python, with 174 GitHub stars and the MIT license. Its code was last updated Sep 12, 2026. The latest PyPI release is joplin-mcp 0.10.0, published Sep 12, 2026, with 121 downloads last week.

Scan summary: scanned Nov 5, 2026 at commit b84c313. Seen able to read environment and secrets, connect to the internet. Scan policy

How to install Joplin MCP

Built from the start command in the project's README: uvx --from joplin-mcp joplin-mcp-server. Check the README for required keys or settings.

Claude Code · Terminal
claude mcp add joplin-mcp -- uvx --from joplin-mcp joplin-mcp-server
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "joplin-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "joplin-mcp",
        "joplin-mcp-server"
      ]
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "joplin-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "joplin-mcp",
        "joplin-mcp-server"
      ]
    }
  }
}
VS Code · Terminal
code --add-mcp '{"name":"joplin-mcp","command":"uvx","args":["--from","joplin-mcp","joplin-mcp-server"]}'

What Joplin MCP can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsFound in the code by our scan
  • Control a web browserNot seen in this scan
  • Connect to databasesNot seen in this scan
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetContacted pypi.org

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit b84c313, Nov 5, 2026. See the scan policy.

Before you install Joplin MCP

AgenticMart scanned Joplin MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.

Before you install

  1. Pin the version you reviewed instead of always installing the latest release.
  2. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by alondmnt on GitHub, 174 stars and 18 forks. Popularity is not proof of safety.
  • Last code change: Sep 12, 2026.
  • Open-source license: MIT.

Tools Joplin MCP exposes (19)

Listed by the server itself during our scan of commit b84c313.

  • ping_joplin

    Test connection to Joplin server. Verifies connectivity to the Joplin application. Use to troubleshoot connection issues. Returns: str: Connection status information.

  • get_note

    Retrieve a note with smart content display and sequential reading support. Smart behavior: Short notes show full content, long notes show TOC only. Sequential reading: Extract specific line ranges for progressive consumption.

  • get_note_resources

    List resources attached to a note, including OCR text for images and PDFs. Joplin runs OCR on attached images and PDFs and stores the result on each resource. This tool exposes that text so an agent reading a note can also see what's inside its images. Resources without OCR text (audio, plain files

  • get_links

    Extract all links to other notes from a given note and find backlinks from other notes. Scans the note's content for links in the format [text](:/noteId) or [text](:/noteId#section-slug) and searches for backlinks (other notes that link to this note). Returns link text, target/source note info, sec

  • create_note

    Create a new note in a specified notebook in Joplin. Creates a new note with the specified title, content, and properties. Uses notebook name for easier identification instead of requiring notebook IDs. Notebook can be specified by name or path: - "Work" - matches notebook named "W

  • update_note

    Update note properties (title, body, todo status, due date) or move a note to another notebook. Replaces the entire body. Use this for metadata changes, moving a note between notebooks, or full body replacement. For targeted text edits (fix a word, append a line) use edit_note instead — it doesn't

  • edit_note

    Precision-edit a note's body without reading or replacing the full content. Preferred over update_note for targeted text changes — no get_note round-trip needed. Use update_note instead when changing metadata (title, todo status, due date) or replacing the entire body. Modes: - Replace: provide ol

  • find_notes

    Find notes by searching titles and content. Use "*" to list all notes. Query syntax: "exact phrase", title:word, body:word, -exclude, word1 OR word2 Examples: - find_notes("*") - List all notes - find_notes("meeting") - Find notes containing "meeting" - find_notes("*", task=True) - Lis

  • find_in_note

    Search for a regex pattern inside a specific note and return paginated matches. Multiline mode is enabled by default so anchors like ``^``/``$`` operate per line, matching the common expectations for checklist-style searches.

  • find_notes_with_tag

    Find all notes that have a specific tag, with pagination support. MAIN FUNCTION FOR TAG SEARCHES! Use this when you want to find all notes tagged with a specific tag name. Returns: str: List of all notes with the specified tag, with pagination information. Examples: - find_notes_with_tag

  • find_notes_in_notebook

    Find all notes in a specific notebook, with pagination support. MAIN FUNCTION FOR NOTEBOOK SEARCHES! Use this when you want to find all notes in a specific notebook. Notebook can be specified by name or path: - "Work" - matches notebook named "Work" (must be unique) - "Projects/Work" - matches "W

  • list_notebooks

    List all notebooks/folders in your Joplin instance, with note counts. Returns each notebook's id, title, path and note_count. Pass verbose=True to also get the emoji icon, parent_id and timestamps -- rarely needed, and on a large collection they roughly double the size of this response. Returns:

  • create_notebook

    Create a new notebook (folder) in Joplin to organize your notes. Creates a new notebook that can be used to organize and contain notes. You can create top-level notebooks or sub-notebooks within existing notebooks, optionally with an emoji icon shown in Joplin's sidebar. Notebook can be specified

  • list_tags

    List all tags in your Joplin instance with note counts. Retrieves and displays all tags that exist in your Joplin application. Tags are labels that can be applied to notes for categorization and organization. Returns: str: Formatted list of all tags including title, unique ID and number of not

  • create_tag

    Create a new tag. Creates a new tag that can be applied to notes for categorization and organization. Returns: str: Success message with the created tag's title and unique ID. Examples: - create_tag("work") - Create a new tag named "work" - create_tag("important") - Create a new tag n

  • get_tags_by_note

    Get all tags for a specific note. Retrieves all tags that are currently applied to a specific note. Returns: str: Formatted list of tags applied to the note with title, ID, and creation date.

  • tag_note

    Add one or more tags to one or more notes. Both args accept a single string or a list. When either is a list, the cartesian product is applied (every tag on every note) in one call — preferred over looping. Output: aggregated TAG_NOTE report with TOTAL_OPS / SUCCEEDED / FAILED, one row per (note,

  • untag_note

    Remove one or more tags from one or more notes. Both args accept a single string or a list. When either is a list, the cartesian product is applied (remove every tag from every note) in one call. Output: aggregated UNTAG_NOTE report with TOTAL_OPS / SUCCEEDED / FAILED, one row per (note, tag) pair

  • restore_from_trash

    Restore a note or notebook from Joplin's trash. Restores a previously deleted item by setting its deleted_time back to 0. The item reappears in its original notebook. Scope of restore (important): - Only the single item identified by item_id is restored. When restoring a notebook, its sub-notebo

Hosts it contacted while running

pypi.org

Joplin MCP is an open-source mcp server by alondmnt, written mainly in Python. MCP server for the Joplin note taking app

At a glance

Stars
174
Forks
18
Language
Python
License
MIT
Created
Jul 2025
Last update
Sep 12, 2026
Type
MCP Server
Price
Free

Topics

joplinmcpmcp-servernote-taking

Questions about Joplin MCP

What is Joplin MCP?

MCP server for the Joplin note taking app

Who maintains Joplin MCP?

Joplin MCP is maintained by alondmnt on GitHub (alondmnt/joplin-mcp). AgenticMart lists it from public repository data.

Is Joplin MCP safe to use?

AgenticMart scanned Joplin MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does Joplin MCP use?

It is published under the MIT license.

Joplin MCP alternatives

View more →

Similar mcp servers in Other, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Joplin MCP (this page)
alondmnt
174MITSep 12, 2026Scanned, no flagged issues
Github MCP Server
github
34kMITOct 30, 2026Scanned, no flagged issues
Fastapi MCP
tadata-org
12kMITNov 24, 2025Scanned, no flagged issues
GhidraMCP
LaurieWired
12kApache-2.0Oct 10, 2026Scanned, no flagged issues
MCP Go
mark3labs
9.2kMITOct 30, 2026Scanned, no flagged issues
Git MCP
idosal
8.5kApache-2.0May 8, 2026Scanned, no flagged issues