my-obsidian-mcp

my-obsidian-mcp

Enables AI assistants to read, search, create, and modify Obsidian notes via the Model Context Protocol, supporting tasks like daily notes, backlinks, and project management.

Category
Visit Server

README

my-obsidian-mcp

Obsidian Vault를 읽고 쓸 수 있는 MCP(Model Context Protocol) 서버입니다. Cursor, Claude Desktop 등 MCP를 지원하는 AI 클라이언트에서 Obsidian 노트를 검색, 조회, 생성, 수정할 수 있습니다.

Tools

읽기

Tool 인자 설명
list_notes glob? Vault 내 마크다운 파일 목록을 반환합니다. glob 패턴으로 필터링할 수 있습니다.
get_note path 특정 노트의 frontmatter와 본문을 반환합니다.
get_section path, section 특정 노트의 ## Section 하나만 추출하여 반환합니다. 섹션명은 대소문자를 구분하지 않습니다.
search_notes query, limit?, caseSensitive? 키워드로 노트를 검색합니다. ripgrep이 있으면 우선 사용하고, 없으면 JS 스캔으로 폴백합니다.
get_backlinks target 특정 페이지를 [[wikilink]]로 참조하는 노트 목록을 반환합니다.
list_tags — Vault 전체의 태그(frontmatter + 인라인 #tag)를 수집하여 반환합니다.
list_daily_notes from?, to?, limit? Daily Note 목록을 조회합니다. daily-notes/YYYY-MM-DD-Day.md, daily-notes/YYYY/MM/YYYY-MM-DD-Day.md 패턴을 지원하며, from/to 날짜 범위로 필터링할 수 있습니다.
list_todos from?, to?, status? Daily Note에서 - [ ]/- [x] 항목을 파싱하여 반환합니다. status는 all(기본값)·pending·done을 지원합니다. 각 항목에 출처 파일, 날짜, 섹션명이 포함됩니다.

쓰기

Tool 인자 설명
create_note path, content, frontmatter? 새 노트를 생성합니다. 이미 존재하는 파일이면 에러를 반환합니다. 중간 디렉토리는 자동 생성됩니다.
update_note path, content, frontmatter? 기존 노트를 덮어씁니다. frontmatter를 생략하면 기존 frontmatter가 유지됩니다.
append_to_note path, content 기존 노트 끝에 내용을 추가합니다.
append_to_section path, section, content 특정 ## Section 끝에 내용을 삽입합니다. 섹션이 존재하지 않으면 에러를 반환합니다.
update_frontmatter path, updates, deleteKeys? 기존 노트의 frontmatter를 부분적으로 수정합니다. updates로 key-value를 merge하고, deleteKeys로 특정 키를 제거할 수 있습니다.

Daily Note

Tool 인자 설명
create_daily_note date? daily-notes/template.md를 기반으로 새 Daily Note를 생성합니다. 날짜를 생략하면 오늘 날짜를 사용합니다. 파일명에 요일 접미사(-Thu)가 자동으로 추가되며, {{date}} 플레이스홀더가 실제 날짜로 치환됩니다.

Resources

URI 패턴 설명
obsidian://note/{path} Resource 목록은 daily-notes 폴더 바로 아래의 .md 파일(daily-notes/*.md)만 노출합니다. 일반 노트 조회는 Tool(get_note, search_notes) 사용을 권장합니다.

Prompts

Prompt 설명
summarize_note 노트 경로를 받아 해당 노트의 요약을 요청하는 프롬프트 템플릿입니다.
daily_review 특정 날짜(기본: 오늘)의 Daily Note를 읽어 회고를 도와주는 프롬프트 템플릿입니다. 완료 사항, 진행 중 작업, 내일 할 일, 회고를 정리합니다.

활용 사례 (Use Cases)

1) 주간 회고 자동 생성 + 메타데이터 정리

  • 상황: 주간 Daily Note를 기반으로 회고 문서를 만들고, 태그/상태를 일관되게 정리하고 싶을 때
  • 미니 플레이북:
    1. list_daily_notes(from, to)로 주간 대상 수집
    2. 핵심 노트를 get_section(path, "TIL")로 학습 내용만 추출
    3. create_note로 Weekly/YYYY-Www.md 생성
    4. update_frontmatter로 tags, status, sourceNotes 보강

2) 프로젝트 상태보드 반자동 갱신

  • 상황: 프로젝트 진행상황이 여러 노트에 흩어져 있어 한 곳에서 보기 어렵고, 주기적으로 상태보드가 필요할 때
  • 미니 플레이북:
    1. search_notes로 상태 관련 키워드 수집 (status, blocked, next 등)
    2. 관련 노트들을 get_note로 집계
    3. 보드 노트를 update_note로 전체 재생성 (표/섹션)
    4. 필요 시 update_frontmatter로 updatedAt, owner 반영

3) 백링크 기반 지식 그래프 정비

  • 상황: 핵심 노트가 고립되어 있고, 관련 문서 연결을 강화하고 싶을 때
  • 미니 플레이북:
    1. get_backlinks(target)로 연결 빈약 노트 식별
    2. search_notes로 연관 후보 문서 찾기
    3. 추천 링크 문장을 생성해서 append_to_section(path, "Related")로 섹션에 보강

4) 장애/운영 기록 포스트모템 문서화

  • 상황: Daily Note와 운영 로그에 흩어진 사건 기록을 정형화된 포스트모템으로 남기고 싶을 때
  • 미니 플레이북:
    1. search_notes로 사건 키워드/에러코드 검색
    2. 관련 일자 노트를 get_note로 수집
    3. 타임라인/원인/재발방지 템플릿 문서를 create_note로 생성
    4. update_frontmatter로 severity, owner, followUpDue 추가

5) 태그 기반 월간 큐레이션 노트 작성

  • 상황: 월간 학습/업무 노트 중 특정 태그 주제만 뽑아 digest 형태로 공유하고 싶을 때
  • 미니 플레이북:
    1. list_tags로 태그 후보 탐색
    2. search_notes("#태그")로 후보 노트 수집
    3. 요약/선정 이유를 포함한 digest를 create_note로 작성
    4. 다음 달엔 update_note로 누적판 갱신

설치

npm install

선택 사항

search_notes의 빠른 검색을 위해 ripgrep을 설치하는 것을 권장합니다.

# macOS
brew install ripgrep

실행

# 개발 (tsx)
npm run dev -- /path/to/your/ObsidianVault

# 빌드 후 실행
npm run build
npm start -- /path/to/your/ObsidianVault

MCP 클라이언트 설정

Cursor

~/.cursor/mcp.json (또는 프로젝트 .cursor/mcp.json)에 아래와 같이 추가합니다.

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": [
        "tsx",
        "/absolute/path/to/my-obsidian-mcp/src/index.ts",
        "/path/to/your/ObsidianVault"
      ]
    }
  }
}

Claude Desktop

claude_desktop_config.json에 추가합니다.

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": [
        "tsx",
        "/absolute/path/to/my-obsidian-mcp/src/index.ts",
        "/path/to/your/ObsidianVault"
      ]
    }
  }
}

기술 스택

  • TypeScript — ES2022, NodeNext 모듈
  • @modelcontextprotocol/sdk — MCP 서버 구현 (stdio transport)
  • fast-glob — 파일 탐색
  • gray-matter — frontmatter 파싱
  • zod — 입력 스키마 검증
  • vitest — 단위/통합 테스트 (npm test)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured