Skip to main content
Glama

create_page

Generate new pages in Logseq with customizable properties and automatic journal configuration. Simplify graph organization and entry management using direct input options.

Instructions

Creates a new page in the Logseq graph.

For journal pages, use the format "mmm dth, yyyy" (e.g., "Apr 4th, 2025").
Logseq automatically sets "journal?": true and "journalDay": YYYYMMDD.

Args:
    name: The name of the new page.
    properties: Optional properties to set on the new page.
    
Returns:
    Information about the created page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
propertiesNo

Implementation Reference

  • The primary MCP tool handler for 'create_page', decorated with @mcp.tool(). Delegates to LogseqAPIClient.create_page().
    @mcp.tool()
    def create_page(name: str, properties: Optional[Dict] = None) -> Dict:
        """
        Creates a new page in the Logseq graph.
        
        For journal pages, use the format "mmm dth, yyyy" (e.g., "Apr 4th, 2025").
        Logseq automatically sets "journal?": true and "journalDay": YYYYMMDD.
        
        Args:
            name: The name of the new page.
            properties: Optional properties to set on the new page.
            
        Returns:
            Information about the created page.
        """
        return logseq_client.create_page(name, properties)
  • Underlying helper method in LogseqAPIClient that calls the Logseq API endpoint 'logseq.Editor.createPage'.
    def create_page(self, page_name: str, properties: Optional[Dict] = None) -> Dict:
        """Create a new page"""
        params = [page_name]
        if properties:
            params.append(properties)
        response = self.call_api("logseq.Editor.createPage", params)
        if isinstance(response, dict) and "result" in response:
            return response.get("result")
        return response
  • Re-exports the create_page tool function for use in other modules, facilitating its availability for MCP registration.
    from .pages import get_all_pages, get_page, create_page, delete_page, get_page_linked_references
    from .blocks import get_page_blocks, get_block, create_block, update_block, remove_block, insert_block, move_block, search_blocks
    
    __all__ = [
        "get_all_pages", 
        "get_page", 
        "create_page",
  • Imports and exports the create_page tool as part of the package __all__, making it available when the package is imported before running the MCP server.
    from .tools import (
        get_all_pages, 
        get_page, 
        create_page,
        get_page_blocks,
        get_block,
        create_block, 
        update_block,
        search_blocks,
        get_page_linked_references,
    )
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that Logseq automatically sets journal properties, which is useful behavioral context. However, it doesn't mention permissions needed, error conditions, or whether the operation is idempotent. For a creation tool with zero annotation coverage, this leaves gaps in behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose. Each sentence adds value: the first states the action, the second provides journal-specific formatting, the third explains automatic behavior, and the last two clarify parameters and returns. Zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description does a good job covering the basics: purpose, journal formatting, parameters, and return info. However, for a creation tool, it could better explain error handling or what 'Information about the created page' includes. It's mostly complete but has minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that 'name' is 'The name of the new page' and 'properties' are 'Optional properties to set on the new page', adding meaningful semantics beyond the bare schema. However, it doesn't detail what properties are valid or provide examples beyond journal formatting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Creates a new page') and resource ('in the Logseq graph'), distinguishing it from siblings like create_block (which creates blocks) or delete_page (which removes pages). The verb+resource combination is precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool vs alternatives: it specifies 'For journal pages, use the format "mmm dth, yyyy"' and notes that Logseq automatically handles journal-specific properties. This gives clear context for journal page creation versus regular pages.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/apw124/logseq-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server