Obsidian MCP Server

by Sunwood-ai-labs

10 stars
15 downloads
Not rated
GitHub

About

This TypeScript-based MCP server enables users to manage and summarize text notes, providing tools for note creation and summarization prompts.

Details

Author
Sunwood-ai-labs
Repository
Sunwood-ai-labs/obsidian-mcp
GitHub stars
10
Downloads
15
Categories
AI, Productivity

Setting up with Highlight

Follow these steps to add this server as a custom Highlight plugin:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Obsidian MCP Server
    Command (node, npx, python, etc.) /path/to/obsidian-mcp/build/index.js
    Environment
    • OBSIDIAN_API_KEY your-api-key-here

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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"
      }
    }
  }
}

npm install

get_vault_contents

Retrieve contents of Obsidian vault. Takes path as optional parameter (default: root directory) and returns structured JSON response.

- get_vault_contents - Retrieve contents of Obsidian vault
- Takes path as optional parameter (default: root directory)
- Returns structured JSON response

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

Linux

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

Macos

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

Windows

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

<div align="center">
Header Image

<h1>obsidian-mcp MCP Server</h1>

<p>
<a href="https://github.com/Sunwood-ai-labs/obsidian-mcp">
GitHub Stars
</a>
<a href="https://github.com/Sunwood-ai-labs/obsidian-mcp/issues">
GitHub Issues
</a>
<a href="https://github.com/Sunwood-ai-labs/obsidian-mcp/blob/main/LICENSE">
License
</a>
</p>

<p>
TypeScript
Node.js
Obsidian
MCP
</p>
</div>

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
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
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.