getAllFilenamesLABSCO SUMMARY
The vault is read off disk, not through Obsidian.
Because it goes to the filesystem rather than through the app, it keeps working with Obsidian closed — on a server, or beside an agent running unattended. The trade is granularity: filenames, note contents, open to-dos and a whole-file write, with nothing that edits smaller than a file.
What it is
A lightweight server pointed at one vault directory. It lists filenames, reads the notes you name, collects unchecked to-dos out of the markdown, and writes a note back. It reaches the vault through the filesystem, so the Obsidian application does not have to be running.
What you get
- Every filename in the vault, so a note can be located before it is read
- The contents of the notes you name — matched exactly, by partial name, or case-insensitively — each one headed with its own filename
- Every open to-do in the vault: the unchecked checkbox lines, returned with the file each one came from
- A note written with new markdown, created along with any missing folders when it is not there yet
Requirements
A vault on the same machine, passed as the one argument to the built server. Build it from the repository, then run build/index.js against the vault path. No account and no key.
Setup effort
Build from source — git clone https://github.com/marcelmarais/obsidian-mcp-server.git
USE CASES
Finding the note you only half remember
List every filename in the vault, then read the ones that look right — exact, partial and case-insensitive names all resolve.
Pulling your open todos into one place
Every unchecked checkbox line across the vault's markdown, returned with the file it came from.
Writing a note out of the conversation
Hand it markdown and a path; a file that does not exist is created, along with the directories above it.
Reading a vault on a machine where Obsidian is not open
It reads the vault directory from the filesystem, so the app does not have to be running.
4 tools
Listed in project docs. Your client may show a different list.
readMultipleFilesgetOpenTodosupdateFileContentBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/marcelmarais/obsidian-mcp-server.git
cd obsidian-mcp-server
npm install
npm run buildMCP Clients
Any MCP client
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": [
"<YOUR_PATH_TO_OBSIDIAN_MCP_SERVER>/build/index.js",
"<YOUR_PATH_TO_VAULT>"
]
}
}
}