O
Obsidian MCP
by @efiemi
Servidor MCP em Node.js/TypeScript para integrar agentes (Codex/IDE) com um vault do Obsidian via REST API.
Created 3/25/2026
Updated about 19 hours ago
README
Repository documentation and setup instructions
Obsidian MCP Server (Node.js)
Servidor MCP em Node.js/TypeScript para integrar agentes (Codex/IDE) com um vault do Obsidian via REST API.
Funcionalidades
read_note: lê uma notawrite_note: cria/sobrescreve uma notaappend_to_note: adiciona conteúdo ao final sem overwriteupdate_section: atualiza/cria seção markdown por headingcreate_note_from_template: cria nota a partir de template + dadossearch_notes: busca textuallist_notes: lista notas.md(recursivo)list_folders: lista pastas (recursivo)get_note_metadata: metadados da nota (tamanho, tags, criação, backlinks)get_note_links: links de saída e entrada de uma notaget_backlinks: notas que referenciam a nota alvoget_outgoing_links: links presentes na nota alvoget_graph_context: notas relacionadas e cluster semânticosemantic_search: busca semântica (RAG)hybrid_search: combina ranking keyword + semânticoget_similar_notes: encontra notas semanticamente similaressummarize_notes: resume notas para preparação de contexto
Templates disponíveis em create_note_from_template:
architectureadrmeetingdecision-log
Requisitos
- Node.js 20+
- npm 10+
- Obsidian Local REST API habilitada
Instalação
npm install
Configuração
- Copie o arquivo de exemplo:
cp .env.example .env
- Ajuste as variáveis principais em
.env:
OBSIDIAN_BASE_URL=https://localhost:27124
OBSIDIAN_API_KEY=your_key_here
OBSIDIAN_VAULT_ROOT=AI Engineering
VECTOR_DB_URL=postgresql://obsidian:obsidian@localhost:5433/obsidian_mcp
EMBEDDING_PROVIDER=bedrock
AWS_REGION=us-east-1
BEDROCK_MODEL_ID=amazon.titan-embed-text-v2:0
BEDROCK_EMBEDDING_DIMENSIONS=256
AWS_BEARER_TOKEN_BEDROCK=your_bedrock_bearer_token_here
Observação:
- Se
EMBEDDING_PROVIDERnão forbedrock, o projeto usa embedding determinístico local (fallback) para desenvolvimento. - Se
VECTOR_DB_URLestiver definido, o servidor usa Postgres/pgvector como store vetorial persistente. - Se
VECTOR_DB_URLestiver vazio, o servidor usa fallback em memória.
Desenvolvimento
Rodar servidor MCP em modo dev (stdio):
npm run dev:mcp
Observação:
- O script
dev:mcpfazbuilde inicia comnode dist/...para evitar problemas de IPC dotsxem alguns ambientes.
Build de produção:
npm run build
Rodar build compilado:
npm run start:mcp
Ingestão de Vault (RAG)
Indexa todos os .md da pasta configurada em OBSIDIAN_VAULT_ROOT:
npm run ingest
Observação:
OBSIDIAN_VAULT_ROOTpode ser caminho absoluto (recomendado) ou apenas o nome do vault (ex.:Efiemi-Tech).- Quando for apenas nome, o script tenta localizar em
./,~/,~/Obsidian,~/Documents/Obsidiane~/Documentos/Obsidian.
Integração MCP (Codex/IDE)
O arquivo mcp-servers.json já está configurado para iniciar este servidor:
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["dist/src/mcp_stdio.js"],
"cwd": "/home/bruno/Documentos/Projetos/efiemi/obsidian-mcp"
}
}
}
Importante:
- Rode
npm run buildantes de conectar o cliente MCP. - Evite iniciar via
npm run ...nomcp-servers.json, porque logs donpmnostdoutpodem quebrar o handshake MCP.
Estrutura
src/
config.ts
mcp/
server.ts
schemas.ts
tools/
obsidian/
client.ts
rag/
embedder.ts
indexer.ts
vector-store.ts
scripts/
ingest-vault.ts
Guia de referência
As diretrizes originais do projeto estão em GUIA.md.
Quick Setup
Installation guide for this server
Install Package (if required)
npx @modelcontextprotocol/server-obsidian-mcp
Cursor configuration (mcp.json)
{
"mcpServers": {
"efiemi-obsidian-mcp": {
"command": "npx",
"args": [
"efiemi-obsidian-mcp"
]
}
}
}