Sponsored by Deepsite.site

Obsidian MCP Server Enhanced

Created By
labeveryday6 months ago
This project provides a Model Context Protocol (MCP) server for interacting with Obsidian vaults through AI assistants.
Content

Obsidian MCP Server Enhanced

Status: Phase 1 Complete

A Model Context Protocol (MCP) server for integrating Amazon Q with Obsidian.

Project Overview

This MCP server allows Amazon Q to interact with Obsidian vaults without requiring the Obsidian application to be open. It leverages the Obsidian Local REST API plugin to provide functionality for note management, search, and knowledge management.

Current Status

  • Phase 1 (Core Infrastructure): Complete
  • Basic file operations, search, and note templates are fully implemented
  • Built with FastMCP for seamless integration with Amazon Q
  • Uses decorator-based approach for prompt registration
  • Ready to begin Phase 2: Essential Features

Features

Currently Implemented

  • File Operations: Read, create, update, append to, and delete notes
  • Basic Folder Management: List files in folders
  • Search: Basic search functionality for notes
  • Daily Notes: Create daily notes with predefined sections
  • Meeting Notes: Create meeting notes with structured templates

Planned Features

  • Advanced Folder Management: Create, delete, rename, and move folders
  • Organization & Metadata: Manage tags, frontmatter, and file organization
  • Advanced Search & Discovery: Enhanced search by content, tags, and other criteria
  • Knowledge Management: Extract highlights, compile notes, and more
  • Search and Compile: Search for notes and compile information into a single note
  • Note Organization: Organize notes on specific topics with AI assistance

Getting Started

Prerequisites

  1. Obsidian: Install Obsidian and create a vault
  2. Local REST API Plugin: Install the Local REST API plugin in Obsidian
  3. Python 3.10+: Make sure you have Python 3.10 or newer installed

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/mcp-obsidian-enhanced.git
    cd mcp-obsidian-enhanced
    
  2. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -e ".[dev]"
    
  4. Create a .env file with your Obsidian API configuration:

    OBSIDIAN_API_KEY=your_api_key_from_local_rest_api_plugin
    OBSIDIAN_HOST=127.0.0.1
    OBSIDIAN_PORT=27124
    

Integration with Amazon Q CLI

To integrate this MCP server with Amazon Q CLI, configure the MCP server in your AWS configuration:

  1. Create or update the file at ~/.aws/amazonq/mcp.json:
{
  "mcpServers": {
    "obsidian-mcp-server": {
        "command": "uv",
        "args": ["--directory", "/path/to/mcp-obsidian-enhanced", "run", "run_server.py"],
        "env": {},
        "disabled": false,
        "autoApprove": []
    }
  }
}
  1. Replace /path/to/mcp-obsidian-enhanced with the actual path to your repository.

Running the Server

Run the server with:

python run_server.py

To test with MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory ./ "run" "run_server.py"

Available Tools

Tool NameDescription
obsidian_read_noteGet content of a note from your Obsidian vault
obsidian_create_noteCreate a new note in your Obsidian vault
obsidian_update_noteUpdate an existing note in your Obsidian vault
obsidian_append_noteAppend content to an existing note
obsidian_delete_noteDelete a note from your Obsidian vault
obsidian_list_filesList files and folders in your Obsidian vault
obsidian_get_active_fileGet the currently active file in Obsidian
obsidian_create_daily_noteCreate a daily note with predefined sections

Planned Tools (Phase 2)

Tool NameDescription
obsidian_searchSearch for notes in your Obsidian vault
obsidian_summarize_noteSummarize the content of a note
obsidian_search_and_compileSearch for notes and compile information
obsidian_organize_notesOrganize notes on a specific topic

Available Prompts

The server provides prompt templates using the decorator-based approach:

Meeting Notes

@mcp.prompt("meeting-notes")
async def meeting_notes_prompt(
    title: str,
    date: str = "",
    participants: str = "",
    folder: str = "Meetings",
    tags: List[str] = None
) -> Dict[str, Any]:
    """Create a meeting note with the given details."""
    # Implementation...

Create Note

@mcp.prompt("create-note")
async def create_note_prompt(
    title: str,
    content: str,
    folder: str = "",
    tags: List[str] = None
) -> Dict[str, Any]:
    """Create a new note with the given details."""
    # Implementation...

Organize Notes

@mcp.prompt("organize-notes")
async def organize_notes_prompt(
    topic: str,
    folder: str = ""
) -> Dict[str, Any]:
    """Organize notes related to a specific topic."""
    # Implementation...

Configuration Options

Environment VariableDescriptionDefault
OBSIDIAN_API_KEYAPI key from Local REST API plugin(Required)
OBSIDIAN_HOSTHost where Obsidian is running127.0.0.1
OBSIDIAN_PORTPort for the API27124
OBSIDIAN_PROTOCOLProtocol to usehttps
OBSIDIAN_VERIFY_SSLWhether to verify SSL certificatesfalse
OBSIDIAN_TIMEOUTConnection timeout in seconds10
LOG_LEVELLogging level (INFO, DEBUG, etc.)INFO

Implementation Roadmap

Phase 1: Core Infrastructure (Complete)

  • ✅ Basic server setup with FastMCP
  • ✅ Configuration management
  • ✅ Obsidian API client
  • ✅ Basic file operations
  • ✅ Basic folder management tools

Phase 2: Essential Features (Planned)

  • Advanced search functionality
  • Metadata management
  • Improved templates
  • Note organization capabilities
  • Search and compile functionality
  • Note summarization

Phase 3: Advanced Features (Planned)

  • Knowledge management tools
  • Bulk operations
  • Advanced search capabilities

Phase 4: Optimization & Polish (Planned)

  • Performance optimizations
  • Enhanced error handling
  • Comprehensive logging
  • Detailed documentation

Testing the API Directly

You can test the Obsidian Local REST API endpoints directly using curl:

List Files in a Folder

curl -X GET "http://127.0.0.1:27124/vault/FolderName?list=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Read a Note

curl -X GET "http://127.0.0.1:27124/vault/path/to/note.md" \
  -H "Authorization: Bearer YOUR_API_KEY"

Create/Update a Note

curl -X PUT "http://127.0.0.1:27124/vault/path/to/note.md" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: text/markdown" \
  -d "# Note Title\n\nNote content here."

Search Notes

curl -X POST "http://127.0.0.1:27124/search/simple" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "query=search_term"

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.

License

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

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
DeepChatYour AI Partner on Desktop
ChatWiseThe second fastest AI chatbot™
Amap Maps高德地图官方 MCP Server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
CursorThe AI Code Editor
Serper MCP ServerA Serper MCP Server
WindsurfThe new purpose-built IDE to harness magic
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright McpPlaywright MCP server
Tavily Mcp
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.