Obsidian MCP Server
MCP ServerFreeSearch, read, and write Obsidian vault notes via MCP.
Capabilities11 decomposed
mcp protocol-compliant tool exposure for obsidian vaults
Medium confidenceImplements the Model Context Protocol specification to expose read_notes and search_notes as discoverable tools to MCP clients like Claude Desktop. The server registers tool schemas with the MCP client during initialization, enabling standardized tool discovery and invocation through the MCP protocol's tool_call mechanism. This allows any MCP-compatible client to dynamically discover available capabilities without hardcoding tool knowledge.
Implements full MCP server specification with tool registry pattern, enabling clients to discover tools via MCP's list_tools and call_tool methods rather than requiring hardcoded tool knowledge or custom integrations
More standardized and client-agnostic than REST API wrappers or custom integrations, allowing any MCP-compatible client to access Obsidian without modification
path-validated markdown file reading with directory traversal prevention
Medium confidenceReads markdown file contents from the vault by accepting relative file paths, validating them through a Path Validator component that prevents directory traversal attacks (../ patterns), symlink escapes, and hidden file access. The validator ensures all file operations remain within the configured vault root directory before passing validated paths to the file system layer. This security-first approach allows safe external access to vault contents while maintaining strict boundaries.
Implements multi-layer path validation (canonicalization, traversal pattern detection, symlink resolution, hidden file checks) as a dedicated Path Validator component rather than inline validation, enabling auditable and testable security boundaries
More robust than simple string prefix matching because it canonicalizes paths and validates symlinks, preventing sophisticated traversal attacks that bypass naive string-based checks
async file system operations with error handling
Medium confidencePerforms all file system operations asynchronously using Node.js async APIs (fs.promises) rather than blocking synchronous calls, preventing the server from hanging when reading large files or slow storage. Each operation includes comprehensive error handling for common failures (file not found, permission denied, encoding errors) with descriptive error messages returned to the client. This async-first approach ensures the server remains responsive even under load or with slow storage backends.
Uses Node.js fs.promises API for all file operations rather than mixing sync and async calls, ensuring consistent async behavior and preventing accidental blocking operations that could degrade server performance
More responsive than synchronous file operations because it doesn't block the event loop, allowing the server to handle multiple concurrent requests without performance degradation
glob-pattern-based markdown file search across vault
Medium confidenceSearches the vault for markdown files matching glob patterns (e.g., '*.md', 'notes/**/project*.md') by accepting a search pattern, validating it through the Path Validator to prevent directory traversal in the pattern itself, then executing filesystem glob operations within the vault boundary. Returns a list of matching file paths relative to vault root. This enables AI assistants to discover relevant notes without requiring exact filenames.
Validates glob patterns through the same Path Validator component used for file reads, preventing attackers from crafting patterns that escape the vault directory, rather than treating search as a separate security domain
Safer than exposing raw filesystem glob to untrusted clients because pattern validation prevents directory traversal within the search itself, whereas naive glob implementations could be exploited with patterns like '../../../etc/*'
obsidian vault configuration and directory binding
Medium confidenceConfigures the MCP server to bind to a specific Obsidian vault directory or any markdown-containing directory through environment variables or configuration files. The server reads the vault path at startup, validates it exists and is readable, then uses it as the root boundary for all subsequent file operations. This configuration-driven approach allows a single mcp-obsidian installation to serve different vaults by changing configuration without code changes.
Uses environment variable-based configuration compatible with Smithery CLI and VS Code MCP extension installers, enabling one-click setup through standard MCP configuration patterns rather than requiring manual file editing
More flexible than hardcoded vault paths because configuration can be changed per deployment, and more standardized than custom config formats because it follows MCP server configuration conventions
markdown content retrieval with metadata preservation
Medium confidenceRetrieves markdown file contents exactly as stored, preserving all formatting, frontmatter (YAML/TOML), internal links, and metadata. The read_notes tool returns raw file content without parsing or transformation, allowing AI assistants to see the exact note structure including Obsidian-specific syntax like [[internal links]] and #tags. This preservation enables the AI to understand note relationships and metadata without requiring separate metadata extraction.
Returns raw markdown without parsing or normalization, preserving Obsidian-specific syntax like [[links]] and #tags as-is, allowing AI models to understand vault structure directly rather than requiring intermediate transformation layers
More transparent than APIs that parse and normalize markdown because the AI sees exactly what's in the vault, enabling it to understand internal link graphs and metadata relationships without additional context
internal link graph awareness through raw markdown access
Medium confidenceEnables understanding of Obsidian's internal link graph by exposing raw markdown content that contains [[wiki-style links]] and backlinks. While mcp-obsidian doesn't explicitly parse the link graph, it provides the raw markdown that contains all link information, allowing AI assistants to extract and reason about note relationships by analyzing the [[note-name]] syntax. Combined with the search capability, this enables graph traversal patterns where the AI can follow links to discover related notes.
Preserves Obsidian's [[wiki-link]] syntax in raw markdown rather than normalizing to standard markdown links, allowing AI to understand Obsidian-specific linking semantics and potentially distinguish between different link types or contexts
More flexible than a pre-computed link graph API because the AI can apply custom logic to link discovery (e.g., filtering by link context, understanding link metadata), though it requires more client-side processing
multi-client mcp server compatibility
Medium confidenceImplements the MCP server specification in a way that's compatible with multiple MCP clients including Claude Desktop, VS Code with MCP extension, and custom MCP client implementations. The server exposes tools through standard MCP protocol methods (list_tools, call_tool) without client-specific code paths, allowing the same server instance to serve different clients simultaneously. This client-agnostic approach is enabled by strict adherence to the MCP specification.
Implements MCP specification without client-specific code paths or adaptations, ensuring true client-agnosticism through strict protocol compliance rather than special-casing for popular clients
More portable than custom integrations because any MCP-compatible client can use it without modification, whereas REST APIs or custom protocols require client-specific implementations
installation through smithery cli with one-command setup
Medium confidenceProvides installation through the Smithery CLI tool (npx @smithery/cli install mcp-obsidian --client claude) which automatically configures mcp-obsidian for Claude Desktop without manual JSON editing. The Smithery installer handles downloading the server, setting up configuration files, and registering the server with Claude Desktop. This abstraction eliminates the need for users to understand MCP configuration details or manually edit JSON files.
Integrates with Smithery's package registry and CLI tooling to provide one-command installation, abstracting away MCP configuration complexity rather than requiring users to manually edit JSON files or understand MCP server setup
More user-friendly than manual JSON configuration because it eliminates error-prone file editing, and more discoverable than GitHub clone-and-build approaches because it's available through a centralized package registry
vs code mcp extension integration with badge-based installation
Medium confidenceProvides VS Code integration through MCP extension badges and manual configuration options, allowing users to install mcp-obsidian directly from VS Code's MCP extension UI. The integration supports both one-click badge installation (if VS Code extension supports it) and manual JSON configuration in VS Code settings. This enables developers to use Obsidian as a knowledge base within their VS Code environment without leaving the editor.
Provides both badge-based one-click installation and manual JSON configuration options, supporting different user preferences and VS Code extension maturity levels rather than forcing a single installation method
More integrated than external tools because it works within VS Code's native UI, though less mature than Claude Desktop integration due to varying MCP extension implementations
vault boundary enforcement with symlink and hidden file validation
Medium confidenceEnforces strict vault boundaries by validating not just file paths but also symlinks and hidden files. The Path Validator component resolves symlinks to their targets and verifies the target is within the vault boundary, preventing symlink-based escape attacks. It also blocks access to hidden files (starting with .) and hidden directories, preventing accidental exposure of system files or configuration. This multi-layer validation ensures that even sophisticated attacks cannot escape the vault directory.
Implements symlink resolution and hidden file checks as part of the Path Validator component, treating them as first-class security concerns rather than afterthoughts, and validating them uniformly across all file operations
More robust than simple path prefix matching because it handles symlink-based escape attempts and hidden file access, whereas naive implementations could be bypassed with symlinks pointing outside the vault
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with Obsidian MCP Server, ranked by overlap. Discovered automatically through the match graph.
obsidian-mcp-server
Obsidian Knowledge-Management MCP (Model Context Protocol) server that enables AI agents and development tools to interact with an Obsidian vault. It provides a comprehensive suite of tools for reading, writing, searching, and managing notes, tags, and frontmatter, acting as a bridge to the Obsidian
Obsidian
** - Interacting with Obsidian via REST API
mcp-obsidian
Model Context Protocol server for Obsidian Vaults
@adisuryanathanael/mcp-server-filesystem2
MCP-compatible server tool for filesystem access from https://github.com/adisuryanathan/modelcontextprotocol-servers.git
Vault MCP Server
Enable secure and efficient management of encrypted data vaults through a standardized protocol interface. Facilitate seamless integration of encrypted storage and retrieval operations within your applications. Enhance data security and accessibility by leveraging this server's capabilities.
@modelcontextprotocol/server-filesystem
MCP server for filesystem access
Best For
- ✓AI application developers building multi-tool agent systems
- ✓Teams integrating Obsidian with Claude Desktop or other MCP clients
- ✓Builders creating cross-platform AI assistants that need knowledge base access
- ✓Users sharing Obsidian vaults with AI assistants and requiring security guarantees
- ✓Teams deploying mcp-obsidian in multi-user or untrusted environments
- ✓Developers building knowledge base integrations where file access control is critical
- ✓Servers handling multiple concurrent client connections
- ✓Vaults with large files (>1MB) that would block synchronous operations
Known Limitations
- ⚠MCP protocol overhead adds ~50-100ms per tool invocation due to serialization and deserialization
- ⚠Tool discovery is static at server startup — dynamic tool registration not supported
- ⚠Limited to MCP v1.0 specification — no support for streaming responses or advanced protocol features
- ⚠Path validation adds ~5-10ms latency per read operation due to canonicalization checks
- ⚠Cannot read files outside the configured vault directory even if user has system permissions
- ⚠Symlink validation may block legitimate use cases where symlinks point within vault boundaries
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
Community MCP server for Obsidian knowledge base. Provides tools to search notes, read and write markdown files, manage tags, and navigate the vault's internal link graph structure.
Categories
Alternatives to Obsidian MCP Server
Search the Supabase docs for up-to-date guidance and troubleshoot errors quickly. Manage organizations, projects, databases, and Edge Functions, including migrations, SQL, logs, advisors, keys, and type generation, in one flow. Create and manage development branches to iterate safely, confirm costs
Compare →AI-optimized web search and content extraction via Tavily MCP.
Compare →Scrape websites and extract structured data via Firecrawl MCP.
Compare →Are you the builder of Obsidian MCP Server?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →