librarian-mcp
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Gecti
- Code scan — Scanned 3 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
This tool is an MCP server that connects an AI assistant to a local Obsidian markdown vault, enabling features like knowledge graph traversal, auto-wikilinks, and trigram search directly within your chat interface.
Security Assessment
The overall risk is rated as Medium. The application strictly runs as a local binary communicating over standard input/output, meaning it does not make external network requests, contains no hardcoded secrets, and avoids telemetry. However, it inherently requires read and write access to your local markdown files. While a light code scan of three files found no dangerous patterns or dangerous permissions, the tool's core capability involves modifying your personal notes. Because the project has low community visibility, the scanning depth was limited, meaning developers should trust the creator before allowing it to alter their vault.
Quality Assessment
The project is licensed under the permissive MIT standard and is highly maintained, with its most recent push happening today. The installation process is straightforward, offering Homebrew, pre-built binaries, and compiling from source via Rust. The primary concern is its extremely low community visibility—only having 6 GitHub stars means it has not undergone widespread peer review or extensive community testing.
Verdict
Use with caution: the tool is active and built on a secure local architecture, but its low visibility means you should review the open-source code yourself before granting it write access to your important markdown notes.
The Karpathy LLM Wiki pattern, productionized. MCP server that gives Claude a librarian for your Obsidian vault — graph traversal, auto-wikilinks, trigram search.
Librarian
Give Claude a librarian for your markdown vault.
Librarian is the Karpathy LLM Wiki pattern, productionized as an MCP server — bidirectional graph traversal, auto-wikilinks, trigram search, community detection, and a D3 graph view, all from inside Claude. Works against any Obsidian vault or plain folder of markdown files.
Runs entirely locally. Your vault data never leaves your machine. Librarian reads and writes files on disk and communicates with Claude over stdio. No network calls, no telemetry, no cloud storage.
Quick Start
# 1. Install
brew install ngmeyer/tap/librarian-mcp
# 2. Point at your vault and auto-configure Claude
librarian-mcp --setup ~/my-vault
# 3. Restart Claude, then try:
# /librarian analyze — see your vault's knowledge graph
# /librarian search — find anything across all notes
# /librarian status — vault health overview
--setup writes the MCP server config into Claude Desktop and Claude Code (with backups), and installs the /librarian skill so you get 12 slash commands out of the box.
Install
Homebrew (macOS)
brew install ngmeyer/tap/librarian-mcp
Pre-built binaries
Download from GitHub Releases for macOS (arm64/x86_64), Linux (arm64/x86_64), and Windows. Place the binary on your PATH.
Build from source (requires Rust)
cargo install --git https://github.com/ngmeyer/librarian-mcp
How It Works
Librarian is a standalone binary — it works directly on your markdown files. Obsidian does not need to be running (and they can run simultaneously without conflict). Claude connects via the Model Context Protocol over stdio.
How is this different from...
| Read files directly | Obsidian Copilot | mcp-obsidian | Librarian | |
|---|---|---|---|---|
| Trigram-indexed search | No | Plugin | Plugin | Yes |
| Auto-wikilinks on write | No | No | No | Yes |
| Knowledge graph traversal | No | No | Partial | Yes (BFS, shortest path) |
| Community detection | No | No | No | Yes (Louvain) |
| Interactive graph viz | No | No | No | Yes (D3.js) |
| Works without Obsidian | Yes | No | No | Yes |
| Works in Claude Code | Yes (manual) | No | No | Yes |
| Standalone binary | N/A | No | No | Yes |
Setup
librarian-mcp --setup ~/my-vault
This auto-configures Claude Desktop and Claude Code (with backups of existing configs). Restart Claude to connect.
Multiple vaults
librarian-mcp --setup ~/vaults/notes ~/vaults/research
Manual configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json) or Claude Code config (~/.claude/settings.json):
{
"mcpServers": {
"librarian": {
"command": "librarian-mcp",
"args": ["/path/to/your/vault"]
}
}
}
Environment variables
LIBRARIAN_VAULT=/path/to/vault # Single vault
LIBRARIAN_VAULTS=/vault/one:/vault/two # Multiple vaults (colon-separated, Unix only)
Tools
Librarian exposes 17 tools to Claude:
| Tool | Description |
|---|---|
library_search |
Full-text search across all vault files (trigram-indexed) |
library_read |
Read a file by relative path |
library_write |
Write a file with auto-wikilink detection |
library_list |
List files and directories (shows vault roots when multi-vault) |
library_links |
Get backlinks and outgoing wikilinks for a file |
library_tags |
List all #tags with counts, optionally filtered by prefix |
library_metadata |
Read YAML frontmatter from a file |
library_daily |
Create or append to a daily note (Journal/YYYY/YYYY-MM-DD.md) |
library_stats |
Vault statistics: file count, word count, link density, orphan notes |
library_suggest_links |
Find unlinked mentions of existing notes (including aliases) |
library_traverse |
BFS traversal from a note — explore the topic neighborhood N hops deep |
library_shortest_path |
Find the shortest link chain between two notes |
library_graph_analysis |
Connected components, hub notes, bridges, orphans |
library_import |
Convert PDF, DOCX, images, etc. to markdown (requires MarkItDown) |
library_cluster |
Detect topic communities using Louvain modularity optimization |
library_visualize |
Generate interactive HTML graph visualization (D3.js) |
library_report |
Comprehensive vault analysis: god nodes, communities, bridges |
The /librarian Skill
--setup installs a Claude Code skill that gives you 12 high-level commands built on the tools above:
| Command | What it does |
|---|---|
/librarian search <query> |
Deep search with synthesis across top results |
/librarian analyze |
Full vault analysis — communities, hubs, visualization |
/librarian graph [note] |
Explore a note's neighborhood or vault-wide structure |
/librarian connect [path] |
Find and apply missing wikilinks |
/librarian daily [text] |
Append to today's daily note |
/librarian status |
Quick vault health check |
/librarian ingest [path] |
Import a local markdown file into the vault |
/librarian import <file> |
Convert PDF/DOCX/images to vault markdown |
/librarian from web <url> |
Import a web page as a vault note |
/librarian from twitter <url> |
Import an X/Twitter thread |
/librarian from gmail <query> |
Import Gmail threads |
/librarian from calendar |
Import calendar events |
Example: Research Skill Graph
The repo includes a 16-file example vault demonstrating multi-lens research analysis — 6 analytical lenses that force different perspectives on any topic.
To try it after cloning:
git clone https://github.com/ngmeyer/librarian-mcp
cd librarian-mcp
librarian-mcp --setup examples/research-skill-graph
Then in Claude Code: "Follow the execution instructions in index.md. Research: Why are prediction market edges compressing?"
The vault includes source evaluation (5-tier trust system), contradiction protocol, synthesis rules, and a knowledge layer that compounds across projects. See examples/research-skill-graph/index.md for the full system.
Features
Auto-linking
When Claude writes files via library_write, Librarian scans for mentions of existing note titles and wraps them in [[wikilinks]]. This happens only on explicit writes — Librarian never modifies files you didn't ask it to write.
Links use canonical file names so they resolve correctly in Obsidian's graph view, even on case-sensitive filesystems. Frontmatter aliases are supported: if a note has aliases: [ML, machine learning], mentions will auto-link using [[Note Name|ML]] format.
Auto-linking skips code blocks, inline code, URLs, and existing wikilinks to avoid corrupting content.
Knowledge graph traversal
Librarian builds a bidirectional graph from your vault's [[wikilinks]] and exposes three graph tools:
- Traverse — BFS from any note, N hops deep. "Show me everything connected to this topic."
- Shortest path — Find the link chain between two notes. "How are these ideas connected?"
- Graph analysis — Connected components, hub notes, bridge notes, orphans. "What's the structure of my vault?"
Community detection
Louvain modularity optimization identifies topic clusters in your vault. Combined with betweenness centrality and PageRank, the report tool ranks "god nodes" (structurally important notes) and finds surprising cross-community connections.
Search
Search is backed by an in-memory trigram index built on startup. Handles vaults with 10,000+ files.
Exclusion patterns
By default, Librarian skips .obsidian/, .trash/, .git/, and node_modules/. Drop a .librarianignore file (gitignore syntax) in your vault root to customize:
# .librarianignore
templates/
private/
Obsidian compatibility
Librarian works seamlessly alongside Obsidian — both can be open at the same time:
- Reads and writes standard
[[wikilinks]]and[[note|display text]] - Respects YAML frontmatter and
aliases - Skips
.obsidian/and.trash/directories - Auto-linked wikilinks resolve in Obsidian's graph view
- Daily notes follow
Journal/YYYY/YYYY-MM-DD.mdconvention
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi