Obsidian MCP

Interaja com seu cofre Obsidian usando o Model Context Protocol, permitindo que assistentes de IA leiam, escrevam e manipulem notas.

Documentação

Obsidian MCP (Model Context Protocol)

Obsidian MCP é uma ferramenta que permite interagir com seu cofre do Obsidian usando o Model Context Protocol. Isso permite que assistentes de IA leiam, escrevam e manipulem notas no seu cofre do Obsidian por meio de uma interface padronizada.

Pré-requisitos

  • Node.js 18 ou superior
  • Obsidian com o plugin Local REST API instalado e configurado
  • Chave de API gerada pelo plugin Local REST API

Configurando o Servidor MCP (ex.: Claude Desktop App)

  1. Clone este repositório

  2. Instale as dependências:

    npm install
    
  3. Compile o projeto:

    npm run build
    
  4. Configure o Claude Desktop App para usar este servidor MCP:

    {
       "mcpServers": {
         "Obsidian": {
           "command": "node",
           "args": ["/Users/<Your Own Path>/obsisian-mcp/build/index.js"],
           "env": {
             "apiKey": "<Your API Token>",
             "port": "27123",
             "host": "127.0.0.1"
           }
         }
       }
     }
    

Desenvolvimento

Crie o arquivo .env e configure "apiKey", "port" e "host" conforme mencionado acima.

Ferramentas Disponíveis

As seguintes ferramentas estão implementadas:

  1. readNote - Lê o conteúdo de uma nota específica

    {
      "path": "path/to/note.md"
    }
    
  2. readActiveNote - Lê o conteúdo da nota ativa atual

    {}
    
  3. listNotes - Lista recursivamente arquivos e pastas em todo o Vault ou em uma pasta especificada

    {
      "path": "optional/folder/path"
    }
    
  4. patchNote - Insere conteúdo em uma nota existente em relação a um cabeçalho, referência de bloco ou campo de frontmatter

    {
      "path": "path/to/note.md",
      "operation": "append|prepend|replace",
      "targetType": "heading|block|frontmatter",
      "target": "target_identifier",
      "content": "content to insert"
    }
    
  5. searchWithJsonLogic - Pesquisa notas do Obsidian usando consultas no formato JsonLogic

    {
      "query": {
        // JsonLogic query object
      }
    }