{"type":"mcp_server","name":"obsidian-mcp-server","description":"This repository provides a Model Context Protocol server for LLMs to interact with Obsidian vaults, offering secure API communication, file operations, and search capabilities for AI-powered knowledge management.","category":"Search & Knowledge","language":"TypeScript","stars":610,"forks":8,"owner":"cyanheads","github_url":"https://github.com/cyanheads/obsidian-mcp-server","homepage":"https://www.npmjs.com/package/obsidian-mcp-server","setup":"## Setup\n\nNote: Requires Node.js\n\n1. Enable Local REST API plugin in Obsidian\n2. Clone and build:\n\n```bash\ngit clone git@github.com:cyanheads/obsidian-mcp-server.git\ncd obsidian-mcp-server\nnpm install\nnpm run build\n```\n\nOr install from npm:\n\n```bash\nnpm install obsidian-mcp-server\n```\n\nAdd to your MCP client settings (e.g., `claude_desktop_config.json` or `cline_mcp_settings.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"obsidian-mcp-server\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/obsidian-mcp-server/build/index.js\"],\n      \"env\": {\n        \"OBSIDIAN_API_KEY\": \"your_api_key_here\",\n        \"VERIFY_SSL\": \"false\",\n        \"OBSIDIAN_PROTOCOL\": \"https\",\n        \"OBSIDIAN_HOST\": \"127.0.0.1\",\n        \"OBSIDIAN_PORT\": \"27124\",\n        \"REQUEST_TIMEOUT\": \"5000\",\n        \"MAX_CONTENT_LENGTH\": \"52428800\",\n        \"MAX_BODY_LENGTH\": \"52428800\",\n        \"RATE_LIMIT_WINDOW_MS\": \"900000\",\n        \"RATE_LIMIT_MAX_REQUESTS\": \"200\",\n        \"TOOL_TIMEOUT_MS\": \"60000\"\n      }\n    }\n  }\n}\n```\n\nEnvironment Variables:\n\nRequired:\n\n- `OBSIDIAN_API_KEY`: Your API key from Obsidian's Local REST API plugin settings\n\nConnection Settings:\n\n- `VERIFY_SSL`: Enable SSL certificate verification (default: false) # This must be set to false for self-signed certificates. If you are running locally or don't understand what this means, this should be set to false.\n- `OBSIDIAN_PROTOCOL`: Protocol to use (default: \"https\")\n- `OBSIDIAN_HOST`: Host address (default: \"127.0.0.1\")\n- `OBSIDIAN_PORT`: Port number (default: 27124)\n\nRequest Limits:\n\n- `REQUEST_TIMEOUT`: Request timeout in milliseconds (default: 5000)\n- `MAX_CONTENT_LENGTH`: Maximum response content length in bytes (default: 52428800 [50MB])\n- `MAX_BODY_LENGTH`: Maximum request body length in bytes (default: 52428800 [50MB])\n\nRate Limiting:\n\n- `RATE_LIMIT_WINDOW_MS`: Rate limit window in milliseconds (default: 900000 [15 minutes])\n- `RATE_LIMIT_MAX_REQUESTS`: Maximum requests per window (default: 200)\n\nTool Execution:\n\n- `TOOL_TIMEOUT_MS`: Tool execution timeout in milliseconds (default: 60000 [1 minute])","tools":"## Available Tools\n\n1.  File Operations (Atomic file/directory operations with validation, resource monitoring and cleanup, error handling and graceful failure)\n2.  Search System (Full-text search with configurable context, advanced JsonLogic queries, support for glob patterns and frontmatter fields)\n3.  Property Management (YAML frontmatter parsing and intelligent merging, automatic timestamps, custom field support)\n4.  Security & Performance (API key auth with rate limiting and SSL options, resource monitoring and health checks, graceful shutdown handling)\n5.  `obsidian_list_files_in_vault` (List vault contents)\n6.  `obsidian_list_files_in_dir` (List directory contents)\n7.  `obsidian_get_file_contents` (Get file contents)\n8.  `obsidian_find_in_file` (Text search with context)\n9.  `obsidian_complex_search` (Advanced search with JsonLogic)\n10. `obsidian_get_tags` (Get all tags in vault or directory)\n11. `obsidian_append_content` (Append to file)\n12. `obsidian_patch_content` (Update file content)\n13. `obsidian_get_properties` (Get note properties)\n14. `obsidian_update_properties` (Update note properties)","faq":null,"created_at":"2025-01-23T23:01:25+00:00","updated_at":"2025-03-27T11:14:52+00:00","source_url":"https://model-context-protocol.com/servers/llm-obsidian-vault-knowledge-management","related_articles":[]}