obsidian_fetch
MCP servers focused on fetching and presenting information from Obsidian vaults.
claude mcp add --transport stdio soukouki-obsidian_fetch obsidian_fetch /path/to/your/vault
How to use
ObsidianFetch is an MCP server that retrieves and loads lists of notes from an Obsidian vault, with added capabilities to surface backlinks. It streamlines note access by focusing on listing and loading notes rather than executing a broad set of commands. When you provide a vault path, the server loads the available notes and presents their contents, enabling the LLM to understand the relationships between notes through backlinks. Additionally, when the server detects a request for link information using a bracketed style like [[link name]], it sanitizes the requested link to exclude characters that cannot be used in links, reducing the chance of invalid lookups. This makes it easier for the LLM to fetch the relevant note and its connections without needing to first locate the exact file path.
Usage patterns typically involve querying the server for a list of notes, selecting a note to load, and optionally requesting backlink information to understand how the current note connects within the vault. The result is a concise, browseable view of the vault’s contents with direct access to note bodies and their backlinks, which can help in tasks like research, outlining, or building knowledge graphs from your vault.
How to install
Prerequisites:
- Ruby installed (RubyGems available)
- Internet access to fetch and install the gem
Step-by-step installation:
-
Install the ObsidianFetch gem: gem install obsidian_fetch
-
Verify installation by running the command with a vault path (replace with your actual vault path): obsidian_fetch /path/to/your/vault
-
If you prefer to run from a local environment without installing the gem globally, you can use a Ruby environment manager or Bundler with a Gemfile:
Gemfile
source 'https://rubygems.org' gem 'obsidian_fetch'
Then install and run using Bundler:
bundle install bundle exec obsidian_fetch /path/to/your/vault
Additional notes
Notes:
- The server focuses on loading note lists and contents, plus backlinks, to keep prompts lightweight and focused.
- When using [[link name]] queries, the server will sanitize the link to remove invalid characters, improving reliability of link lookups.
- Ensure your vault path is accessible from the environment where the MCP server runs (permissions and mounted paths may affect loading).
- If you experience slow startup, verify that the vault index can be generated quickly and that note loading does not rely on heavy parsing of entire vault contents at startup.
Environment variables (optional):
- OBSIDIAN_FETCH_VAULT_PATH: If you want to override the vault path without changing the command arguments, set this to the path of your vault.
- OBSIDIAN_FETCH_DEBUG: Set to 1 to enable verbose logging for troubleshooting.
Related MCP Servers
mcp-rb
A lightweight Ruby framework for building MCP servers with a Sinatra-like DSL
mcp_rails_template
A minimal Rails API template for creating MCP (Model Context Protocol) servers with robust tool execution capabilities and examples.
vector_mcp
A server implementation for the Model Context Protocol (MCP) in Ruby.
mcp-obsidian-via-rest
MCP Server connected to Obsidian Vault with Local REST API. (re-write it completely with BUN to make it faster and more lightweight)
obsidian-http
First HTTP-native MCP server for Obsidian - Compatible with any MCP client (Claude Code, Codex, Gemini, etc.) without stdio bugs
obsidian-notebook
MCP server to let claude connect to my obsidian notes for vector and full text search