{
  "markdown": "# obsidian-mcp\n\nMCP server that turns any Obsidian vault into an AI-queryable knowledge graph.\n\n**What makes this different from the 24+ existing Obsidian MCP servers:**\n\n- **Graph-first** — BFS, shortest path, connected components, bridge detection via `[[wikilinks]]`\n- **Zero infrastructure** — No database, no Obsidian running, no API keys\n- **Vault-agnostic** — Works with any existing vault, no required structure\n- **Backlink-aware writes** — `move_note` auto-updates all references across the vault\n- **Tiny** — 4 runtime dependencies, ~42KB bundle\n\n## Quick Start\n\n```bash\nnpx obsidian-mcp --vault ~/my-obsidian-vault\n```\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"obsidian\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"obsidian-mcp\", \"--vault\", \"/path/to/vault\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add obsidian -- npx -y obsidian-mcp --vault /path/to/vault\n```\n\n## Tools (12)\n\n### Reading & Discovery\n\n| Tool | Description |\n|------|-------------|\n| `vault_stats` | Overview: total notes, tags, links, orphans, components, top tags/hubs |\n| `read_note` | Full content + frontmatter + links + backlinks + sections |\n| `search_notes` | Filter by tags, folder, frontmatter, keyword. All combinable |\n\n### Graph Traversal\n\n| Tool | Description |\n|------|-------------|\n| `graph_neighbors` | Direct links + backlinks for a note |\n| `graph_traverse` | BFS/DFS from a note, N hops deep with tag filtering |\n| `graph_shortest_path` | Shortest link chain between two notes |\n| `graph_analyze` | Components, orphans, bridges, hubs, dead links |\n\n### Writing & Manipulation\n\n| Tool | Description |\n|------|-------------|\n| `create_note` | Create with content + frontmatter |\n| `patch_note` | Append, prepend, or replace a section. Update frontmatter |\n| `move_note` | Rename/move + auto-update all backlinks across vault |\n| `delete_note` | Delete + report broken links |\n| `manage_tags` | Add/remove/rename tags (vault-wide rename supported) |\n\n## Configuration\n\nZero-config by default. Optional `.obsidian-mcp.json` in vault root:\n\n```json\n{\n  \"ignore\": [\"templates/\", \"daily-notes/\", \".trash/\"],\n  \"watchDebounce\": 100,\n  \"maxTraversalDepth\": 10,\n  \"maxSearchResults\": 500\n}\n```\n\n### CLI Flags\n\n```\n--vault <path>       Path to Obsidian vault (required)\n--verbose            Enable debug logging\n--log-level <level>  error | warn | info | debug (default: info)\n```\n\n## How It Works\n\n1. On startup, scans all `.md` files and builds an in-memory graph (~1-3s for 1k notes)\n2. File watcher detects changes and updates the graph incrementally (~5ms per change)\n3. Claude queries the graph via MCP tools — no re-scanning needed\n4. Write operations update both the filesystem and the graph atomically\n\nHardcoded exclusions: `.obsidian/`, `.trash/`, `node_modules/`\n\n## Development\n\n```bash\nnpm install\nnpm test              # Run 66 tests\nnpm run build         # Build to dist/\nnpm run dev -- --vault test/fixtures/vault  # Dev mode\n```\n\n## License\n\nMIT\n",
  "bytes": 3058,
  "sha": "2b0aa0aa0bc9df7388b7a64b0a81d3ac84d4318f2a36200b48665af95da3fa1c",
  "repo_slug": "seynurmammad0v/obsidian-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_seynurmammad0v_obsidian_mcp_5fab7d12/readme"
}