MCP server for Obsidian — full Local REST API integration with 30 tools
Server has 30 tools with consistent Zod-based schemas and Portuguese descriptions. Naming follows verb_noun pattern (activeFileGet, vaultCreateFile, businessRulesCreate). However, descriptions are often verbose (200-400+ chars) and lack LLM-optimized brevity. Many parameters lack explicit type constraints in descriptions (e.g., 'year', 'month', 'day' in periodicGetNote lack range hints). Error handling is present via safeTool wrapper but recovery guidance is minimal. Output schemas are not documented in tool definitions. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE, REVERSIBLE).
Adiciona conteúdo ao final do arquivo ativo no Obsidian.
Remove o arquivo atualmente aberto no Obsidian.
Retorna o conteúdo do arquivo atualmente aberto no Obsidian.
Insere conteúdo em um local específico do arquivo ativo (heading, block ou frontmatter).
Substitui o conteúdo inteiro do arquivo ativo no Obsidian.
Arquiva uma regra de negócio movendo-a para a pasta _arquivadas.
Numeric parameters (year, month, day) lack range constraints in descriptions. LLMs may pass invalid values like year=99999 or month=13. Add explicit ranges: 'year (1900-2100)', 'month (1-12)', 'day (1-31)'.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels documented in metadata (READ_ONLY, WRITE, DESTRUCTIVE, REVERSIBLE). Agents cannot infer safety properties from tool definitions alone.
Output schemas not documented in tool definitions. LLMs cannot plan downstream calls or extract required fields (e.g., what does vaultCreateFile return? A path? A file object?). Add explicit return type documentation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Cria uma nova regra de negócio em um projeto.
Retorna o conteúdo de uma regra de negócio específica.
Lista regras de negócio de um projeto, opcionalmente incluindo arquivadas.
Atualiza frontmatter ou seção de uma regra de negócio.
Executa um comando do Obsidian pelo ID.
Lista todos os comandos disponíveis no Obsidian.
Adiciona conteúdo ao final da nota periódica (atual ou de uma data específica).
Cria ou substitui uma nota periódica (atual por default; informe year/month/day para data específica).
Remove a nota periódica (atual por default; informe year/month/day para data específica).
Retorna o conteúdo da nota periódica (daily, weekly, etc). Sem year/month/day usa a nota atual; com os três usa a data específica.
Insere conteúdo em um local específico da nota periódica (heading, block ou frontmatter).
Inicializa a estrutura de um projeto dentro do vault Obsidian. Cria <basePath>/<projectName>/ com CLAUDE.md + subpastas Regras/, Decisões/, Notas/ (cada uma com um README.md seed). Operação idempotente: arquivos que já existem não são tocados; o retorno indica o que foi criado vs já existia. Use sempre que iniciar um novo projeto que ainda não tenha estrutura no Obsidian.
Busca avançada no vault usando Dataview DQL ou JsonLogic.
Busca texto simples no vault do Obsidian. Retorna arquivos com trechos de contexto.
Lista todas as tags do vault com a contagem de usos. Inclui tags inline (#tag) e de frontmatter; tags hierárquicas contribuem para cada prefixo (ex: 'work/tasks' soma em 'work'). Resposta: { tags: [{ name, count }] } sem o prefixo '#'.
Adiciona conteúdo ao final de um arquivo existente no vault. Se não souber o path exato do arquivo, use vaultListFiles para navegar pelas pastas e encontrá-lo.
Cria ou substitui um arquivo no vault. ANTES de chamar esta tool, você DEVE: 1. Usar vaultListFiles (sem parâmetros) para ver as pastas raiz do vault. 2. Explorar as subpastas relevantes para entender a organização por assunto. 3. Escolher a pasta que melhor se encaixa no tema do arquivo sendo criado. 4. Se nenhuma pasta existente fizer sentido, crie uma nova seguindo o padrão de nomenclatura já usado no vault. NUNCA crie arquivos soltos na raiz se houver uma estrutura de pastas organizada. O objetivo é manter o vault coerente — cada arquivo deve estar na pasta que melhor representa seu assunto.
Remove um arquivo do vault.
Retorna o conteúdo de um arquivo do vault.
Retorna metadata de um arquivo (frontmatter, tags, path) em formato JSON.
Lista arquivos e pastas de um diretório do vault. Sem parâmetros lista a raiz. IMPORTANTE: Use esta tool ANTES de criar arquivos para entender a estrutura de pastas existente. Navegue pela raiz e subpastas para mapear como o vault está organizado por assunto. Pastas terminam com '/' no resultado.
Move um arquivo para um novo local no vault.
Abre um arquivo no Obsidian.
Insere conteúdo em um local específico de um arquivo (heading, block ou frontmatter).
Descriptions are verbose (200-400+ chars) and lack LLM-optimized brevity. Baseline for A+ tools is 50-200 chars. Example: periodicPatchContent description is 300+ chars; could be condensed to 'Patch content in a periodic note at a specific heading, block, or frontmatter section.'
Error handling via safeTool wrapper exists but recovery guidance is minimal. Errors do not tell LLMs what to do next (e.g., 'File not found. Try vaultListFiles() to find the correct path.'). Add actionable error messages.