{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "laurent22--joplin",
    "name": "Joplin",
    "tagline": "Open-source notes app with an in-app MCP server, a local Data API, and paid Joplin Cloud sync.",
    "shortTagline": "Open-source notes app",
    "description": "Joplin is a desktop and mobile notes app with markdown, notebooks, tags, attachments, end-to-end encrypted sync, and a plugin system. The desktop app now embeds an MCP server (packages/lib/services/mcp) with note, notebook, tag, search, and semantic-search tools, alongside the long-standing Data API and terminal CLI. Apps are AGPL; Joplin Cloud and Joplin Server Business are paid.",
    "capabilities": [
      "operable"
    ],
    "vertical": "notes-knowledge",
    "alternativeTo": [
      "Evernote",
      "OneNote"
    ],
    "shape": "product",
    "formFactor": "desktop",
    "executionModel": "hybrid",
    "provenance": "mixed",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [
        "Electron",
        "React Native"
      ],
      "packageManager": "yarn",
      "database": [
        "SQLite"
      ],
      "hostingTarget": [
        "binary"
      ]
    },
    "modelStack": {
      "providers": [
        "embeddings for semantic search (provider configurable in app settings)"
      ],
      "models": [],
      "requiredKeys": [],
      "promptLocations": [],
      "tools": [
        "create_note",
        "read_note",
        "update_note",
        "delete_note",
        "search_notes",
        "semantic_search_notes",
        "create_notebook",
        "list_notebooks",
        "manage_tags",
        "read_image"
      ]
    },
    "repos": [
      {
        "url": "https://github.com/laurent22/joplin",
        "owner": "laurent22",
        "name": "joplin",
        "license": "AGPL-3.0-or-later",
        "stars": 56212,
        "lastCommit": "2026-09-03"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://github.com/laurent22/joplin/tree/dev/packages/lib/services/mcp",
      "official": true,
      "hosted": "local"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create, read, update, and delete notes",
        "reachable": true,
        "evidence": "McpServer.ts tools create_note, read_note, update_note, delete_note"
      },
      {
        "job": "Search notes, including semantic search",
        "reachable": true,
        "evidence": "search_notes, semantic_search_notes"
      },
      {
        "job": "Create and list notebooks",
        "reachable": true,
        "evidence": "create_notebook, list_notebooks; no delete or move notebook tool"
      },
      {
        "job": "Tag notes",
        "reachable": true,
        "evidence": "manage_tags"
      },
      {
        "job": "Read image attachments",
        "reachable": true,
        "evidence": "read_image"
      },
      {
        "job": "Upload attachments and resources",
        "reachable": false,
        "evidence": "no resource tool in the MCP list; the Data API can POST /resources"
      },
      {
        "job": "To-dos",
        "reachable": null,
        "evidence": "notes carry is_todo in the Data API; not confirmed on the MCP note tools"
      },
      {
        "job": "Sync, encryption, sharing, and publishing",
        "reachable": false,
        "evidence": "app and Joplin Cloud features; not in the tool list"
      },
      {
        "job": "Plugins and web clipper",
        "reachable": false,
        "evidence": "separate subsystems; no MCP tool"
      }
    ],
    "editions": [
      {
        "name": "Free apps",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/laurent22/joplin"
          },
          {
            "kind": "binary",
            "url": "https://joplinapp.org/download/"
          }
        ]
      },
      {
        "name": "Joplin Cloud Basic",
        "price": {
          "amount": 2.99,
          "currency": "EUR",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://joplinapp.org/plans/"
          }
        ]
      },
      {
        "name": "Joplin Cloud Pro",
        "price": {
          "amount": 5.99,
          "currency": "EUR",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://joplinapp.org/plans/"
          }
        ]
      },
      {
        "name": "Joplin Cloud Teams",
        "price": {
          "amount": 7.99,
          "currency": "EUR",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://joplinapp.org/plans/"
          }
        ]
      },
      {
        "name": "Joplin Server Business",
        "price": {
          "amount": 3.33,
          "currency": "EUR",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "container",
            "url": "https://joplinapp.org/plans/"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or published skill found in the repo."
    },
    "customization": null,
    "useWhen": [
      "you already keep years of notes in Joplin and want Claude to search and write them without leaving the app",
      "you want encrypted cross-device notes and are happy to pay a few euros a month for sync"
    ],
    "accounts": [
      "Joplin Cloud account (paid sync editions)",
      "Dropbox, OneDrive, S3, WebDAV, or Nextcloud (free sync targets)"
    ],
    "active": true,
    "lastActivity": "2026-09-03",
    "gotchas": [
      "The MCP server runs inside the desktop app; the app must be open and the service enabled",
      "packages/server (Joplin Server) is under a Personal Use License, not AGPL; business self-hosting requires the paid Joplin Server Business",
      "Notebook delete and resource upload are not in the MCP tool set; fall back to the Data API on port 41184"
    ],
    "fit": {
      "adaptable": 1,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: desktop and mobile apps; MCP server lives in the desktop app's lib package",
      "executionModel": "semantic_search_notes implies embeddings at runtime; note CRUD needs no model",
      "operability": "packages/lib/services/mcp/McpServer.ts in laurent22/joplin; tool names read from the file",
      "effort": "the desktop app has no named env, config, or prompt surface for an Adopter; Joplin Server is a separate form factor under a non-open license, so Adaptable is not claimed",
      "editions": "joplinapp.org/plans: Basic €2.99, Pro €5.99, Pro 100GB €9.99, Teams €7.99 per user; Server Business €2.50–3.33 per user; apps free",
      "active": "pushedAt 2026-09-03",
      "provenance": "CLAUDE.md at root; project from 2016"
    },
    "confidence": {
      "formFactor": 0.9,
      "executionModel": 0.65,
      "operability": 0.9,
      "effort": 0.7,
      "reach": 0.85,
      "editions": 0.9,
      "provenance": 0.4
    },
    "openQuestions": [
      "Is the in-app MCP server in a stable release yet, and how is it enabled?",
      "Which embedding provider does semantic search use and does it need a key?",
      "Should Joplin Server be its own Listing (form factor: web-app) despite the personal-use license?"
    ],
    "sources": [
      {
        "url": "https://github.com/laurent22/joplin",
        "foundBy": "sourcing:notes-knowledge:curated"
      },
      {
        "url": "https://joplinapp.org/plans/",
        "foundBy": "analysis"
      },
      {
        "url": "https://github.com/laurent22/joplin/blob/dev/packages/server/LICENSE.md",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Official in-app MCP with the core note jobs reachable; Operable-only because the desktop app has no customization surface and Joplin Server is non-open and a different form factor.",
      "disputed": [
        "Triage scored Adaptable 2 on Joplin Server env vars; analysis treats the server as a separate, non-open form factor"
      ]
    },
    "url": "apps/laurent22--joplin.html",
    "coverage": "partial",
    "paid": true,
    "source": "research/verified/laurent22--joplin.json"
  }
}
