# Logseq

Outliner knowledge graph whose desktop app embeds an MCP server over its local HTTP API.

Logseq is a privacy-first outliner for journals, pages, and block references, with a plugin API and a DB-graph version in development. The Electron app includes an MCP server (src/electron/electron/mcp_server.cljs) that fronts the local API server with page, tag, property, block-search, and upsert tools. AGPL; no config surface beyond per-graph settings, so it is listed as Operable only.

Alternative to: Roam Research, Notion

- Capabilities: operable
- Vertical: notes-knowledge
- Shape: product
- Form factor: desktop
- Execution model: deterministic
- Provenance: mixed (recorded, never ranked)
- Repo: https://github.com/logseq/logseq (AGPL-3.0), 44743 stars, last commit 2026-09-03
- Last activity: 2026-09-03
- Page: apps/logseq--logseq.html
- JSON: apps/logseq--logseq.json

## Use it when

- you live in daily journals with block references and want an agent to search and append to your graph
- you want a local-first outliner with a plugin ecosystem and no account

## Gotchas

- AGPL-3.0
- The MCP server is on master (DB version); confirm it ships in the stable 0.10.x file-graph builds
- The local HTTP API server must be enabled in settings with a token before MCP tools work
- One tool is annotated 'must be called at most once per user request'

## Editions

- Free: Free, open source
  - source: https://github.com/logseq/logseq
  - binary: https://logseq.com/downloads
  - installable: curl -fsSL https://raw.githubusercontent.com/logseq/logseq/master/scripts/install-linux.sh | bash

## Operable: what an agent can drive

Operability: official. Interface: mcp at https://github.com/logseq/logseq/blob/master/src/electron/electron/mcp_server.cljs (published by the builder, local).

### Reach (partial coverage)

- Read a page: reachable. api-get-page in mcp_server.cljs
- List pages, tags, and properties: reachable. api-list-pages, api-list-tags, api-list-properties
- Search blocks: reachable. api-search-blocks
- Create and update pages and blocks: reachable. api-upsert-nodes
- Journals: undetermined. journal pages are pages; upsert to today's page not verified
- Delete pages or blocks: not reachable. no delete tool in api-tools
- Datalog and advanced queries: not reachable. no query tool; the HTTP API's logseq.DB.q is not exposed
- Whiteboards and flashcards: not reachable. UI features; no tool
- Sync and real-time collaboration: not reachable. DB-version RTC is a separate service

## Code stack

- Languages: Clojure, ClojureScript, TypeScript
- Frameworks: Electron, DataScript
- Package manager: yarn
- Database: DataScript (in-memory), SQLite (DB version)
- Hosting target: binary

## Skills

contributor: Developer tooling for people working on the Logseq repo (CLI maintenance, REPL, i18n, dependency upgrades), not skills an Adopter's agent uses.
- Paths: .agents/skills/*/SKILL.md

## Evidence and confidence

- formFactor: README: desktop app for macOS, Windows, Linux; mobile apps separate (confidence 0.95)
- executionModel: no model in the app (confidence 0.9)
- operability: src/electron/electron/mcp_server.cljs in logseq/logseq registers api-tools over the API server (confidence 0.85)
- effort: per-graph config.edn and custom.css are user settings; changing the app is a Clojure fork under AGPL, so Adaptable is not claimed (confidence 0.7)
- editions: AGPL, free; paid sync status unclear (confidence 0.7)
- active: pushedAt 2026-09-03
- provenance: AGENTS.md at root; project from 2020 (confidence 0.4)
- reach:  (confidence 0.8)

## Open questions

- Is Logseq Sync a paid edition today, and at what price?
- Is the MCP server in a released build? If not, ergut/mcp-logseq (324 stars per triage) would be the Recommended wrapper with dailydaniel/logseq-mcp (41 stars, 2026-07-08) as runner-up
- Whether config.edn counts as a Customization surface for the Curator

## Sources

- https://github.com/logseq/logseq (sourcing:notes-knowledge:curated)
- https://github.com/logseq/logseq/blob/master/src/electron/electron/mcp_server.cljs (analysis)
