# 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)
-
Clone and Install:
git clone [https://github.com/Sivasindhuja/mcp-server.git](https://github.com/Sivasindhuja/mcp-server.git) cd mcp-obsidian pip install .
-
Environment Setup: Create a
.envfile 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_obsidian_sindhutsundupalli-0.2.1.tar.gz | 7.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.