logseq-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOGSEQ_GRAPH | No | The Logseq graph to read. Defaults to the only graph, if there is just one. | |
| LOGSEQ_GRAPHS_DIR | No | Directory containing Logseq graphs. | ~/logseq/graphs |
| LOGSEQ_MAX_IMAGES | No | Maximum number of screenshots to attach per call. | 8 |
| LOGSEQ_TASK_PATTERN | No | Pattern for recognizing additional task names. Default is none: only blocks tagged #Task are tasks. |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| graph_infoB | Which graph is being read, how big it is and which days have journals. |
| get_journalC | The journal page of one day as an outline, with its screenshots. |
| list_tasksA | Tasks in the graph, oldest first. Filter by status (Todo, Doing, Done...), by tag (tags on the task or any parent block) or by journal day. |
| get_taskB | A block by its exact text (e.g. a task called "web-12") with everything under it. Names are often reused on different days; pass date (YYYY-MM-DD) to pick one. |
| get_blockB | A block by id (the ‹abcd1234› shown in outlines, or a full uuid) with its subtree. |
| get_pageB | A regular (non-journal) page by title, case-insensitive. |
| searchA | Blocks whose text contains query (case-insensitive), most recent journals first. |
| get_imageC | One screenshot by the id shown next to it. |
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 8 tools
Each tool maps to a distinct resource or input type: graph metadata, journal, page, block-by-id, task-by-text, search, image. The main overlap is get_block/get_task (both fetch blocks with subtrees) and get_task/search (both locate by text), but the id-vs-exact-text-vs-substring distinction and the descriptions make boundaries workable.
Strong snake_case convention with get_/list_ verb prefixes (get_journal, get_block, get_task, get_page, get_image, list_tasks). Minor deviations: graph_info is noun-only and search has no verb/noun pairing, but they remain readable and predictable.
Eight tools is a well-scoped set for browsing a Logseq graph, with each tool earning its place. No redundant or filler tools.
Read coverage is solid (graph info, journals, pages, blocks, tasks, search, images), but the surface appears read-only with no create/update/delete for blocks, tasks, or pages, and no list_pages/list_journals enumeration. Agents can browse but cannot modify or fully enumerate the graph.