Obsidian

Interagindo com o Obsidian via API REST

Documentação

Servidor MCP para Obsidian

Servidor MCP para interagir com o Obsidian via o plugin comunitário Local REST API.

server for Obsidian MCP server

Componentes

Ferramentas

O servidor implementa várias ferramentas para interagir com o Obsidian:

  • list_files_in_vault: Lista todos os arquivos e diretórios no diretório raiz do seu vault do Obsidian
  • list_files_in_dir: Lista todos os arquivos e diretórios em um diretório específico do Obsidian
  • get_file_contents: Retorna o conteúdo de um único arquivo no seu vault.
  • search: Pesquisa documentos que correspondem a uma consulta de texto especificada em todos os arquivos do vault
  • patch_content: Insere conteúdo em uma nota existente relativa a um cabeçalho, referência de bloco ou campo de frontmatter.
  • append_content: Adiciona conteúdo a um arquivo novo ou existente no vault.
  • delete_file: Exclui um arquivo ou diretório do seu vault.

Exemplos de prompts

É bom primeiro instruir o Claude a usar o Obsidian. Então ele sempre chamará a ferramenta.

Use prompts como estes:

  • Obtenha o conteúdo da última nota de chamada de arquitetura e resuma-os
  • Pesquise todos os arquivos onde Azure CosmosDb é mencionado e explique-me rapidamente o contexto em que é mencionado
  • Resuma as últimas notas de reunião e coloque-as em uma nova nota 'summary meeting.md'. Adicione uma introdução para que eu possa enviá-la por e-mail.

Configuração

Chave da API REST do Obsidian

Existem duas maneiras de configurar o ambiente com a chave da API REST do Obsidian.

  1. Adicione à configuração do servidor (preferido)
{
  "mcp-obsidian": {
    "command": "uvx",
    "args": [
      "mcp-obsidian"
    ],
    "env": {
      "OBSIDIAN_API_KEY": "<your_api_key_here>",
      "OBSIDIAN_HOST": "<your_obsidian_host>",
      "OBSIDIAN_PORT": "<your_obsidian_port>"
    }
  }
}

Às vezes, o Claude tem problemas para detectar a localização do uv / uvx. Você pode usar which uvx para encontrar e colar o caminho completo na configuração acima nesses casos.

  1. Crie um arquivo .env no diretório de trabalho com as seguintes variáveis obrigatórias:
OBSIDIAN_API_KEY=your_api_key_here
OBSIDIAN_HOST=your_obsidian_host
OBSIDIAN_PORT=your_obsidian_port

Nota:

  • Você pode encontrar a chave da API na configuração do plugin do Obsidian
  • A porta padrão é 27124 se não for especificada
  • O host padrão é 127.0.0.1 se não for especificado

Início rápido

Instalação

Obsidian REST API

Você precisa do plugin comunitário Obsidian REST API em execução: https://github.com/coddingtonbear/obsidian-local-rest-api

Instale e habilite-o nas configurações e copie a chave da API.

Claude Desktop

No MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

No Windows: %APPDATA%/Claude/claude_desktop_config.json

Configuração de Servidores Não Publicados
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-obsidian",
        "run",
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<your_api_key_here>",
        "OBSIDIAN_HOST": "<your_obsidian_host>",
        "OBSIDIAN_PORT": "<your_obsidian_port>"
      }
    }
  }
}
Configuração de Servidores Publicados
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<YOUR_OBSIDIAN_API_KEY>",
        "OBSIDIAN_HOST": "<your_obsidian_host>",
        "OBSIDIAN_PORT": "<your_obsidian_port>"
      }
    }
  }
}

Desenvolvimento

Compilação

Para preparar o pacote para distribuição:

  1. Sincronize as dependências e atualize o lockfile:
uv sync

Depuração

Como os servidores MCP rodam sobre stdio, a depuração pode ser desafiadora. Para a melhor experiência de depuração, recomendamos fortemente usar o MCP Inspector.

Você pode iniciar o MCP Inspector via npm com este comando:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian

Ao iniciar, o Inspector exibirá uma URL que você pode acessar no seu navegador para começar a depurar.

Você também pode observar os logs do servidor com este comando:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log