Logseq MCP Tools

Logseq MCP Tools

A Model Context Protocol server that enables AI agents to interact with local Logseq knowledge graphs, supporting operations like creating/editing pages and blocks, searching content, and managing journal entries.

Category
Visit Server

README

Logseq MCP Tools

This project provides a set of Model Context Protocol (MCP) tools that enable AI agents to interact with your local Logseq instance.

Installation

  1. Ensure you have Python 3.11+ installed
  2. Clone this repository
  3. Install dependencies:
    pip install -e .
    

Setup

  1. Make sure your Logseq has the API enabled.

    • In Logseq, go to Settings > Advanced > Developer mode > Enable Developer mode
    • Then, go to Plugins > Turn on Logseq Developer Plugin
    • Also set an API token in the Advanced settings
    • Restart Logseq
  2. Configure the MCP server in your Cursor MCP configuration file (typically at ~/.cursor/mcp.json):

    {
      "mcpServers": {
        "logseq": {
          "command": "/opt/homebrew/bin/uvx",
          "args": ["logseq-mcp"],
          "env": {
            "LOGSEQ_API_URL": "http://localhost:12315",
            "LOGSEQ_TOKEN": "your-token-here"
          }
        }
      }
    }
    

Using with Cursor and Claude

Adding to Cursor's MCP Tools

  1. Configure the MCP server as shown above in the Setup section

  2. Open Cursor and go to the MCP panel (sidebar)

  3. The Logseq tool should appear in your list of available tools

Using with Claude

When using Claude in Cursor, you'll need to inform it that you have Logseq tools available with a prompt similar to:

"You have access to Logseq tools that can help you interact with my Logseq graph. You can use functions like logseq.get_all_pages(), logseq.get_page(name), logseq.create_page(name), etc."

Available Tools

All tools are available under the logseq namespace:

Pages

  • logseq.get_all_pages: Get a list of all pages in the Logseq graph
  • logseq.get_page: Get a specific page by name
  • logseq.create_page: Create a new page
  • logseq.delete_page: Delete a page and all its blocks

Blocks

  • logseq.get_page_blocks: Get all blocks from a specific page
  • logseq.get_block: Get a specific block by ID
  • logseq.create_block: Create a new block on a page
  • logseq.insert_block: Insert a block as a child of another block
  • logseq.update_block: Update an existing block
  • logseq.move_block: Move a block to a different location
  • logseq.remove_block: Remove a block and all its children
  • logseq.search_blocks: Search for blocks matching a query

Working with Logseq

Journal Pages

Journal pages in Logseq have a specific format and attributes:

  1. Use the format "mmm dth, yyyy" (e.g., "Apr 4th, 2025") when creating or accessing journal pages
  2. Journal pages are automatically formatted by Logseq with proper dating
  3. Journal pages have special attributes that are automatically set by Logseq:
    • journal?: true - Indicates this is a journal page
    • journalDay: YYYYMMDD - The date in numeric format (e.g., 20250404 for April 4, 2025)
  4. Example: await logseq.create_page("Apr 4th, 2025")

Important: You do not need to manually set the journal? or journalDay attributes. Simply creating a page with the proper date format (e.g., "Apr 4th, 2025") will automatically configure it as a journal page with the appropriate attributes.

Block Structure and Formatting

Blocks in Logseq have some important characteristics to understand:

  1. Automatic Bullets: All blocks are automatically rendered as bullet points in the Logseq UI

  2. Page Links: Create links using double brackets: [[Page Name]]

  3. Hierarchical Blocks:

    • Block structure data contains hierarchical information:
      • parent: The parent block's ID
      • level: The indentation level (1 for top-level, 2+ for indented blocks)
      • left: The block to the left (typically the parent for indented blocks)
  4. Block Content: When creating blocks, you can include text formatting:

    • Basic Markdown is supported (bold, italic, etc.)
    • Bullet points within a block may have limited support
    • Multi-line content is supported but may be subject to Logseq's parsing rules
  5. Journal Blocks: Blocks created in journal pages inherit special attributes:

    • journal?: true
    • journalDay: YYYYMMDD - Same as the journal page

Note: Like journal pages, these block attributes are automatically handled by Logseq. You don't need to manually set the journal? or journalDay attributes when creating blocks on journal pages.

Example Usage for Common Tasks

Working with the Cursor agent: When you have Logseq MCP tools configured in Cursor, you can give the agent prompts like:

  • "Create a new page called 'Meeting Notes' with bullet points for today's agenda"
  • "Add today's tasks to my journal page with a 'Tasks' section"
  • "Update today's journal entry with [[Project Plan]], set its child element to 'Completed milestone 1'"
  • "Search my graph for blocks about 'python projects' and organize them on a new page"

The agent will use the appropriate Logseq tools to carry out these operations on your graph.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured