Obsidian MCP Server
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides access to Obsidian vault contents, allowing retrieval of vault files and metadata through the 'get_vault_contents' tool. Connects to the Obsidian API to retrieve information about the vault structure and file contents.
A Model Context Protocol server for Obsidian integration
This is a TypeScript-based MCP server that implements integration with Obsidian. It demonstrates core MCP concepts by providing:
- Resources representing Obsidian vault contents
- Tools for accessing vault data
- API integration with Obsidian
Project Statistics
- Total lines of code: 345
- Main files:
src/tool-handlers.ts
(76 lines)src/resource-handlers.ts
(45 lines)src/server.ts
(32 lines)src/api-client.ts
(25 lines)
Directory Structure
Features
Resources
- Access Obsidian server info via
obsidian://server-info
URI - Get vault contents with metadata
- JSON format for easy integration
Tools
get_vault_contents
- Retrieve contents of Obsidian vault- Takes path as optional parameter (default: root directory)
- Returns structured JSON response
API Integration
- Secure HTTPS connection with Obsidian API
- Custom axios client with error handling
- Windows path normalization support
Development
Prerequisites
- Node.js v18+
- TypeScript 5.3+
- Obsidian API key (set as OBSIDIAN_API_KEY environment variable)
Setup
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Debugging
We recommend using the MCP Inspector:
The Inspector will provide a URL to access debugging tools in your browser.
Dependencies
Runtime
- @modelcontextprotocol/sdk: MCP server implementation
- axios: HTTP client for API communication
Development
- @types/node: TypeScript definitions for Node.js
- typescript: TypeScript compiler
You must be authenticated.
This TypeScript-based MCP server enables users to manage and summarize text notes, providing tools for note creation and summarization prompts.