Skip to Content
Header Image

obsidian-mcp MCP Server

GitHub Stars GitHub Issues License

TypeScript Node.js Obsidian MCP

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

obsidian-mcp/ β”œβ”€β”€ .codegpt/ β”‚ └── head β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ api-client.ts β”‚ β”œβ”€β”€ index.ts β”‚ β”œβ”€β”€ resource-handlers.ts β”‚ β”œβ”€β”€ server.ts β”‚ └── tool-handlers.ts β”œβ”€β”€ .SourceSageignore β”œβ”€β”€ package.json β”œβ”€β”€ README.md └── tsconfig.json

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

# Install dependencies [View original on GitHub](https://github.com/Sunwood-ai-labs/obsidian-mcp) npm install # Build the server npm run build # Start development server with auto-rebuild npm run watch

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

{ "mcpServers": { "obsidian-mcp": { "command": "/path/to/obsidian-mcp/build/index.js", "env": { "OBSIDIAN_API_KEY": "your-api-key-here" } } } }

Debugging

We recommend using the MCP Inspector :

npm run 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
Last updated on