Skip to main content

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.

Metadata

Release files for second-brain-joplin 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for second-brain-joplin 0.2.0
File Size Uploaded
second_brain_joplin-0.2.0.tar.gz 128.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for second-brain-joplin 0.2.0
File Interpreter ABI Platform
second_brain_joplin-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 140.1 kB

Release files / second_brain_joplin-0.2.0.tar.gz

Download URL second_brain_joplin-0.2.0.tar.gz
Size 128.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5e811ee7c0cf4441d8a249a73b052492093abfc76752b7d0d807c72ed096bdd7
BLAKE2b-256 checksum
How to use checksums
aa47e0d302adad16d1c0cdc14bd6d08d4cafcb8a37792345b8744e08e83c5f49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.

Transparency log

Release files / second_brain_joplin-0.2.0-py3-none-any.whl

Download URL second_brain_joplin-0.2.0-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2048c31d77ad570624da2eb8c7c53d03a7a82cb527dfe59a424bf688478e8c3
BLAKE2b-256 checksum
How to use checksums
efab0bd721474fdd13685b40d7bd2d785875844978eb4288b45be8cf8ea02453
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page