omega-obsidian
Persistent semantic memory for Obsidian vaults. Your coding agent remembers what it learned from your notes.
Why omega-obsidian?
Existing Obsidian MCP servers let agents read your files. omega-obsidian lets agents remember what they learned from your vault, across sessions, with semantic search.
The difference:
| Feature | File-based MCP servers | omega-obsidian |
|---|---|---|
| Read notes | Yes | Yes |
| Search by filename | Yes | Yes |
| Semantic search (search by meaning) | No | Yes |
| Persistent index (instant startup after first run) | No | Yes |
| Incremental updates (only re-indexes changed files) | No | Yes |
| Write back (agent stores memories into your vault) | No | Yes |
| Knowledge graph (backlinks, wikilinks, shared tags) | No | Yes |
Install
pip install omega-obsidian
For higher-quality embeddings (bge-small-en-v1.5 via ONNX), install with the OMEGA engine:
pip install omega-obsidian[omega]
Without [omega], the server uses a built-in TF-IDF fallback that requires no extra dependencies.
MCP Configuration
Claude Code
Add to your Claude Code MCP settings (~/.claude.json or project .claude/settings.json):
{
"mcpServers": {
"omega-obsidian": {
"command": "omega-obsidian",
"args": ["--vault-path", "/path/to/your/obsidian/vault"],
"env": {}
}
}
}
Or use an environment variable instead of --vault-path:
{
"mcpServers": {
"omega-obsidian": {
"command": "omega-obsidian",
"env": {
"OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault"
}
}
}
}
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"omega-obsidian": {
"command": "omega-obsidian",
"args": ["--vault-path", "/path/to/your/obsidian/vault"]
}
}
}
Windsurf
Add to your Windsurf MCP config:
{
"mcpServers": {
"omega-obsidian": {
"command": "omega-obsidian",
"args": ["--vault-path", "/path/to/your/obsidian/vault"]
}
}
}
Tools
omega-obsidian exposes 6 MCP tools:
vault_search
Semantic search across all indexed vault notes. Returns matches ranked by relevance with scores and content snippets.
query: "authentication flow design"
limit: 5
vault_read
Read a specific note by its vault-relative path. Returns the full content with parsed frontmatter, tags, and wikilinks.
path: "Projects/auth-redesign.md"
vault_remember
Store a new memory or note into the vault from agent context. Creates a markdown file with frontmatter and indexes it immediately.
title: "Auth API Decision"
content: "We decided to use JWT with refresh tokens..."
tags: ["architecture", "auth"]
folder: "Decisions"
vault_graph
Get notes related to a given note via backlinks, wikilinks, and shared tags. Useful for exploring connections in your knowledge base.
path: "Projects/auth-redesign.md"
vault_index
Reindex the entire vault. Rebuilds embeddings for all files. Run this after making bulk changes to the vault outside the agent.
vault_recent
Get recently modified notes, sorted by modification time (newest first).
limit: 10
How It Works
-
First startup: omega-obsidian walks your Obsidian vault, parses every
.mdfile (extracting frontmatter, wikilinks, and tags), generates semantic embeddings, and stores everything in a local SQLite database at~/.omega-obsidian/index.db. -
Subsequent startups: Only new or modified files are re-indexed (incremental). The index persists across sessions, so startup is fast.
-
Semantic search: When you search, the query is embedded using the same model and compared against all note embeddings via cosine similarity. This finds notes by meaning, not just keyword matching.
-
Knowledge graph: Wikilinks (
[[note]]) and tags (#tag) are parsed and stored, enabling graph traversal to find related notes. -
Write-back: The
vault_remembertool creates real Obsidian-compatible markdown files in your vault with proper frontmatter, so your agent's memories become part of your knowledge base.
Embedding Backends
omega-obsidian supports two embedding backends:
- OMEGA engine (recommended): Uses bge-small-en-v1.5 via ONNX for high-quality 384-dimensional embeddings. Install with
pip install omega-obsidian[omega]. - TF-IDF fallback: A built-in hashed TF-IDF embedder that requires no extra dependencies. Lower quality but works everywhere.
The server auto-detects which backend is available and uses the best one.
Configuration
| Setting | CLI Flag | Environment Variable | Default |
|---|---|---|---|
| Vault path | --vault-path |
OBSIDIAN_VAULT_PATH |
(required) |
| Database path | --db-path |
OBSIDIAN_DB_PATH |
~/.omega-obsidian/index.db |
| Excluded folders | - | OBSIDIAN_EXCLUDED_FOLDERS |
.obsidian,.trash |
| Verbose logging | --verbose / -v |
- | off |
Powered by OMEGA
omega-obsidian uses the embedding engine from OMEGA, persistent memory for AI coding agents. If you need full agent memory (not just Obsidian vault search), check out OMEGA.
Metadata
Release files for omega-obsidian 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| omega_obsidian-0.1.0.tar.gz | 15.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| omega_obsidian-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.7 kB
Release files / omega_obsidian-0.1.0.tar.gz
| Download URL | omega_obsidian-0.1.0.tar.gz |
|---|---|
| Size | 15.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b01ea14fcea182a31bd841dae017212bd31b5ebd70717a4166a9babed305ba07
|
|
BLAKE2b-256 checksum How to use checksums |
c642696bd4603a79758444e4b2d007654b0818a4c3005478556e6f6605e99107
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / omega_obsidian-0.1.0-py3-none-any.whl
| Download URL | omega_obsidian-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6233bd14d75ac769dab2211d9daa4ff643bcf9b4d0b095bcecd825acf72e280b
|
|
BLAKE2b-256 checksum How to use checksums |
9a2c0887f342ba1a6cecae4130662811fb8a1f59f9cbf96dab79e9e7a5120e55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Security for omega-obsidian 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.