MCP Tools for Obsidian

# MCP Tools for Obsidian - Plugin The Obsidian plugin component of MCP Tools, providing secure MCP server integration for accessing Obsidian vaults through Claude Desktop and other MCP clients. ## Features - **Secure Access**: All communication encrypted and authenticated through Local REST API - **Semantic Search**: Seamless integration with Smart Connections for context-aware search - **Template Support**: Execute Templater templates through MCP clients - **File Management**: Comprehensive vault access and management capabilities - **Security First**: Binary attestation and secure key management ## Requirements ### Required - Obsidian v1.7.7 or higher - [Local REST API](https://github.com/coddingtonbear/obsidian-local-rest-api) plugin ### Recommended - [Smart Connections](https://smartconnections.app/) for semantic search - [Templater](https://silentvoid13.github.io/Templater/) for template execution ## Development This plugin is part of the MCP Tools monorepo. For development: ```bash # Install dependencies bun install # Start development build with watch mode bun run dev # Create a production build bun run build # Link plugin to your vault for testing bun run link <path-to-vault-config-file> ``` ### Project Structure ``` src/ ├── features/ # Feature modules │ ├── core/ # Plugin initialization │ ├── mcp-server/ # Server management │ └── shared/ # Common utilities ├── main.ts # Plugin entry point └── shared/ # Shared types and utilities ``` ### Adding New Features 1. Create a new feature module in `src/features/` 2. Implement the feature's setup function 3. Add any UI components to the settings tab 4. Register the feature in `main.ts` ## Security This plugin follows strict security practices: - All server binaries are signed and include SLSA provenance - Communication is encrypted using Local REST API's TLS - API keys are stored securely using platform-specific methods - Server runs with minimal required permissions ## Contributing 1. Fork the repository 2. Create a feature branch 3. Follow the project's TypeScript and Svelte guidelines 4. Submit a pull request ## License [MIT License](LICENSE)