MCP server for LogSeq
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOGSEQ_API_URL | No | The URL of the LogSeq API | http://localhost:12315 |
| LOGSEQ_API_TOKEN | Yes | Your API token for LogSeq |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_pageA | Create a new page in Logseq with properly structured blocks. Fails if a page with the same title already exists (use update_page to modify existing pages). This makes retries safe: re-sending a create_page that timed out will not create numbered duplicates like "Page(1)". Markdown content is automatically parsed into Logseq's block hierarchy:
Example content: |
| update_pageA | Update a page in Logseq with new content and/or properties. Supports two modes:
Markdown is parsed into proper block hierarchy just like create_page. YAML frontmatter in content will be merged with explicit properties. |
| list_pagesC | Lists all pages in a LogSeq graph. |
| get_page_contentB | Get the content of a specific page from LogSeq. |
| delete_pageB | Delete a page from LogSeq. |
| delete_blockB | Delete a block from LogSeq by its UUID. |
| update_blockB | Update the content of an existing LogSeq block by UUID. |
| get_blockA | Get a single block by its UUID. Returns the block content, properties, and child blocks (recursively). Useful for inspecting a specific block after finding its UUID via search or query. |
| searchC | Search for content across LogSeq pages, blocks, and files |
| queryA | Execute a Logseq DSL query to search pages and blocks. Supports property queries, tag queries, task queries, and logical combinations. See https://docs.logseq.com/#/page/queries for query syntax. |
| find_pages_by_propertyA | Find all pages that have a specific property, optionally filtered by value. Simpler alternative to the full query DSL. |
| get_pages_from_namespaceA | Get all pages within a namespace hierarchy (flat list). Use this to discover subpages of a parent page. |
| get_pages_tree_from_namespaceA | Get pages within a namespace as a hierarchical tree structure. Useful for understanding the full page hierarchy. |
| rename_pageA | Rename an existing page. All references throughout the graph will be automatically updated. |
| get_page_backlinksB | Get all pages and blocks that link to a specific page (backlinks/linked references). |
| insert_nested_blockA | Insert a new block as a child or sibling of an existing block, enabling nested hierarchical structures |
| set_block_propertiesA | Set properties on a block in Logseq DB-mode. Properties must be defined on the block's tag/class. Use property display names (e.g. 'Content status', not the internal ident). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool targets a clear resource (page vs block) and action, but search/query/find_pages_by_property and the two namespace getters have overlapping purposes that could cause an agent to pick the wrong one.
Most tools follow verb_noun (list_pages, create_page, get_block, delete_block), but 'search' and 'query' break the pattern as bare verbs, and set_block_properties could be seen as an update_block variant.
17 tools is slightly above the ideal 3-15 range, but the set covers pages, blocks, search, queries, namespaces, backlinks, and properties without obvious redundancy.
The surface provides full page and block CRUD plus search/query, namespaces, backlinks, and properties. Missing standalone root block creation and journal-specific tools, but core workflows are covered.