MCP Tools for Obsidian

MCP Tools for Obsidian

A local MCP server that enables AI applications like Claude Desktop to securely access and work with Obsidian vaults, providing capabilities for reading notes, executing templates, and performing semantic searches.

jacksteamdev

Note Taking
File Systems
Search
Local
TypeScript
Visit Server

README

MCP Tools for Obsidian

GitHub release (latest by date) Build status License

Features | Installation | Configuration | Troubleshooting | Security | Development | Support

MCP Tools for Obsidian enables AI applications like Claude Desktop to securely access and work with your Obsidian vault through the Model Context Protocol (MCP). MCP is an open protocol that standardizes how AI applications can interact with external data sources and tools while maintaining security and user control. [^2]

This plugin consists of two parts:

  1. An Obsidian plugin that adds MCP capabilities to your vault
  2. A local MCP server that handles communication with AI applications

When you install this plugin, it will help you set up both components. The MCP server acts as a secure bridge between your vault and AI applications like Claude Desktop. This means AI assistants can read your notes, execute templates, and perform semantic searches - but only when you allow it and only through the server's secure API. The server never gives AI applications direct access to your vault files. [^3]

Privacy Note: When using Claude Desktop with this plugin, your conversations with Claude are not used to train Anthropic's models by default. [^1]

Features

When connected to an MCP client like Claude Desktop, this plugin enables:

  • Vault Access: Allows AI assistants to read and reference your notes while maintaining your vault's security [^4]
  • Semantic Search: AI assistants can search your vault based on meaning and context, not just keywords [^5]
  • Template Integration: Execute Obsidian templates through AI interactions, with dynamic parameters and content generation [^6]

All features require an MCP-compatible client like Claude Desktop, as this plugin provides the server component that enables these integrations. The plugin does not modify Obsidian's functionality directly - instead, it creates a secure bridge that allows AI applications to work with your vault in powerful ways.

Prerequisites

Required

Recommended

Installation

[!Important] This plugin requires a secure server component that runs locally on your computer. The server is distributed as a signed executable, with its complete source code available in packages/mcp-server/. For details about our security measures and code signing process, see the Security section.

  1. Install the plugin from Obsidian's Community Plugins
  2. Enable the plugin in Obsidian settings
  3. Open the plugin settings
  4. Click "Install Server" to download and configure the MCP server

Clicking the install button will:

  • Download the appropriate MCP server binary for your platform
  • Configure Claude Desktop to use the server
  • Set up necessary permissions and paths

Installation Locations

  • Server Binary: {vault}/.obsidian/plugins/obsidian-mcp-tools/bin/
  • Log Files:
    • macOS: ~/Library/Logs/obsidian-mcp-tools
    • Windows: %APPDATA%\obsidian-mcp-tools\logs
    • Linux: ~/.local/share/obsidian-mcp-tools/logs

Configuration

After clicking the "Install Server" button in the plugin settings, the plugin will automatically:

  1. Download the appropriate MCP server binary
  2. Use your Local REST API plugin's API key
  3. Configure Claude Desktop to use the MCP server
  4. Set up appropriate paths and permissions

While the configuration process is automated, it requires your explicit permission to install the server binary and modify the Claude Desktop configuration. No additional manual configuration is required beyond this initial setup step.

Troubleshooting

If you encounter issues:

  1. Check the plugin settings to verify:
    • All required plugins are installed
    • The server is properly installed
    • Claude Desktop is configured
  2. Review the logs:
    • Open plugin settings
    • Click "Open Logs" under Resources
    • Look for any error messages or warnings
  3. Common Issues:
    • Server won't start: Ensure Claude Desktop is running
    • Connection errors: Verify Local REST API plugin is configured
    • Permission errors: Try reinstalling the server

Security

Binary Distribution

  • All releases are built using GitHub Actions with reproducible builds
  • Binaries are signed and attested using SLSA provenance
  • Release workflows are fully auditable in the repository

Runtime Security

  • The MCP server runs with minimal required permissions
  • All communication is encrypted
  • API keys are stored securely using platform-specific credential storage

Binary Verification

The MCP server binaries are published with SLSA Provenance attestations, which provide cryptographic proof of where and how the binaries were built. This helps ensure the integrity and provenance of the binaries you download.

To verify a binary using the GitHub CLI:

  1. Install GitHub CLI:

    # macOS (Homebrew)
    brew install gh
    
    # Windows (Scoop)
    scoop install gh
    
    # Linux
    sudo apt install gh  # Debian/Ubuntu
    
  2. Verify the binary:

    gh attestation verify --owner jacksteamdev <binary path or URL>
    

The verification will show:

  • The binary's SHA256 hash
  • Confirmation that it was built by this repository's GitHub Actions workflows
  • The specific workflow file and version tag that created it
  • Compliance with SLSA Level 3 build requirements

This verification ensures the binary hasn't been tampered with and was built directly from this repository's source code.

Reporting Security Issues

Please report security vulnerabilities via our security policy. Do not report security vulnerabilities in public issues.

Development

This project uses a monorepo structure with feature-based architecture. For detailed project architecture documentation, see .clinerules.

Using Cline

Some code in this project was implemented using the AI coding agent Cline. Cline uses cline_docs/ and the .clinerules file to understand project architecture and patterns when implementing new features.

Workspace

This project uses a Bun workspace structure:

packages/
├── mcp-server/        # Server implementation
├── obsidian-plugin/   # Obsidian plugin
└── shared/           # Shared utilities and types

Building

  1. Install dependencies:
    bun install
    
  2. Build all packages:
    bun run build
    
  3. For development:
    bun run dev
    

Requirements

  • bun v1.1.42 or higher
  • TypeScript 5.0+

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests:
    bun test
    
  5. Submit a pull request

Please see CONTRIBUTING.md for detailed guidelines.

Support

Changelog

See CHANGELOG.md for a list of changes in each release.

License

MIT License

Footnotes

[^1]: For information about Claude data privacy and security, see Claude AI's data usage policy [^2]: For more information about the Model Context Protocol, see MCP Introduction [^3]: For a list of available MCP Clients, see MCP Example Clients [^4]: Requires Obsidian plugin Local REST API [^5]: Requires Obsidian plugin Smart Connections [^6]: Requires Obsidian plugin Templater

Recommended Servers

Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Excel MCP Server

Excel MCP Server

A Model Context Protocol server that enables AI assistants to read from and write to Microsoft Excel files, supporting formats like xlsx, xlsm, xltx, and xltm.

Featured
Local
Go
Playwright MCP Server

Playwright MCP Server

Provides a server utilizing Model Context Protocol to enable human-like browser automation with Playwright, allowing control over browser actions such as navigation, element interaction, and scrolling.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
Apple MCP Server

Apple MCP Server

Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.

Featured
Local
TypeScript
contentful-mcp

contentful-mcp

Update, create, delete content, content-models and assets in your Contentful Space

Featured
TypeScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.

Featured
TypeScript