Skip to main content
Glama
devheedoo

my-obsidian-mcp

by devheedoo

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] 항목을 파싱하여 반환합니다. statusall(기본값)·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}} 플레이스홀더가 실제 날짜로 치환됩니다.

Related MCP server: Obsidian MCP Server

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_noteWeekly/YYYY-Www.md 생성

    4. update_frontmattertags, status, sourceNotes 보강

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

  • 상황: 프로젝트 진행상황이 여러 노트에 흩어져 있어 한 곳에서 보기 어렵고, 주기적으로 상태보드가 필요할 때

  • 미니 플레이북:

    1. search_notes로 상태 관련 키워드 수집 (status, blocked, next 등)

    2. 관련 노트들을 get_note로 집계

    3. 보드 노트를 update_note로 전체 재생성 (표/섹션)

    4. 필요 시 update_frontmatterupdatedAt, 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)

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devheedoo/my-obsidian-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server