MCP server for LogSeq
Interacts with [LogSeq](https://logseq.com/) via its API.
README Documentation
MCP server for LogSeq
MCP server to interact with LogSeq via its API. Enables Claude to read, create, and manage LogSeq pages through a comprehensive set of tools.
⨠What You Can Do
Transform your LogSeq knowledge base into an AI-powered workspace! This MCP server enables Claude to seamlessly interact with your LogSeq graphs.
šÆ Real-World Examples
š Intelligent Knowledge Management
"Analyze all my project notes from the past month and create a status summary"
"Find pages mentioning 'machine learning' and create a study roadmap"
"Search for incomplete tasks across all my pages"
š Automated Content Creation
"Create a new page called 'Today's Standup' with my meeting notes"
"Add today's progress update to my existing project timeline page"
"Create a weekly review page from my recent notes"
š Smart Research & Analysis
"Compare my notes on React vs Vue and highlight key differences"
"Find all references to 'customer feedback' and summarize themes"
"Create a knowledge map connecting related topics across pages"
š¤ Meeting & Documentation Workflow
"Read my meeting notes and create individual task pages for each action item"
"Get my journal entries from this week and create a summary page"
"Search for 'Q4 planning' and organize all related content into a new overview page"
š” Key Benefits
- Zero Context Switching: Claude works directly with your LogSeq data
- Preserve Your Workflow: No need to export or copy content manually
- Intelligent Organization: AI-powered page creation, linking, and search
- Enhanced Productivity: Automate repetitive knowledge work
š Quick Start
Step 1: Enable LogSeq API
- Settings ā Features ā Check "Enable HTTP APIs server"
- Click the API button (š) in LogSeq ā "Start server"
- Generate API token: API panel ā "Authorization tokens" ā Create new
Step 2: Add to Claude (No Installation Required!)
Claude Code
claude mcp add mcp-logseq \
--env LOGSEQ_API_TOKEN=your_token_here \
--env LOGSEQ_API_URL=http://localhost:12315 \
-- uv run --with mcp-logseq mcp-logseq
Claude Desktop
Add to your config file (Settings ā Developer ā Edit Config):
{
"mcpServers": {
"mcp-logseq": {
"command": "uv",
"args": ["run", "--with", "mcp-logseq", "mcp-logseq"],
"env": {
"LOGSEQ_API_TOKEN": "your_token_here",
"LOGSEQ_API_URL": "http://localhost:12315"
}
}
}
}
Step 3: Start Using!
"Please help me organize my LogSeq notes. Show me what pages I have."
š ļø Available Tools
The server provides 15 tools with intelligent markdown parsing:
| Tool | Purpose | Example Use |
|---|---|---|
list_pages | Browse your graph | "Show me all my pages" |
get_page_content | Read page content | "Get my project notes" |
create_page | Add new pages with structured blocks | "Create a meeting notes page with agenda items" |
update_page | Modify pages (append/replace modes) | "Update my task list" |
delete_page | Remove pages | "Delete the old draft page" |
delete_block | Remove a block by UUID | "Delete this specific block" |
update_block | Edit block content by UUID | "Update this specific block text" |
search | Find content across graph | "Search for 'productivity tips'" |
query | Execute Logseq DSL queries | "Find all TODO tasks tagged #project" |
find_pages_by_property | Search pages by property | "Find all pages with status = active" |
get_pages_from_namespace | List pages in a namespace | "Show all pages under Customer/" |
get_pages_tree_from_namespace | Hierarchical namespace view | "Show Projects/ as a tree" |
rename_page | Rename with reference updates | "Rename 'Old Name' to 'New Name'" |
get_page_backlinks | Find pages linking to a page | "What links to this page?" |
insert_nested_block | Insert child/sibling blocks | "Add a child block under this task" |
šØ Smart Markdown Parsing (v1.1.0+)
The create_page and update_page tools now automatically convert markdown into Logseq's native block structure:
Markdown Input:
---
tags: [project, active]
priority: high
---
# Project Overview
Introduction paragraph here.
## Tasks
- Task 1
- Subtask A
- Subtask B
- Task 2
## Code Example
```python
def hello():
print("Hello Logseq!")
**Result:** Creates properly nested blocks with:
- ā
Page properties from YAML frontmatter (`tags`, `priority`)
- ā
Hierarchical sections from headings (`#`, `##`, `###`)
- ā
Nested bullet lists with proper indentation
- ā
Code blocks preserved as single blocks
- ā
Checkbox support (`- [ ]` ā TODO, `- [x]` ā DONE)
**Update Modes:**
- **`append`** (default): Add new content after existing blocks
- **`replace`**: Clear page and replace with new content
---
## āļø Prerequisites
### LogSeq Setup
- **LogSeq installed** and running
- **HTTP APIs server enabled** (Settings ā Features)
- **API server started** (š button ā "Start server")
- **API token generated** (API panel ā Authorization tokens)
### System Requirements
- **[uv](https://docs.astral.sh/uv/)** Python package manager
- **MCP-compatible client** (Claude Code, Claude Desktop, etc.)
---
## š§ Configuration
### Environment Variables
- **`LOGSEQ_API_TOKEN`** (required): Your LogSeq API token
- **`LOGSEQ_API_URL`** (optional): Server URL (default: `http://localhost:12315`)
### Alternative Setup Methods
#### Using .env file
```bash
# .env
LOGSEQ_API_TOKEN=your_token_here
LOGSEQ_API_URL=http://localhost:12315
System environment variables
export LOGSEQ_API_TOKEN=your_token_here
export LOGSEQ_API_URL=http://localhost:12315
š Verification & Testing
Test LogSeq Connection
uv run --with mcp-logseq python -c "
from mcp_logseq.logseq import LogSeq
api = LogSeq(api_key='your_token')
print(f'Connected! Found {len(api.list_pages())} pages')
"
Verify MCP Registration
claude mcp list # Should show mcp-logseq
Debug with MCP Inspector
npx @modelcontextprotocol/inspector uv run --with mcp-logseq mcp-logseq
š Troubleshooting
Common Issues
"LOGSEQ_API_TOKEN environment variable required"
- ā Enable HTTP APIs in Settings ā Features
- ā Click š button ā "Start server" in LogSeq
- ā Generate token in API panel ā Authorization tokens
- ā Verify token in your configuration
"spawn uv ENOENT" (Claude Desktop)
Claude Desktop can't find uv. Use the full path:
which uv # Find your uv location
Update config with full path:
{
"mcpServers": {
"mcp-logseq": {
"command": "/Users/username/.local/bin/uv",
"args": ["run", "--with", "mcp-logseq", "mcp-logseq"],
"env": { "LOGSEQ_API_TOKEN": "your_token_here" }
}
}
}
Common uv locations:
- Curl install:
~/.local/bin/uv - Homebrew:
/opt/homebrew/bin/uv - Pip install: Check with
which uv
Connection Issues
- ā Confirm LogSeq is running
- ā Verify API server is started (not just enabled)
- ā Check port 12315 is accessible
- ā Test with verification command above
š©āš» Development
For local development, testing, and contributing, see DEVELOPMENT.md.
Ready to supercharge your LogSeq workflow with AI?
ā Star this repo if you find it helpful!