Obsidian MCP Server
About
MCP server enabling AI agents to perform natural knowledge discovery and analysis across Obsidian vault
Details
- License
- MIT
Explore
- Advanced search with text, regex, and filter options
- Retrieve full note content and metadata
- Browse vault directory structure efficiently
- Filter by folder, title, tag, and creation/modification dates
- OR/AND logic for multiple title and tag terms
- Context length control and pagination for large vaults
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Obsidian MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. Install the Obsidian Local REST API plugin in your Obsidian vault
2. Configure and enable the plugin in Obsidian settings
3. Note the API URL (default: https://localhost:27124) and API key if you've set one
pip install obsidian-api-mcp-server
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"obsidian-api-mcp-server": {
"command": "uvx",
"args": [
"--from",
"obsidian-api-mcp-server>=1.0.1",
"obsidian-api-mcp"
],
"env": {
"OBSIDIAN_API_URL": "https://localhost:27124",
"OBSIDIAN_API_KEY": "your-api-key-here"
}
}
}
}
uv pip install -e .
export OBSIDIAN_API_KEY="your-api-key-here"
``
Important Security Note: Avoid hardcoding your OBSIDIAN_API_KEY directly into scripts or committing it to version control. Consider using a .env file (which is included in the .gitignore of this project) and a library like python-dotenv to manage your API key, or use environment variables managed by your operating system or shell.
Note: The server defaults to HTTPS and disables SSL certificate verification for self-signed certificates commonly used with local Obsidian instances. For HTTP connections, set OBSIDIAN_API_URL="http://localhost:27123"`.
browse_vault_structure(recursive=True)
uv pip install -e ".[test]"
query
Text or regex search across note content (optional)
query_type
Search type: "text" (default) or "regex"
search_in_path
Limit search to specific folder path
title_contains
Filter by text in note titles (string, array, or JSON string)
title_match_mode
How to match multiple terms: "any" (OR) or "all" (AND)
tag
Filter by tag (string, array, or JSON string - searches frontmatter and inline #tags)
tag_match_mode
How to match multiple tags: "any" (OR) or "all" (AND)
context_length
Amount of content to return (set high for full content)
include_content
Boolean to retrieve complete content of all matching notes
page_size
Results per page
max_matches_per_file
Limit matches per note
path
Directory to browse (defaults to vault root)
include_files
Boolean to include files (default: False, folders only for speed)
recursive
Boolean to browse all nested directories
The server provides three powerful tools:
1. search_vault - Advanced search with flexible filters and full content retrieval:
- query - Text or regex search across note content (optional)
- query_type - Search type: "text" (default) or "regex"
- search_in_path - Limit search to specific folder path
- title_contains - Filter by text in note titles (string, array, or JSON string)
- title_match_mode - How to match multiple terms: "any" (OR) or "all" (AND)
- tag - Filter by tag (string, array, or JSON string - searches frontmatter and inline #tags)
- tag_match_mode - How to match multiple tags: "any" (OR) or "all" (AND)
- context_length - Amount of content to return (set high for full content)
- include_content - Boolean to retrieve complete content of all matching notes
- created_since/until - Filter by creation date
- modified_since/until - Filter by modification date
- page_size - Results per page
- max_matches_per_file - Limit matches per note
Key Features:
- When no query is provided, automatically returns full content for filter-only searches
- include_content=True forces full content retrieval for any search
- Supports regex patterns for complex text matching (OR conditions, case-insensitive search, etc.)
2. get_note_content - Retrieve complete content and metadata of a specific note by path
3. browse_vault_structure - Navigate vault directory structure efficiently:
- path - Directory to browse (defaults to vault root)
- include_files - Boolean to include files (default: False, folders only for speed)
- recursive - Boolean to browse all nested directories
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"obsidian mcp server": {
"obsidian-api-mcp-server": {
"command": "uv",
"args": [
"pip",
"install",
"obsidian-api-mcp-server"
]
}
}
}
}
McpServers
{
"obsidian-api-mcp-server": {
"command": "uv",
"args": [
"pip",
"install",
"obsidian-api-mcp-server"
]
}
}
An MCP (Model Context Protocol) server that enables AI agents to perform sophisticated knowledge discovery and analysis across your Obsidian vault through the Local REST API plugin.
<a href="https://glama.ai/mcp/servers/@pmmvr/obsidian-api-mcp-server">
</a>
Why This Matters
This server transforms your Obsidian vault into a powerful knowledge base for AI agents, enabling complex multi-step workflows like:
- "Retrieve notes from my 'Projects/Planning' folder containing 'roadmap' or 'timeline' in titles, created after April 1st, then analyze them for any blockers or dependencies and present a consolidated risk assessment with references to the source notes"
- "Find all notes tagged with 'research' or 'analysis' from the last month, scan their content for incomplete sections or open questions, then cross-reference with my 'Team/Expertise' notes to suggest which colleagues could help address each gap"
- "Get the complete content of meeting notes from 'Leadership/Quarterly' containing 'budget' or 'headcount', analyze them for action items assigned to my department, and create a chronological timeline with source note references"
The server's advanced filtering, regex support, and full content retrieval capabilities allow agents to perform nuanced knowledge work that would take hours manually.
Prerequisites
1. Install the Obsidian Local REST API plugin in your Obsidian vault
2. Configure and enable the plugin in Obsidian settings
3. Note the API URL (default: https://localhost:27124) and API key if you've set one
Installation
From PyPI (Recommended)
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



