How arosentiehl24/a2rg.obsidianmcp works
A2RG MCP Bridge exposes Obsidian vault operations to MCP clients through a localhost plugin bridge, with an optional stdio client that prefers REST and falls back to local filesystem access. The plugin path is wired by the Obsidian plugin entry point; the stdio path uses its own MCP registry and hybrid router. Search, linked-note graph traversal, path validation, TLS, and persistent search caching are meaningful supporting capabilities. Edges reflect README statements and shown calls or imports; several unsampled modules are represented by their exact tree paths, with uncertain wiring omitted.
Main entry points: index.ts Stdio MCP Runtime · obsidian-vault-adapter.ts Obsidian Adapter · vault.ts Filesystem Vault · main.ts Plugin Lifecycle
Components 23
Obsidian Plugin
- Plugin Lifecycle
plugin/src/main.ts - Bridge Settings
plugin/src/settings.ts - Local TLS
plugin/src/tls/local-certificate.ts - HTTP MCP Bridge
plugin/src/bridge/http-bridge.ts
Stdio Fallback
- Stdio MCP Runtime
src/index.ts - Runtime Config
src/config.ts - Tool Dispatch
src/mcp-tool-registry.ts - Hybrid Router
src/router.ts - Plugin REST Client
src/api.ts - HTTP Transport
src/http-transport.ts
Vault Services
- Obsidian Adapter
plugin/src/adapters/obsidian-vault-adapter.ts - Linked Note Graph
plugin/src/services/obsidian-graph-service.ts - Vault Port
plugin/src/ports/vault-port.ts - Filesystem Vault
src/vault.ts - Vault Path Resolver
src/vault-path-resolver.ts
Shared Search
- MCP Tool Registry
src/mcp-tool-registry.ts - Obsidian Search
plugin/src/services/obsidian-search-service.ts - BM25 Search Index
src/search-index.ts - Persistent Search Cache
src/persistent-search-cache.ts - Tool Schemas
src/tool-schemas.ts
Other components
- MCP Client
- Obsidian Vault APIs
- Stdio MCP Client
Connections 27
- MCP Client → HTTP MCP Bridge: calls MCP
README.md - Plugin Lifecycle → HTTP MCP Bridge: starts bridge
plugin/src/main.ts - Plugin Lifecycle → Obsidian Adapter: constructs adapter
plugin/src/main.ts - Plugin Lifecycle → Bridge Settings: loads settings
plugin/src/main.ts - Plugin Lifecycle → Local TLS: loads TLS
plugin/src/main.ts - HTTP MCP Bridge → MCP Tool Registry: uses tools
plugin/src/bridge/http-bridge.ts - HTTP MCP Bridge → Obsidian Adapter: dispatches vault calls
plugin/src/bridge/http-bridge.ts - Obsidian Adapter → Obsidian Vault APIs: reads and writes
plugin/src/adapters/obsidian-vault-adapter.ts - Obsidian Adapter → Obsidian Search: delegates search
plugin/src/adapters/obsidian-vault-adapter.ts - Obsidian Adapter → Linked Note Graph: delegates graph
plugin/src/adapters/obsidian-vault-adapter.ts - Obsidian Adapter → Vault Port: uses path rules
plugin/src/adapters/obsidian-vault-adapter.ts - Obsidian Search → BM25 Search Index: ranks queries
plugin/src/services/obsidian-search-service.ts - Stdio MCP Client → Stdio MCP Runtime: starts stdio
README.md - Stdio MCP Runtime → Runtime Config: loads configuration
src/index.ts - Stdio MCP Runtime → Tool Dispatch: dispatches tools
src/index.ts - Stdio MCP Runtime → Hybrid Router: constructs router
src/index.ts - Stdio MCP Runtime → Plugin REST Client: constructs client
src/index.ts - Stdio MCP Runtime → Filesystem Vault: constructs vault
src/index.ts - Tool Dispatch → Hybrid Router: routes tool calls
src/mcp-tool-registry.ts - Tool Dispatch → Tool Schemas: validates arguments
src/mcp-tool-registry.ts - Hybrid Router → Plugin REST Client: tries REST first
src/router.ts - Hybrid Router → Filesystem Vault: falls back to files
src/router.ts - Plugin REST Client → HTTP Transport: sends requests
src/api.ts - Filesystem Vault → Vault Path Resolver: resolves paths
src/vault.ts - Filesystem Vault → BM25 Search Index: indexes and searches
src/vault.ts - Filesystem Vault → Persistent Search Cache: persists index
src/vault.ts - Stdio MCP Runtime → MCP Client: serves tools
README.md