
Knowledge Graph
https://github.com/obra/knowledge-graph- Category
- Productivity
- Rank
- No. 1136Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- obra
- GitHub
- 108 stars
- Date
About
Query and traverse an Obsidian vault as a knowledge graph with semantic search, path finding, and community detection — all local. Includes Claude Code plugin.
What it does
Knowledge Graph turns Markdown notes and their wiki links into a searchable SQLite-backed network. It extracts titles, frontmatter, tags, link context, and unresolved references, then supports keyword and meaning-based lookup, connection exploration, clustering, and centrality analysis.
Why it's ranked here
This is a focused local data layer for serious Obsidian investigation. Incremental indexing, contextual edges, two search modes, graph algorithms, JSON output, and agent access make it practical. The strongest caveat is that the documented operation count understates the implemented interfaces.
What's good
The index stores full text, compact local embeddings, link context, and graph structure in one SQLite database. Incremental updates avoid recomputing unchanged notes. Ambiguous names produce candidates instead of silently guessing. Malformed frontmatter falls back to plain Markdown. Isolated nodes receive zero centrality, while ranking continues for connected notes.
Tradeoffs
The first semantic operation downloads a 22MB model. Embeddings use only the title, tags, and first paragraph, so later content affects keyword search but not semantic representation. Community detection reruns across the full graph after changes. Ambiguous wiki links can resolve to the first matching file with a warning. The command line cannot perform the MCP interface's write operations.
How to use it well
Use it when an Obsidian vault is large enough that links, clusters, and indirect connections matter more than manual browsing. Index incrementally, use keyword search for exact language, semantic search for concepts, then inspect paths and edge context. It does not supply reasoning or replace an LLM.
Technical notes+
package.json defines an ESM TypeScript package, a TypeScript compiler build, Vitest scripts, and a command-line binary. src/lib/parser.ts recursively reads Markdown, excludes selected vault directories, extracts frontmatter, inline tags, wiki links, and paragraph context, and creates stub identifiers for unresolved links. src/lib/store.ts creates WAL-mode SQLite tables plus FTS5 and sqlite-vec virtual tables with 384-float vectors. src/lib/index-pipeline.ts compares modification times, updates changed nodes and outgoing edges, removes deleted nodes, computes embeddings, and reruns community detection when needed. src/lib/graph.ts builds a directed multigraph, converts it to a simple undirected graph for traversal and analysis, and implements bounded simple-path enumeration. src/mcp/index.ts exposes read, analysis, indexing, node creation, annotation, and link-writing tools over stdio, while src/cli/index.ts exposes JSON-producing read and analysis commands plus indexing.
Observed
- License
- MIT
- Primary language
- TypeScript
- Install surface
- Clone the repository and run npm install
- Interfaces
- JSON command-line interface and stdio MCP server
- Storage
- Single SQLite database using FTS5 and sqlite-vec
- Runtime model
- Local quantized Xenova/all-MiniLM-L6-v2 embeddings
- Agent integration
- Claude Code plugin with an automatically started MCP server
Read from README.md, package.json, src/cli/index.ts, src/mcp/index.ts, src/lib/graph.ts, src/lib/store.ts, src/lib/types.ts, src/lib/config.ts, src/lib/parser.ts, src/lib/search.ts, src/lib/writer.ts, src/lib/resolve.ts, src/lib/embedder.ts, src/lib/wiki-links.ts, src/lib/index-pipeline.ts.
What it can do
Query knowledge graph with semantic search
Natural language search terms → Relevant notes and connections from Obsidian vault
Find paths between knowledge nodes
Two notes or concepts in the vault → Connection paths showing relationships between the concepts
Detect communities within knowledge graph
Obsidian vault structure and connections → Identified clusters or groups of related notes
Traverse knowledge graph relationships
Starting note or concept → Network of connected notes and their relationships
Generate code from natural language prompts
Natural language description of desired code functionality → Generated code snippets or programs
Process vault data locally
Obsidian vault files and metadata → Knowledge graph structure and analysis results
Intel on Knowledge Graph
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.