omega-obsidian

omega-obsidian

Persistent semantic memory server for Obsidian vaults, enabling AI agents to search, read, write, and explore notes with semantic understanding and incremental indexing.

Category
Visit Server

README

<!-- mcp-name: io.github.omega-memory/omega-obsidian -->

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:

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

  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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured