obsidian-intelligent-mcp

otherdefense/obsidian-intelligent-mcp

3.2

If you are the rightful owner of obsidian-intelligent-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Obsidian Intelligent MCP Server is an advanced Model Context Protocol server designed for intelligent management of Obsidian vaults, leveraging AI and semantic search capabilities.

Tools
9
Resources
0
Prompts
0

๐Ÿค– Obsidian Intelligent MCP Server

Advanced Model Context Protocol server for intelligent Obsidian vault management

License: MIT Python 3.13+ MCP Protocol

๐ŸŒŸ Features

๐Ÿ” Semantic Search with Context7 Awareness

  • Vector-based note discovery using ChromaDB and SentenceTransformers
  • Enhanced contextual understanding through Context7 integration
  • Advanced filtering by folders, tags, and metadata

๐Ÿค– AI-Powered Note Management

  • Intelligent note creation with auto-organization
  • Smart tagging and categorization
  • Template-aware note generation
  • Link suggestions based on content similarity

๐Ÿ“Š Comprehensive Analytics

  • Vault statistics and trend analysis
  • Usage patterns and metrics
  • Performance monitoring and health checks

๐Ÿ”— MCP Protocol Compliance

  • Full MCP 1.13.0 specification support
  • 9 comprehensive tools for note operations
  • Resource exposure for vault structure and analytics
  • Multi-client support (Claude Desktop, Continue, etc.)

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.13+ (required for async features)
  • Git for cloning the repository
  • Obsidian vault to manage

Installation

# Clone the repository
git clone https://github.com/odg8888/obsidian-intelligent-mcp.git
cd obsidian-intelligent-mcp

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Set your Obsidian vault path
export OBSIDIAN_VAULT_PATH="/path/to/your/obsidian/vault"

# Test the installation
python test_server.py

Launch Server

# Development mode
./launch_mcp_server.sh

# Debug mode
./launch_mcp_server.sh --debug

# Or directly
python main.py

๐Ÿ”ง MCP Tools Available

ToolPurposeKey Features
search_notesSemantic search across notesContext7 awareness, advanced filtering
find_related_notesDiscover similar notesSemantic similarity, configurable limits
create_noteIntelligent note creationAuto-organization, template support
get_noteRetrieve specific notesMultiple access methods, metadata
update_noteModify existing notesAI enhancements, tag management
list_notesAdvanced note listingFiltering, sorting, context awareness
auto_organizeAI-powered organizationBulk operations, multiple strategies
generate_summaryIntelligent summariesMultiple styles, context integration
get_vault_statsComprehensive analyticsTrends, metrics, usage patterns

๐Ÿ–ฅ๏ธ Client Configuration

Claude Desktop

Create or edit ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "obsidian-intelligent-mcp": {
      "command": "python",
      "args": ["/path/to/obsidian-intelligent-mcp/main.py"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault",
        "MCP_LOG_LEVEL": "INFO"
      }
    }
  }
}

Continue IDE

Add to your Continue configuration:

{
  "mcpServers": {
    "obsidian": {
      "command": "python",
      "args": ["/path/to/obsidian-intelligent-mcp/main.py"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault"
      }
    }
  }
}

Multiple MCP Servers

Integrate with existing MCP setup:

{
  "mcpServers": {
    "context7": {
      "command": "/home/user/.nvm/versions/node/v24.3.0/bin/context7-mcp",
      "args": [],
      "env": {}
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    },
    "obsidian-intelligent-mcp": {
      "command": "python",
      "args": ["/path/to/obsidian-intelligent-mcp/main.py"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault",
        "MCP_LOG_LEVEL": "INFO"
      }
    }
  }
}

๐ŸŒ Environment Variables

VariableDescriptionRequiredDefault
OBSIDIAN_VAULT_PATHPath to your Obsidian vaultโœ… Yes-
MCP_LOG_LEVELLogging levelโŒ NoINFO
EMBEDDING_MODELSentenceTransformers modelโŒ Noall-MiniLM-L6-v2

๐Ÿงช Testing

Run All Tests

# Basic functionality test
python test_server.py

# Comprehensive tool testing
python test_mcp_tools.py

# Related notes functionality
python test_related_notes.py

Performance Testing

# Test with large vault
OBSIDIAN_VAULT_PATH="/path/to/large/vault" python test_server.py

# Memory profiling
MCP_LOG_LEVEL=DEBUG python test_mcp_tools.py

๐Ÿ”’ Security & Privacy

  • Local Processing: All AI operations run on your device
  • No External Calls: Embeddings generated locally
  • Vault Boundaries: Only accesses configured vault path
  • Input Validation: Comprehensive input sanitization
  • Path Security: Directory traversal protection

๐Ÿ“ˆ Performance

  • Response Time: <200ms for typical operations
  • Memory Usage: ~500MB for large vaults
  • Concurrent Clients: Supports 10+ simultaneous connections
  • Embedding Generation: ~100ms per note
  • Search Latency: ~50ms for queries

๐Ÿ› Troubleshooting

Common Issues

Python Version
python --version  # Should be 3.13+
Virtual Environment
source .venv/bin/activate
pip list | grep mcp
Vault Path
echo $OBSIDIAN_VAULT_PATH
ls -la "$OBSIDIAN_VAULT_PATH"
Permissions
chmod +x launch_mcp_server.sh
chmod +x main.py

Debug Mode

MCP_LOG_LEVEL=DEBUG python main.py

Reset Vector Store

rm -rf .chroma_db/
python main.py  # Will rebuild automatically

๐Ÿ“ Usage Examples

Search Notes

Search my notes for "project management best practices"

Create Note

Create a note called "MCP Integration Guide" with setup instructions

Find Related Notes

Find notes related to my "AI Development" note

Get Vault Statistics

Show me comprehensive statistics about my Obsidian vault

Auto-organize

Organize all notes in my "Projects" folder with better tags and links

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the file for details.

๐Ÿ™ Acknowledgments

  • Model Context Protocol: Anthropic's MCP specification
  • ChromaDB: Vector database for semantic search
  • SentenceTransformers: Embedding models
  • Obsidian: Note-taking and knowledge management

๐Ÿ“ž Support


Obsidian Intelligent MCP Server v1.0
Transform your Obsidian vault with AI-powered intelligence