Skip to main content
Glama

Logseq MCP Server

License: Polyform Noncommercial Node.js MCP

Let AI read and write your Logseq graph directly via MCP

한국어 README

Talk to Claude and say "add this to today's journal", "find what I did last week", "show me all pages linked to this one" - and it just works.


Why This?

Problem: Logseq is a great PKM tool, but integrating with AI assistants requires constant copy-pasting.

Solution: With this MCP server:

  • Claude directly writes to your journal (no copy-paste)

  • Search and summarize past entries (maintain context)

  • Navigate connections between pages (backlinks, graph)

  • Auto-generate daily journals with templates

You: "Summarize today's meeting notes and add them to my journal" Claude: [writes directly to Logseq via logseq-mcp] "Done! Added to today's journal. Anything else?"

Is This For You?

Good fit if you...

  • Use Logseq as your primary PKM

  • Use Claude Code or Claude Desktop regularly

  • Want to delegate note management to AI

  • Use local file-based Logseq (not Logseq Sync)

Not for you if...

  • Using Logseq Sync (requires local file access)

  • Obsidian user (different MCP server needed)

  • Have sensitive info in notes and uncomfortable with AI access

  • Use org-mode instead of Markdown (not yet supported)


Features

Feature

Description

Page CRUD

Create, read, update, delete pages + property support

Search

Full-text search + tag/folder filtering

Graph Navigation

Links, backlinks, page relationship traversal

Journal

Access today's/specific date journals + templates

Content Logging

Log articles, books, movies, exhibitions to journal

Resources

Expose graph pages as MCP resources


Quick Start

1. Install

git clone https://github.com/dearcloud09/logseq-mcp.git cd logseq-mcp npm install npm run build

2. Configure

Claude Code (~/.claude/settings.json):

{ "mcpServers": { "logseq": { "command": "node", "args": ["/path/to/logseq-mcp/dist/index.js"], "env": { "LOGSEQ_GRAPH_PATH": "/path/to/your/logseq/graph" } } } }

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{ "mcpServers": { "logseq": { "command": "node", "args": ["/path/to/logseq-mcp/dist/index.js"], "env": { "LOGSEQ_GRAPH_PATH": "/path/to/your/logseq/graph" } } } }

3. Verify

Ask Claude: "Show me my Logseq page list"


Available Tools

Tool

Description

list_pages

List all pages with metadata (tags, links, backlinks)

read_page

Read page content and metadata

create_page

Create new page (with property support)

update_page

Update page content

delete_page

Delete a page

append_to_page

Append content to existing page

search_pages

Search by content/title + tag/folder filters

get_backlinks

Get pages that reference a specific page

get_graph

Get page connection graph data

get_journal

Get today's or specific date's journal

create_journal

Create journal with optional template

add_article

Add article to journal (title, summary, tags, URL, highlights)

add_book

Add book to journal (title, author, tags, memo)

add_movie

Add movie to journal (title, director, memo)

add_exhibition

Add exhibition to journal (title, venue, artist, memo)


Usage Examples

"Show me today's journal" "Add this content to 'Project A' page: ..." "Find all pages with #meeting tag" "What pages are connected to my Goals page?" "Search for TODO items in last week's journals" "Create a new page called 'Reading List'" "Summarize our conversation and save it as an article in my journal"

Logseq Graph Structure

your-graph/ journals/ # Daily journals (2024_01_15.md format) pages/ # Regular pages logseq/ # Logseq settings whiteboards/ # Whiteboards

Security

  • Path traversal protection (graph-only access)

  • Symlink/hardlink attack prevention

  • Input validation and sanitization

  • DoS protection (content size limits)

  • Error message sanitization


Troubleshooting

"LOGSEQ_GRAPH_PATH environment variable is required"

Set LOGSEQ_GRAPH_PATH in your configuration file.

MCP server not recognized by Claude

  1. Restart Claude Code/Desktop

  2. Verify path is absolute (/Users/... format)

  3. Ensure npm run build was executed

Pages not showing up

  • Check if .md files exist in journals/ or pages/

  • Verify you're using local graph (not Logseq Sync)

org-mode files not reading

Currently Markdown only. org-mode support planned for future.


Korean-Specific Features

This project includes features optimized for Korean users:

Daily Automation (Optional)

Auto-generate daily journal with weather (Korea only - uses Naver Weather) and diary template.

  1. Copy and edit plist file:

cp com.logseq.daily-automation.plist.example ~/Library/LaunchAgents/com.logseq.daily-automation.plist # Edit the file to replace /path/to/ with your actual paths
  1. Load launchd agent:

launchctl load ~/Library/LaunchAgents/com.logseq.daily-automation.plist
  1. Test manually:

./run-daily-automation.sh

Generated template structure:

- [[일기]] - [[날씨]] - {weather info} - [[오늘의 일기]] - [[행복도]] - [[오늘의 행복]] - [[오늘의 컨디션]] - [[수면]] - 취침: - 기상: - 질: /5 - [[오늘의 생각]] - [[Tasks]] - TODO - [[오늘 잘 해낸 일]] - [[TIL]]

See Korean README for more details.

Cultural Content Structure

add_book, add_movie, add_exhibition tools use Korean wikilink structure ([[문화]]). Customize the templates in src/index.ts for your language.


Development

# Development mode (watch) npm run dev # TypeScript build npm run build # Production run npm start

Project Structure

src/ index.ts # MCP server entry point, tool handlers types.ts # TypeScript type definitions graph.ts # Graph filesystem operations

Contributing

Issues and PRs welcome!

  1. Fork this repo

  2. Create feature branch (git checkout -b feature/amazing)

  3. Commit changes (git commit -m 'Add amazing feature')

  4. Push to branch (git push origin feature/amazing)

  5. Open a Pull Request

Ideas for contribution

  • org-mode support

  • Logseq property search

  • Whiteboard support

  • Better graph visualization data

  • i18n for templates


License

Polyform Noncommercial 1.0.0 - Free for personal and noncommercial use.


Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dearcloud09/logseq-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server