Skip to main content

MCP server that connects Claude Code (and other MCP clients) to your Joplin knowledge base

Project description

second-brain-joplin

CI PyPI

An MCP server that turns your Joplin knowledge base into searchable memory for any MCP-capable AI client — Claude Code, Cursor, and others.

Inspired by second-brain-mcp (for Obsidian). This project covers the same use case for Joplin: your AI assistant reads, searches, and files notes directly, without leaving the tool you already use.

Status: Pre-alpha — the four read tools are live; note creation is still stubbed (human-gated write lands in v0.4). See the roadmap and open issues.


How it works

Joplin Desktop exposes a local REST API on localhost:41184 (the Web Clipper service). This server wraps that API as MCP tools, so your AI client can query and update your notes in real time — no export step, no sync lag.

Claude Code / Cursor
       │  MCP
       ▼
second-brain-joplin (this server)
       │  HTTP + token
       ▼
Joplin Desktop (localhost:41184)
       │
       ▼
Your notes

Prerequisites

  • Joplin Desktop running with the Web Clipper service enabled:
    Tools → Options → Web Clipper → Enable Web Clipper Service
  • API token — copy it from the Web Clipper settings panel
  • Python ≥ 3.11 or uvx (recommended — no install needed)

Quickstart

Claude Code

claude mcp add -s user second-brain-joplin \
  -e JOPLIN_API_TOKEN=your-token-here \
  -- uvx second-brain-joplin serve

Other MCP clients

Setting Value
Command uvx second-brain-joplin serve
JOPLIN_API_TOKEN token from Joplin Web Clipper settings
JOPLIN_BASE_URL http://localhost:41184 (default)

See docs/install.md for per-client setup guides.


MCP Tools

Tool Description Writes?
joplin_overview List all notebooks with note counts No
joplin_search Keyword search across all notes No
joplin_read Read a note by ID No
joplin_recent Notes modified in the last N days No
joplin_create Create a note (human-gated) Yes

The four read tools query a running Joplin instance as of v0.2. joplin_create is still stubbed; the human-gated write flow is tracked in the v0.4 milestone.


vs. second-brain-mcp (Obsidian)

second-brain-mcp second-brain-joplin
Note app Obsidian Joplin
Storage Plain .md files on disk Joplin REST API
Requires app running No Yes (Joplin + Web Clipper)
Semantic search Yes (bge-m3) Planned (v0.3)
Write support Human-gated Human-gated (v0.4)
Install uvx second-brain-mcp uvx second-brain-joplin

Notebook structure

The PARA method works well with Joplin. See docs/notebook-structure.md for a recommended setup.


Roadmap

Milestone Theme Status
v0.1 — Bootstrap Repo, CI, package skeleton Done
v0.2 — Core Read Tools All read MCP tools working Done
v0.3 — Semantic Search Embedding index, semantic search Planned
v0.4 — Write Workflow Human-gated note creation Planned
v1.0 — Publish PyPI, full docs, templates Planned

Security & privacy

This server keeps your notes local: it talks only to Joplin's Web Clipper REST API on localhost and runs on your own machine. Anything an MCP client can read, the connected AI can read — so apply least privilege and don't expose notebooks with credentials or other sensitive data. Note creation is planned as an explicit human-gated flow (v0.4); v0.1 does no silent writes. See SECURITY.md for details and how to report a vulnerability.


Contributing

See CONTRIBUTING.md. Issues and PRs welcome — especially for testing against different Joplin versions and OS platforms.


License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

second_brain_joplin-0.2.0.tar.gz (128.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

second_brain_joplin-0.2.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file second_brain_joplin-0.2.0.tar.gz.

File metadata

  • Download URL: second_brain_joplin-0.2.0.tar.gz
  • Upload date:
  • Size: 128.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for second_brain_joplin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5e811ee7c0cf4441d8a249a73b052492093abfc76752b7d0d807c72ed096bdd7
MD5 b45c2ef7473811952a090cee02210e28
BLAKE2b-256 aa47e0d302adad16d1c0cdc14bd6d08d4cafcb8a37792345b8744e08e83c5f49

See more details on using hashes here.

Provenance

The following attestation bundles were made for second_brain_joplin-0.2.0.tar.gz:

Publisher: release.yml on jomkz/second-brain-joplin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file second_brain_joplin-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for second_brain_joplin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2048c31d77ad570624da2eb8c7c53d03a7a82cb527dfe59a424bf688478e8c3
MD5 5ef7f1070954df55a0a09d76387a54c8
BLAKE2b-256 efab0bd721474fdd13685b40d7bd2d785875844978eb4288b45be8cf8ea02453

See more details on using hashes here.

Provenance

The following attestation bundles were made for second_brain_joplin-0.2.0-py3-none-any.whl:

Publisher: release.yml on jomkz/second-brain-joplin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page