Skip to main content
# MCP Obsidian Server

An [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that allows LLMs to interact with your Obsidian vault via the [Local REST API](https://github.com/codemirror/obsidian-local-rest-api).

This server enables AI agents (like Claude Desktop) to read, write, search, and analyze your personal knowledge base with built-in stability features like circuit breakers and exponential backoff.

## 🚀 Features

*   **Full File Management**: List, read, create, append, and patch notes.
*   **Powerful Search**: Supports both simple text queries and complex JSON-logic searches.
*   **Vault Analytics**: Tools to calculate link density, identify orphaned notes, and track top tags.
*   **Resilience**: 
    *   **Retry Logic**: Exponential backoff with jitter for transient network errors.
    *   **Circuit Breaker**: Automatically pauses requests if the Obsidian API becomes unreachable to prevent resource exhaustion.
*   **Periodic Notes**: Deep integration for Daily, Weekly, and Monthly notes.

## 📋 Prerequisites

1.  **Obsidian** must be open with the vault you wish to access.
2.  **Local REST API Plugin**:
    *   Install it via Obsidian Community Plugins.
    *   Enable the plugin and toggle "Enable Northbound" if required.
    *   Copy your **API Key** from the plugin settings.
    *   Note your port (default is `27124`).

## 🛠 Installation

### Via Smithery

The easiest way to install this for Claude Desktop is via [Smithery](https://smithery.ai/server/mcp-obsidian):
```bash
npx @smithery/cli install mcp-obsidian --config '{"OBSIDIAN_API_KEY":"your_api_key_here"}'

Manual Installation (Development)

  1. Clone and Install:

    git clone [https://github.com/Sivasindhuja/mcp-server.git](https://github.com/Sivasindhuja/mcp-server.git)
    cd mcp-obsidian
    pip install .
    
  2. Environment Setup: Create a .env file in the root directory:

    OBSIDIAN_API_KEY=your_api_key_here
    OBSIDIAN_HOST=127.0.0.1
    OBSIDIAN_PORT=27124
    OBSIDIAN_PROTOCOL=https
    

🔌 Configuration for Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "obsidian": {
      "command": "mcp-obsidian",
      "env": {
        "OBSIDIAN_API_KEY": "your_api_key_here",
        "OBSIDIAN_HOST": "127.0.0.1"
      }
    }
  }
}

🧰 Available Tools

Tool Description
list_files_in_vault Returns a list of all files in your vault.
get_file_contents Fetches the full text content of a specific note.
simple_search Searches the vault for a specific string.
create_note Creates a new note with specified content.
get_vault_stats Provides statistics on links, tags, and orphaned files.
append_content Adds text to the end of an existing note.
check_connection Diagnostic tool to verify the connection to Obsidian.

🛡️ Safety & Reliability

This server implements a Circuit Breaker pattern. If the connection to Obsidian fails 3 times consecutively, the circuit opens for 10 seconds, immediately rejecting further calls to allow the service to recover. This prevents the LLM from getting stuck in a loop of failed requests.

📝 License

MIT - Developed by Siva Sindhuja

Metadata

Release files for mcp-obsidian-sindhutsundupalli 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-obsidian-sindhutsundupalli 0.2.1
File Size Uploaded Provenance
mcp_obsidian_sindhutsundupalli-0.2.1.tar.gz 7.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-obsidian-sindhutsundupalli 0.2.1
File Interpreter ABI Platform
mcp_obsidian_sindhutsundupalli-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.5 kB

Release files / mcp_obsidian_sindhutsundupalli-0.2.1.tar.gz

Download URL mcp_obsidian_sindhutsundupalli-0.2.1.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c4e44b3c22416e4a6a4efa9e5166240f3261a5591e19dcac93e852bf4f77ff58
BLAKE2b-256 checksum
How to use checksums
ab34cacc0ad09f571d0d6d1239c4a5860f9ae71d0415d21d764628d7bdc1b8e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Release files / mcp_obsidian_sindhutsundupalli-0.2.1-py3-none-any.whl

Download URL mcp_obsidian_sindhutsundupalli-0.2.1-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da0cc759c4f59e3496ae4a56be23009ec07066e7d202f33520f318460bdbe2d3
BLAKE2b-256 checksum
How to use checksums
c542db90bfbe35eaa73a452950b6ebbbd71874d19f884b8b4ef8a8819658335e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Security for mcp-obsidian-sindhutsundupalli 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page