by aaronsb
Obsidian Semantic delivers smart Obsidian vault management with intelligent file access, editing, and adaptive indexing
Provides AI-optimized access to Obsidian vaults with intelligent file management, smart editing, and contextual workflow suggestions. Consolidates 20 tools into 5 semantic operations for knowledge management.
Obsidian Semantic is a community-built MCP server published by aaronsb that provides AI assistants with tools and capabilities via the Model Context Protocol. Obsidian Semantic delivers smart Obsidian vault management with intelligent file access, editing, and adaptive indexing It is categorized under productivity.
You can install Obsidian Semantic in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
Obsidian Semantic is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
We wired Obsidian Semantic into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
Obsidian Semantic is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
We wired Obsidian Semantic into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
Obsidian Semantic reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
Obsidian Semantic has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
Obsidian Semantic is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Useful MCP listing: Obsidian Semantic is the kind of server we cite when onboarding engineers to host + tool permissions.
Obsidian Semantic reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
We evaluated Obsidian Semantic against two servers with overlapping tools; this profile had the clearer scope statement.
Obsidian Semantic reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
showing 1-10 of 74
🎉 Exciting News! We've taken everything we learned from this project and created something even better! Check out the new Obsidian MCP Plugin - a native Obsidian plugin that runs directly inside your vault with improved performance, simplified setup, and enhanced features. We encourage you to try it out!
A semantic, AI-optimized MCP server for Obsidian that consolidates 20 tools into 5 intelligent operations with contextual workflow hints.
This MCP server taught us valuable lessons about AI integration with Obsidian. We've applied these insights to create the Obsidian MCP Plugin, which offers:
npm install -g obsidian-semantic-mcp
Or use directly with npx (recommended):
npx obsidian-semantic-mcp
View on npm: https://www.npmjs.com/package/obsidian-semantic-mcp
Install the Obsidian Plugin:
Configure Claude Desktop:
The npx command is automatically used in the Claude Desktop configuration. Add this to your Claude Desktop config (usually found at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "obsidian-semantic-mcp"],
"env": {
"OBSIDIAN_API_KEY": "your-api-key-here",
"OBSIDIAN_API_URL": "https://127.0.0.1:27124",
"OBSIDIAN_VAULT_NAME": "your-vault-name"
}
}
}
}
This server consolidates traditional MCP tools into an AI-optimized semantic interface that makes it easier for AI agents to understand and use Obsidian operations effectively.
Traditional MCP servers expose many granular tools (20+), which can overwhelm AI agents and lead to inefficient tool selection. Our semantic approach:
vault - File and folder operations
list, read, create, update, delete, search, fragmentsedit - Smart content editing
window (fuzzy match), append, patch, at_line, from_bufferview - Content viewing and navigation
window (with context), open_in_obsidianworkflow - Get guided suggestions
suggestsystem - System operations
info, commands, fetch_webfetch_web fetches and converts web content to markdown (uses only url parameter)Instead of choosing between get_vault_file, get_active_file, read_file_content, etc., you simply use:
{
"operation": "vault",
"action": "read",
"params": {
"path": "daily-notes/2024-01-15.md"
}
}
The response includes intelligent workflow hints:
{
"result": { /* file content */ },
"workflow": {
"message": "Read file: daily-notes/2024-01-15.md",
"suggested_next": [
{
"description": "Edit this file",
"command": "edit(action='window', path='daily-notes/2024-01-15.md', ...)",
"reason": "Make changes to content"
},
{
"description": "Follow linked notes",
"command": "vault(action='read', path='{linked_file}')",
"reason": "Explore connected knowledge"
}
]
}
}
The system tracks context tokens to provide relevant suggestions:
[[links]], it suggests following themThe window edit action automatically buffers your new content before attempting the edit. If the edit fails or you want to refine it, you can retrieve from buffer:
{
"operation": "edit",
"action": "from_buffer",
"params": {
"path": "notes/meeting.md"
}
}
The semantic editor uses fuzzy matching to find and replace content:
{
"operation": "edit",
"action": "window",
"params": {
"path": "daily/2024-01-15.md",
"oldText": "meting notes", // typo will be fuzzy matched
"newText": "meeting notes",
"fuzzyThreshold": 0.8
}
}
Target specific document structures:
{
"operation": "edit",
"action": "patch",
"params": {
"path": "projects/todo.md",
"operation": "append",
"targetType": "heading",
"target": "## In Progress",
"content": "- [ ] New task"
}
}
The system automatically uses intelligent fragment retrieval when reading files, significantly reducing token consumption while maintaining relevance:
{
"operation": "vault",
"action": "read",
"params": {
"path": "large-document.md"
}
}
Returns relevant fragments instead of the entire file:
{
"result": {
"content": [
{
"id": "file:large-document.md:frag0",
"content": "Most relevant section...",
"score": 0.95,
"lineStart": 145,
"lineEnd": 167
}
],
"fragmentMetadata": {
"totalFragments": 5,
"strategy": "adaptive",
"originalContentLength": 135662
}
}
}
Fragment Search Strategies:
You can explicitly search for fragments across your vault:
{
"operation": "vault",
"action": "fragments",
"params": {
"query": "project roadmap timeline",
"maxFragments": 10,
"strategy": "proximity"
}
}
To retrieve the full file (when needed), use:
{
"operation": "vault",
"action": "read",
"params": {
"path": "document.md",
"returnFullFile": true
}
}
The semantic workflow hints are defined in src/config/workflows.json and can be customized for your workflow preferences.
The fragment retrieval system automatically activates when reading files to conserve tokens. You can control this behavior:
returnFullFile: true parameter to get complete contentadaptive for keyword matching (1-2 word queries)proximity for finding related terms together (3-5 word queries)semantic for conceptual chunking (longer queries)When operations fail, the semantic interface provides intelligent recovery hints:
{
"error": {
"code": "FILE_NOT_FOUND",
"message": "File not found: daily/2024-01-15.md",
"recovery_hints": [
{
"description": "Create this file",
"command": "vault(action='create', path='daily/2024-01-15.md')"
},
{
"description": "Search for similar files",
"command": "vault(action='search', query='2024-01-15')"
}
]
}
}
The server automatically loads environment variables from a .env file if present. Variables can be set in ord
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.