Server MCP per gestire e automatizzare i vault di Obsidian tramite il Model Context Protocol. Permette a strumenti e IA di lavorare in modo coerente sui contenuti del vault.
- Gestione completa dei vault: elenco, accesso e navigazione
- Operazioni sui file: lettura parziale, scrittura, modifiche mirate, spostamento ed eliminazione
- Ricerca avanzata: su singoli file, cartelle dedicate o su tutto il vault
- Guida contestuale: uso del file
config.mdper descrivere struttura, regole e flussi di lavoro - Gestione cartelle: creazione, eliminazione e ridenominazione
- Statistiche: panoramica numerica sul contenuto del vault
- Risorse URI: accesso diretto a file e cartelle con schema
vault://
- Clona o scarica questo repository
- Installa le dipendenze:
npm install
Aggiungi al client MCP (ad esempio in config.json):
{
"mcpServers": {
"obsidian-mcp": {
"command": "node",
"args": ["e:\\MCP_servers\\Obsidian-mcp\\index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "E:\\I_miei_vault_obsidian"
}
}
}
}OBSIDIAN_VAULT_PATH: percorso della cartella che contiene i vault di Obsidian- Default:
C:/Users/User/Documents/Obsidian - Esempio:
E:\\I_miei_vault_obsidian
- Default:
Il file config.md, situato nella root del vault, fornisce istruzioni strategiche per l IA e per l utente. Dovrebbe includere:
- scopo generale del vault e temi principali
- convenzioni di naming, tag e collegamenti tra note
- workflow importanti, priorita e riferimenti essenziali
Usa init_vault_config per generarlo o rigenerarlo e arricchiscilo con dettagli specifici. Prima di intervenire sul vault, richiama get_vault_overview per allinearti. Ogni volta che aggiungi, sposti o rimuovi elementi rilevanti, aggiorna anche config.md.
Elenca i vault disponibili con informazioni opzionali dettagliate.
Parametri:
detailed(opzionale):boolean
Restituisce solo i nomi dei vault in formato array JSON.
Mostra file e cartelle presenti in un vault o in una sottocartella.
Parametri:
vaultName:stringsubPath(opzionale):string
Legge il contenuto di un file con supporto per intervalli di righe.
Parametri:
vaultName:stringfilePath:stringstartLine(opzionale):number(linea iniziale, 1-based)endLine(opzionale):number(linea finale inclusiva)
Crea o sovrascrive un file nel vault.
Parametri:
vaultName:stringfilePath:stringcontent:string
Nota: aggiorna config.md se il nuovo contenuto introduce regole o processi da documentare.
Applica modifiche mirate senza riscrivere l intero file (append, prepend, insert, replace, replace_range).
Parametri:
vaultName:stringfilePath:stringoperations:Arraydi operazioni ordinate
Nota: se le modifiche cambiano workflow o convenzioni, sincronizza config.md.
Legge e restituisce il contenuto di config.md per comprendere contesto e istruzioni.
Parametri:
vaultName:string
Note: usa questo tool come primo passo prima di modificare il vault; se config.md manca, esegui init_vault_config.
Genera o rigenera config.md con template, panoramica automatica e checklist.
Parametri:
vaultName:stringoverwrite(opzionale):booleanincludeStructure(opzionale):booleanadditionalContext(opzionale):string
Suggerimenti: personalizza il template e aggiorna il file quando cambi struttura o processi.
Cerca testo all interno di un file specifico.
Parametri:
vaultName:stringfilePath:stringsearchTerm:string
Esegue ricerche limitate a una cartella (con supporto opzionale per ricorsione e glob).
Parametri:
vaultName:stringfolderPath:stringsearchTerm:stringrecursive(opzionale):booleanfilePattern(opzionale):string
Cerca testo in tutti i file del vault (con filtro per pattern).
Parametri:
vaultName:stringsearchTerm:stringfilePattern(opzionale):string
Crea una nuova cartella nel vault.
Parametri:
vaultName:stringfolderPath:string
Nota: descrivi il nuovo ramo in config.md per mantenere la mappa del vault.
Elimina file o cartelle.
Parametri:
vaultName:stringitemPath:string
Nota: annota in config.md la rimozione di elementi importanti.
Sposta o rinomina file e cartelle.
Parametri:
vaultName:stringsourcePath:stringdestinationPath:string
Nota: aggiorna config.md per riflettere i nuovi percorsi.
Restituisce conteggi e dimensioni del vault.
Parametri:
vaultName:string
Accesso diretto a file e cartelle tramite URI vault://{vaultName}/{path}.
Esempi:
vault://MyVault/vault://MyVault/folder/file.mdvault://MyVault/folder/
list_vaults()get_vault_stats({ vaultName: "PersonalNotes" })global_search({
vaultName: "PersonalNotes",
searchTerm: "importante",
filePattern: "*.md"
})write_file({
vaultName: "PersonalNotes",
filePath: "daily/2025-07-16.md",
content: "# Daily Note\n\n## Tasks\n- [ ] Completare progetto\n- [ ] Riunione alle 15:00"
})read_file({
vaultName: "PersonalNotes",
filePath: "projects/progetto-a.md",
startLine: 10,
endLine: 20
})modify_file({
vaultName: "PersonalNotes",
filePath: "tasks/inbox.md",
operations: [
{ type: "replace", target: "- [ ] Nuovo task", text: "- [x] Nuovo task completato" },
{ type: "append", text: "\n- [ ] Task generato automaticamente" }
]
})get_vault_overview({ vaultName: "PersonalNotes" })init_vault_config({
vaultName: "PersonalNotes",
overwrite: true,
additionalContext: "Vault dedicato a progetti personali e roadmap trimestrali."
})- Le operazioni sono limitate al percorso definito in
OBSIDIAN_VAULT_PATH - I percorsi vengono validati per evitare traversal
- Scritture e cancellazioni avvengono solo all interno dei vault autorizzati
- Verifica
OBSIDIAN_VAULT_PATH - Controlla che il percorso esista ed sia accessibile
- Assicurati che i vault siano cartelle dirette del percorso indicato
- Esegui Node con permessi adeguati
- Su Windows potrebbe essere necessario avviare come amministratore
# reinstallare le dipendenze
npm installProgetto distribuito con licenza MIT.
- Fai fork del repository
- Crea un branch per la tua feature
- Commit delle modifiche
- Push del branch
- Apri una Pull Request
Apri un issue nel repository GitHub per domande o problemi.