An Obsidian vault is a folder of Markdown files, so Contextator indexes it like any other folder — with
one difference: the vault’s own syntax is flattened first, so an agent reads ordinary Markdown instead
of [[wikilinks]] and callout markers.
Two ways in
The vault is on the server
Add it as a Local directory source with content type Obsidian vault. Nothing is copied, and edits appear on the next index run.
Add source → Local directory
Name: vault
Directory: /docs/ + my-vault
Content type: Obsidian vault (rewrites [[wikilinks]])
This is the better option when it is available — the vault stays where you edit it and syncs by itself.
The vault is not on the server
Use the Obsidian vault tab. It is an upload source that already carries the right content type: drop the vault folder itself, or a zip of it.
Add source → Obsidian vault
Name: vault
[drop the folder or a .zip of it]
Re-upload when the vault changes (Replace all files keeps it exact).
What is rewritten
| In the vault | Indexed as |
|---|---|
[[Guides/Install]] |
[Guides/Install](Guides/Install.md) |
[[Setup|the setup guide]] |
[the setup guide](Setup.md) |
[[API#Auth]] |
[API › Auth](API.md#auth) |
[[#Konular]] (anchor in the same note) |
[Konular](#konular) |
[[Install#^step-3]] (block reference) |
[Install](Install.md#^step-3) |
![[diagram.png]] |
 — images stay embeds |
![[Release Notes]] |
[Release Notes](Release%20Notes.md) — a note embed becomes a link, not a broken image |
> [!NOTE] Heads up |
> **Note:** Heads up — the callout’s kind stays a searchable word |
%% private note %% |
Removed — comments are written not to be read |
The transform runs on the way into the chunker. Your vault files are never modified.
What is skipped
.obsidian/and every other dot-directory (so your workspace settings, plugins and themes are never indexed);- attachments and every file whose extension the source did not select — images,
.canvasfiles, and anything else outside the File types list (.mdand.mdxby default;.txt,.html/.htm,.csv,.docxand.pdfcan be added); - anything matching
IGNORE_GLOBS.
Titles and frontmatter
Frontmatter is parsed by the chunker, and a title: in it wins over the first # heading. If a note
has neither, the filename is prettified into a title. Tags and other frontmatter keys are kept as part
of the document text, so they remain searchable.
Daily notes and large vaults
Nothing special is needed, but two settings help:
IGNORE_GLOBS=Daily/**,Templates/**keeps journal entries and templates out of the index, which usually improves the quality of what comes back.- Split genuinely separate bodies of knowledge into separate projects rather than one huge one.
Changing the content type later
If you added the vault as Plain Markdown by mistake, edit the source and switch the content type to Obsidian vault. Contextator drops that source’s stored file hashes and queues a run, so every file is re-processed with the new transform — this is handled for you. See Content Types.