Skip to main content

omega-obsidian

Persistent semantic memory for Obsidian vaults. Your coding agent remembers what it learned from your notes.

License: Apache-2.0 Python 3.11+

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:

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

  1. First startup: omega-obsidian walks your Obsidian vault, parses every .md file (extracting frontmatter, wikilinks, and tags), generates semantic embeddings, and stores everything in a local SQLite database at ~/.omega-obsidian/index.db.

  2. Subsequent startups: Only new or modified files are re-indexed (incremental). The index persists across sessions, so startup is fast.

  3. 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.

  4. Knowledge graph: Wikilinks ([[note]]) and tags (#tag) are parsed and stored, enabling graph traversal to find related notes.

  5. Write-back: The vault_remember tool 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)

Source distribution for omega-obsidian 0.1.0
File Size Uploaded Provenance
omega_obsidian-0.1.0.tar.gz 15.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for omega-obsidian 0.1.0
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page