Logseq MCP Tools

Um servidor MCP que permite que agentes de IA interajam com uma instância local do Logseq.

Documentação

Ferramentas MCP do Logseq

Este projeto fornece um conjunto de ferramentas do Model Context Protocol (MCP) que permitem que agentes de IA interajam com sua instância local do Logseq.

Instalação

  1. Certifique-se de ter o Python 3.11+ instalado
  2. Clone este repositório
  3. Instale as dependências:
    pip install -e .
    

Configuração

  1. Certifique-se de que sua API do Logseq esteja habilitada.

    • No Logseq, vá em Configurações > Avançado > Modo de desenvolvedor > Ativar modo de desenvolvedor
    • Em seguida, vá em Plugins > Ative o Plugin de Desenvolvedor do Logseq
    • Também defina um token de API nas configurações avançadas
    • Reinicie o Logseq
  2. Configure o servidor MCP no seu arquivo de configuração MCP do Cursor (normalmente em ~/.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"
          }
        }
      }
    }
    

OU

  1. Configure o Claude Code para usar o servidor MCP com:
claude mcp add
  • Selecione o escopo
  • Selecione Stdio
  • LOGSEQ_API_URL=http://localhost:12315 LOGSEQ_TOKEN=your-token-here /opt/homebrew/bin/uvx logseq-mcp

Usando com Cursor e Claude

Adicionando às Ferramentas MCP do Cursor

  1. Configure o servidor MCP conforme mostrado acima na seção de Configuração

  2. Abra o Cursor e vá ao painel MCP (barra lateral)

  3. A ferramenta Logseq deve aparecer na sua lista de ferramentas disponíveis

Usando com Claude

Ao usar o Claude no Cursor, você precisará informá-lo de que você tem ferramentas Logseq disponíveis com um prompt semelhante a:

"Você tem acesso a ferramentas Logseq que podem ajudá-lo a interagir com meu grafo Logseq. Você pode usar funções como logseq.get_all_pages(), logseq.get_page(name), logseq.create_page(name), etc."

Ferramentas Disponíveis

Todas as ferramentas estão disponíveis sob o namespace logseq:

Páginas

  • logseq.get_all_pages: Obtenha uma lista de todas as páginas no grafo Logseq
  • logseq.get_page: Obtenha uma página específica pelo nome
  • logseq.create_page: Crie uma nova página
  • logseq.delete_page: Exclua uma página e todos os seus blocos

Blocos

  • logseq.get_page_blocks: Obtenha todos os blocos de uma página específica
  • logseq.get_block: Obtenha um bloco específico pelo ID
  • logseq.create_block: Crie um novo bloco em uma página
  • logseq.insert_block: Insira um bloco como filho de outro bloco
  • logseq.update_block: Atualize um bloco existente
  • logseq.move_block: Mova um bloco para um local diferente
  • logseq.remove_block: Remova um bloco e todos os seus filhos
  • logseq.search_blocks: Pesquise blocos que correspondam a uma consulta

Trabalhando com o Logseq

Páginas de Diário

As páginas de diário no Logseq têm um formato e atributos específicos:

  1. Use o formato "mmm dth, yyyy" (por exemplo, "Apr 4th, 2025") ao criar ou acessar páginas de diário
  2. As páginas de diário são formatadas automaticamente pelo Logseq com a datação adequada
  3. As páginas de diário têm atributos especiais que são definidos automaticamente pelo Logseq:
    • journal?: true - Indica que esta é uma página de diário
    • journalDay: YYYYMMDD - A data em formato numérico (por exemplo, 20250404 para 4 de abril de 2025)
  4. Exemplo: await logseq.create_page("Apr 4th, 2025")

Importante: Você não precisa definir manualmente os atributos journal? ou journalDay. Simplesmente criar uma página com o formato de data adequado (por exemplo, "Apr 4th, 2025") a configurará automaticamente como uma página de diário com os atributos apropriados.

Estrutura e Formatação de Blocos

Os blocos no Logseq têm algumas características importantes a entender:

  1. Marcadores Automáticos: Todos os blocos são renderizados automaticamente como marcadores na interface do Logseq

  2. Links de Página: Crie links usando colchetes duplos: [[Page Name]]

  3. Blocos Hierárquicos:

    • Os dados da estrutura do bloco contêm informações hierárquicas:
      • parent: O ID do bloco pai
      • level: O nível de recuo (1 para nível superior, 2+ para blocos recuados)
      • left: O bloco à esquerda (normalmente o pai para blocos recuados)
  4. Conteúdo do Bloco: Ao criar blocos, você pode incluir formatação de texto:

    • Markdown básico é suportado (negrito, itálico, etc.)
    • Marcadores dentro de um bloco podem ter suporte limitado
    • Conteúdo de várias linhas é suportado, mas pode estar sujeito às regras de análise do Logseq
  5. Blocos de Diário: Blocos criados em páginas de diário herdam atributos especiais:

    • journal?: true
    • journalDay: YYYYMMDD - Igual à página de diário

Observação: Assim como nas páginas de diário, esses atributos de bloco são tratados automaticamente pelo Logseq. Você não precisa definir manualmente os atributos journal? ou journalDay ao criar blocos em páginas de diário.

Exemplo de Uso para Tarefas Comuns

Trabalhando com o agente do Cursor: Quando você tiver as ferramentas MCP do Logseq configuradas no Cursor, você pode dar prompts ao agente como:

  • "Crie uma nova página chamada 'Notas de Reunião' com marcadores para a agenda de hoje"
  • "Adicione as tarefas de hoje à minha página de diário com uma seção 'Tarefas'"
  • "Atualize a entrada de diário de hoje com [[Plano de Projeto]], defina seu elemento filho como 'Marco 1 concluído'"
  • "Pesquise em meu grafo blocos sobre 'projetos python' e organize-os em uma nova página"

O agente usará as ferramentas Logseq apropriadas para realizar essas operações no seu grafo.