logseq-mcp
by: dailydaniel
simple logseq mcp server
📌Overview
Purpose: To facilitate interaction between large language models (LLMs) and Logseq's knowledge base through a Model Context Protocol server.
Overview: The Logseq MCP Server allows for seamless integration with Logseq graphs, enabling users to programmatically create, manage, and organize pages and blocks within their knowledge base. This enhances productivity by automating content operations in Logseq.
Key Features:
-
Block Operations: Functions such as
logseq_insert_block
andlogseq_edit_block
allow users to create and edit blocks, enabling structured organization of content directly within Logseq. -
Page Operations: Features like
logseq_create_page
andlogseq_get_page
facilitate the creation and retrieval of pages, making it easy to manage project documentation or personal notes. -
Content Retrieval: With functions like
logseq_get_current_page
andlogseq_get_page_blocks_tree
, users can access current content and understand the structure of their knowledge base effortlessly, improving navigation and content management.
Logseq MCP Server
A Model Context Protocol server enabling direct integration with Logseq's knowledge base. It allows large language models (LLMs) to interact with Logseq graphs, create pages, manage blocks, and organize information programmatically.
Usage with Claude Desktop
{
"mcpServers": {
"logseq": {
"command": "uvx",
"args": ["mcp-server-logseq"],
"env": {
"LOGSEQ_API_TOKEN": "<YOUR_KEY>",
"LOGSEQ_API_URL": "http://127.0.0.1:12315"
}
}
}
}
Available Tools
Block Operations
-
logseq_insert_block
Create new blocks in Logseq.
Parameters:parent_block
(string): Parent block UUID or page namecontent
(string, required): Block contentis_page_block
(boolean): Create as page-level blockbefore
(boolean): Insert before parent blockcustom_uuid
(string): Custom UUIDv4 for block
-
logseq_edit_block
Enter block editing mode.
Parameters:src_block
(string, required): Block UUIDpos
(number): Cursor position
-
logseq_exit_editing_mode
Exit editing mode.
Parameters:select_block
(boolean): Keep block selected
Page Operations
-
logseq_create_page
Create new pages.
Parameters:page_name
(string, required): Page nameproperties
(object): Page propertiesjournal
(boolean): Create as journal pageformat
(string): Page format (markdown/org)
-
logseq_get_page
Get page details.
Parameters:src_page
(string, required): Page identifierinclude_children
(boolean): Include child blocks
-
logseq_get_all_pages
List all pages.
Parameters:repo
(string): Repository name
Content Retrieval
-
logseq_get_current_page
Get active page/block. No parameters. -
logseq_get_current_blocks_tree
Get current page's block hierarchy. No parameters. -
logseq_get_editing_block_content
Get content of active block. No parameters. -
logseq_get_page_blocks_tree
Get page's block structure.
Parameters:src_page
(string, required): Page identifier
Prompts
logseq_insert_block
Create a new block in Logseq.
Arguments:
parent_block
: Parent block reference (page name or UUID)content
: Block contentis_page_block
: Set true for page-level blocks
logseq_create_page
Create a new Logseq page.
Arguments:
page_name
: Name of the pageproperties
: Page properties as JSONjournal
: Set true for journal pages
Installation
Using pip
pip install mcp-server-logseq
From source
git clone https://github.com/dailydaniel/logseq-mcp.git
cd logseq-mcp
cp .env.example .env
uv sync
Run the server:
python -m mcp_server_logseq
Configuration
API Key
- Generate API token in Logseq under API → Authorization tokens.
- Set environment variable:
export LOGSEQ_API_TOKEN=your_token_here
Or pass via command line:
python -m mcp_server_logseq --api-key=your_token_here
Graph Configuration
Default URL: http://localhost:12315
To customize:
python -m mcp_server_logseq --url=http://your-logseq-instance:port
Examples
Create meeting notes page
Create new page "Team Meeting 2024-03-15" with properties:
- Tags: #meeting #engineering
- Participants: Alice, Bob, Charlie
- Status: pending
Add task block to existing page
Add task to Project Roadmap:
- Finalize API documentation
- Due: 2024-03-20
- Priority: high
Create journal entry with first block
Create journal entry for today with initial content:
- Morning standup completed
- Started work on new authentication system
Debugging
npx @modelcontextprotocol/inspector uv --directory . run mcp-server-logseq
Contributing
Contributions are welcome to enhance Logseq integration:
- Add new API endpoints (page linking, query support)
- Improve block manipulation capabilities
- Add template support
- Enhance error handling