Logseq MCP Tools

Un servidor MCP que permite a los agentes de IA interactuar con una instancia local de Logseq.

Documentación

Herramientas MCP de Logseq

Este proyecto proporciona un conjunto de herramientas del Protocolo de Contexto de Modelo (MCP) que permiten a los agentes de IA interactuar con tu instancia local de Logseq.

Instalación

  1. Asegúrate de tener Python 3.11+ instalado
  2. Clona este repositorio
  3. Instala las dependencias:
    pip install -e .
    

Configuración

  1. Asegúrate de que tu Logseq tenga la API habilitada.

    • En Logseq, ve a Configuración > Avanzado > Modo desarrollador > Habilitar modo desarrollador
    • Luego, ve a Plugins > Activa el Plugin de Desarrollador de Logseq
    • También establece un token de API en la configuración avanzada
    • Reinicia Logseq
  2. Configura el servidor MCP en tu archivo de configuración MCP de Cursor (típicamente en ~/.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"
          }
        }
      }
    }
    

O

  1. Configura Claude Code para usar el servidor MCP con:
claude mcp add
  • Selecciona el alcance
  • Selecciona Stdio
  • LOGSEQ_API_URL=http://localhost:12315 LOGSEQ_TOKEN=your-token-here /opt/homebrew/bin/uvx logseq-mcp

Uso con Cursor y Claude

Añadir a las Herramientas MCP de Cursor

  1. Configura el servidor MCP como se muestra arriba en la sección de Configuración

  2. Abre Cursor y ve al panel de MCP (barra lateral)

  3. La herramienta Logseq debería aparecer en tu lista de herramientas disponibles

Uso con Claude

Cuando uses Claude en Cursor, deberás informarle que tienes herramientas de Logseq disponibles con un prompt similar a:

"Tienes acceso a herramientas de Logseq que pueden ayudarte a interactuar con mi grafo de Logseq. Puedes usar funciones como logseq.get_all_pages(), logseq.get_page(name), logseq.create_page(name), etc."

Herramientas Disponibles

Todas las herramientas están disponibles bajo el espacio de nombres logseq:

Páginas

  • logseq.get_all_pages: Obtén una lista de todas las páginas en el grafo de Logseq
  • logseq.get_page: Obtén una página específica por nombre
  • logseq.create_page: Crea una nueva página
  • logseq.delete_page: Elimina una página y todos sus bloques

Bloques

  • logseq.get_page_blocks: Obtén todos los bloques de una página específica
  • logseq.get_block: Obtén un bloque específico por ID
  • logseq.create_block: Crea un nuevo bloque en una página
  • logseq.insert_block: Inserta un bloque como hijo de otro bloque
  • logseq.update_block: Actualiza un bloque existente
  • logseq.move_block: Mueve un bloque a una ubicación diferente
  • logseq.remove_block: Elimina un bloque y todos sus hijos
  • logseq.search_blocks: Busca bloques que coincidan con una consulta

Trabajando con Logseq

Páginas de Diario

Las páginas de diario en Logseq tienen un formato y atributos específicos:

  1. Usa el formato "mmm dth, yyyy" (por ejemplo, "Apr 4th, 2025") al crear o acceder a páginas de diario
  2. Las páginas de diario son formateadas automáticamente por Logseq con la fecha adecuada
  3. Las páginas de diario tienen atributos especiales que Logseq establece automáticamente:
    • journal?: true - Indica que esta es una página de diario
    • journalDay: YYYYMMDD - La fecha en formato numérico (por ejemplo, 20250404 para el 4 de abril de 2025)
  4. Ejemplo: await logseq.create_page("Apr 4th, 2025")

Importante: No necesitas establecer manualmente los atributos journal? o journalDay. Simplemente crear una página con el formato de fecha adecuado (por ejemplo, "Apr 4th, 2025") la configurará automáticamente como página de diario con los atributos apropiados.

Estructura y Formato de Bloques

Los bloques en Logseq tienen algunas características importantes que debes entender:

  1. Viñetas Automáticas: Todos los bloques se renderizan automáticamente como viñetas en la interfaz de Logseq

  2. Enlaces de Página: Crea enlaces usando dobles corchetes: [[Page Name]]

  3. Bloques Jerárquicos:

    • Los datos de estructura de bloques contienen información jerárquica:
      • parent: El ID del bloque padre
      • level: El nivel de sangría (1 para nivel superior, 2+ para bloques con sangría)
      • left: El bloque a la izquierda (típicamente el padre para bloques con sangría)
  4. Contenido de Bloques: Al crear bloques, puedes incluir formato de texto:

    • Se admite Markdown básico (negrita, cursiva, etc.)
    • Las viñetas dentro de un bloque pueden tener soporte limitado
    • El contenido multilínea es compatible pero puede estar sujeto a las reglas de análisis de Logseq
  5. Bloques de Diario: Los bloques creados en páginas de diario heredan atributos especiales:

    • journal?: true
    • journalDay: YYYYMMDD - Igual que la página de diario

Nota: Al igual que las páginas de diario, estos atributos de bloque son manejados automáticamente por Logseq. No necesitas establecer manualmente los atributos journal? o journalDay al crear bloques en páginas de diario.

Ejemplos de Uso para Tareas Comunes

Trabajando con el agente de Cursor: Cuando tengas las herramientas MCP de Logseq configuradas en Cursor, puedes darle al agente prompts como:

  • "Crea una nueva página llamada 'Notas de Reunión' con viñetas para la agenda de hoy"
  • "Añade las tareas de hoy a mi página de diario con una sección de 'Tareas'"
  • "Actualiza la entrada de diario de hoy con [[Plan de Proyecto]], establece su elemento hijo como 'Hito 1 completado'"
  • "Busca en mi grafo bloques sobre 'proyectos de python' y organízalos en una nueva página"

El agente utilizará las herramientas de Logseq apropiadas para llevar a cabo estas operaciones en tu grafo.