An AI bridge for Logseq graphs using the Model Context Protocol (MCP). Connect any MCP-compatible AI assistant (Claude, Cursor, Windsurf, etc.) to your Logseq knowledge base with deep integration for blocks and block references.
Ported from mcp-obsidian with Logseq-specific features:
- Block-first operations — Read, append, and reference individual blocks
- Block references — Create
((block-uuid))links between blocks - Context graph — Resolve refs for AI context, get backlinks, build knowledge graphs over time
-
Install Node.js (v18+)
-
Configure your MCP client (e.g. Cursor):
Add to your MCP config (e.g.
~/.cursor/mcp.jsonor Cursor Settings → MCP):{ "mcpServers": { "logseq": { "command": "npx", "args": ["mcp-logseq", "/path/to/your/logseq/graph"] } } }Replace
/path/to/your/logseq/graphwith your actual Logseq graph directory (the folder containingjournals/,pages/,.logseq/). -
Test — Ask your AI:
- "List files in my Logseq graph"
- "Read the page journals/2024_01_15.md"
- "Search for blocks containing 'machine learning'"
- "Get block abc-123-def and show what references it"
Logseq content is organized in blocks — each bullet (-) is a block. Blocks have:
- UUID — stable ID (
id:: uuidin markdown) - Content — main text
- Properties —
key:: valuemetadata - Hierarchy — indentation = parent/child
- Reference:
((block-uuid))— links to a block - Embed:
{{embed ((block-uuid))}}— renders block content inline
Use create_block_ref to add refs and read_page with resolveBlockRefs: true to expand them for AI context.
| Tool | Description |
|---|---|
read_page |
Read page with blocks; optional resolveBlockRefs for AI context |
write_page |
Write page (overwrite/append/prepend) |
list_directory |
List files and folders |
search_blocks |
Search block content and properties |
read_multiple_pages |
Batch read (max 10) |
get_frontmatter |
Get frontmatter only |
update_frontmatter |
Update frontmatter |
delete_note |
Delete page (requires confirmation) |
move_note |
Move/rename page |
patch_note |
Replace string in page |
manage_tags |
Add/remove/list tags |
get_notes_info |
Metadata without content |
get_graph_stats |
Notes, folders, size, recent files |
| Tool | Description |
|---|---|
read_block |
Get block by UUID (searches entire graph) |
append_block |
Add block to page (optionally under parent) |
get_block_refs |
Get blocks that reference a given block (backlinks) |
create_block_ref |
Insert ((uuid)) into a block |
- Search for relevant blocks:
search_blockswith query "project ideas" - Read a block:
read_blockwith UUID from results - Get backlinks:
get_block_refsto see what links to it - Create links:
create_block_refto connect related blocks - Read with context:
read_pagewithresolveBlockRefs: trueto expand refs for AI
Over time, the AI can build a map of your knowledge graph by following block references.
npm install
npm run build
npm start /path/to/graph # Run with tsx- Ensure
README.md,LICENSE, andpackage.jsonare in place (they are). - Run
npm run buildandnpm testbefore pushing. - Create a new repo on GitHub, then:
git remote add origin https://github.com/YOUR_USERNAME/mcp-logseq.git git branch -M main git push -u origin main
- Optional:
npm publishfor npm so users can runnpx mcp-logseq /path/to/graph. See PENDING.md for merging Logseq task syntax from your other machine before or after publishing.
MIT