#!/bin/bash # Start Obsidian MCP Server # Requires: Obsidian running with Local REST API plugin enabled set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" # Load environment if [ -f .env ]; then export $(grep -v '^#' .env | xargs) fi # Check if API key is configured if [ "$OBSIDIAN_API_KEY" = "YOUR_API_KEY_HERE" ] || [ -z "$OBSIDIAN_API_KEY" ]; then echo "❌ OBSIDIAN_API_KEY not configured!" echo "" echo "To set up:" echo "1. Open Obsidian" echo "2. Install 'Local REST API' plugin from Community Plugins" echo "3. Enable the plugin and copy the API key" echo "4. Update .env with your API key" exit 1 fi # Test connection to Obsidian Local REST API echo "Testing connection to Obsidian Local REST API..." if curl -s -o /dev/null -w "%{http_code}" -H "Authorization: Bearer $OBSIDIAN_API_KEY" "$OBSIDIAN_BASE_URL/" | grep -q "200\|401"; then echo "✅ Obsidian Local REST API is reachable" else echo "❌ Cannot reach Obsidian Local REST API at $OBSIDIAN_BASE_URL" echo "" echo "Make sure:" echo "1. Obsidian is running" echo "2. Local REST API plugin is enabled" echo "3. The port matches OBSIDIAN_BASE_URL in .env" exit 1 fi # Start MCP server echo "Starting Obsidian MCP Server..." exec npx obsidian-mcp-server