Skip to main content
Glama

Obsidian MCP Server - Enhanced

by BoweyLou
health-check.sh•4.58 kB
#!/bin/bash # Obsidian MCP Server Health Check Script # This script verifies all components are running correctly echo "šŸ” Obsidian MCP Server Health Check" echo "===================================" echo "" # Colors for output GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Load environment variables source .env 2>/dev/null || echo -e "${YELLOW}Warning: .env file not found${NC}" # 1. Check MCP Server Process echo "1. Checking MCP Server..." if ps aux | grep "node.*dist/index.js" | grep -v grep > /dev/null; then PID=$(ps aux | grep "node.*dist/index.js" | grep -v grep | awk '{print $2}') echo -e " ${GREEN}āœ“ MCP Server is running (PID: $PID)${NC}" else echo -e " ${RED}āœ— MCP Server is NOT running${NC}" echo " Run: npm run start:http" fi # 2. Check Local HTTP Endpoint echo "" echo "2. Checking Local HTTP Endpoint..." if curl -s -f http://127.0.0.1:3010/mcp > /dev/null 2>&1; then echo -e " ${GREEN}āœ“ Local endpoint is responding${NC}" else echo -e " ${RED}āœ— Local endpoint is NOT responding${NC}" fi # 3. Check Obsidian APIs echo "" echo "3. Checking Obsidian REST APIs..." # Check if we're in multi-vault mode if [ ! -z "$OBSIDIAN_VAULTS" ]; then echo " Multi-vault mode detected" # Parse vault configs and check each one # Extract work vault (port 27123) WORK_API_KEY=$(echo "$OBSIDIAN_VAULTS" | grep -o '"apiKey":"[^"]*' | head -1 | cut -d'"' -f4) if curl -s -f -H "Authorization: Bearer ${WORK_API_KEY}" http://127.0.0.1:27123/vault/ > /dev/null 2>&1; then echo -e " ${GREEN}āœ“ Work Vault API (port 27123) is accessible${NC}" else echo -e " ${RED}āœ— Work Vault API (port 27123) is NOT accessible${NC}" fi # Extract life vault (port 27122) LIFE_API_KEY=$(echo "$OBSIDIAN_VAULTS" | grep -o '"apiKey":"[^"]*' | tail -1 | cut -d'"' -f4) if curl -s -f -H "Authorization: Bearer ${LIFE_API_KEY}" http://127.0.0.1:27122/vault/ > /dev/null 2>&1; then echo -e " ${GREEN}āœ“ Life Vault API (port 27122) is accessible${NC}" else echo -e " ${RED}āœ— Life Vault API (port 27122) is NOT accessible${NC}" fi else # Legacy single-vault mode echo " Single-vault mode (legacy)" if curl -s -f -H "Authorization: Bearer ${OBSIDIAN_API_KEY}" http://127.0.0.1:27123/vault/ > /dev/null 2>&1; then echo -e " ${GREEN}āœ“ Obsidian API is accessible${NC}" else echo -e " ${RED}āœ— Obsidian API is NOT accessible${NC}" echo " Check: Is Obsidian running? Is Local REST API plugin enabled?" fi fi # 4. Check Tailscale Status echo "" echo "4. Checking Tailscale..." if tailscale status > /dev/null 2>&1; then echo -e " ${GREEN}āœ“ Tailscale is running${NC}" # Get device name DEVICE_NAME=$(tailscale status --self --json | grep -o '"DNSName":"[^"]*' | cut -d'"' -f4 | sed 's/\.$//') echo " Device: $DEVICE_NAME" else echo -e " ${RED}āœ— Tailscale is NOT running${NC}" fi # 5. Check Tailscale Funnel echo "" echo "5. Checking Tailscale Funnel..." if ps aux | grep -E "tailscale.*funnel.*3010" | grep -v grep > /dev/null; then echo -e " ${GREEN}āœ“ Tailscale funnel is running${NC}" # Test funnel endpoint if [ ! -z "$DEVICE_NAME" ]; then FUNNEL_URL="https://${DEVICE_NAME}/mcp" if curl -s -f "$FUNNEL_URL" > /dev/null 2>&1; then echo -e " ${GREEN}āœ“ Funnel endpoint is accessible${NC}" echo "" echo -e " ${GREEN}šŸŽ‰ Your Claude.ai Remote MCP URL:${NC}" echo " $FUNNEL_URL?api_key=$MCP_AUTH_KEY" else echo -e " ${YELLOW}⚠ Funnel endpoint returned an error (this might be normal)${NC}" echo "" echo " Your Claude.ai Remote MCP URL should be:" echo " $FUNNEL_URL?api_key=$MCP_AUTH_KEY" fi fi else echo -e " ${RED}āœ— Tailscale funnel is NOT running${NC}" echo " Run: tailscale funnel 3010" fi # 6. Check Log Files echo "" echo "6. Checking Logs..." if [ -d "logs" ]; then ERROR_COUNT=$(tail -100 logs/error.log 2>/dev/null | grep -c "error" || echo "0") if [ "$ERROR_COUNT" -gt 0 ]; then echo -e " ${YELLOW}⚠ Found $ERROR_COUNT recent errors in logs${NC}" echo " Check: tail -20 logs/error.log" else echo -e " ${GREEN}āœ“ No recent errors in logs${NC}" fi else echo -e " ${YELLOW}⚠ Logs directory not found${NC}" fi echo "" echo "===================================" echo "Health check complete!"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BoweyLou/obsidian-mcp-server-enhanced'

If you have feedback or need assistance with the MCP directory API, please join our Discord server