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
- Asegúrate de tener Python 3.11+ instalado
- Clona este repositorio
- Instala las dependencias:
pip install -e .
Configuración
-
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
-
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
- 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
-
Configura el servidor MCP como se muestra arriba en la sección de Configuración
-
Abre Cursor y ve al panel de MCP (barra lateral)
-
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 Logseqlogseq.get_page: Obtén una página específica por nombrelogseq.create_page: Crea una nueva páginalogseq.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íficalogseq.get_block: Obtén un bloque específico por IDlogseq.create_block: Crea un nuevo bloque en una páginalogseq.insert_block: Inserta un bloque como hijo de otro bloquelogseq.update_block: Actualiza un bloque existentelogseq.move_block: Mueve un bloque a una ubicación diferentelogseq.remove_block: Elimina un bloque y todos sus hijoslogseq.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:
- Usa el formato "mmm dth, yyyy" (por ejemplo, "Apr 4th, 2025") al crear o acceder a páginas de diario
- Las páginas de diario son formateadas automáticamente por Logseq con la fecha adecuada
- Las páginas de diario tienen atributos especiales que Logseq establece automáticamente:
journal?: true - Indica que esta es una página de diariojournalDay: YYYYMMDD - La fecha en formato numérico (por ejemplo, 20250404 para el 4 de abril de 2025)
- 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:
-
Viñetas Automáticas: Todos los bloques se renderizan automáticamente como viñetas en la interfaz de Logseq
-
Enlaces de Página: Crea enlaces usando dobles corchetes:
[[Page Name]] -
Bloques Jerárquicos:
- Los datos de estructura de bloques contienen información jerárquica:
parent: El ID del bloque padrelevel: 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)
- Los datos de estructura de bloques contienen información jerárquica:
-
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
-
Bloques de Diario: Los bloques creados en páginas de diario heredan atributos especiales:
journal?: truejournalDay: 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.