Skip to main content
Glama
yanxue06

obsidian-mcp

by yanxue06

obsidian-mcp

Claude(및 모든 MCP 클라이언트)가 Obsidian 볼트에 실제 에이전트 수준으로 접근할 수 있도록 합니다. 그래프 탐색, Dataview 쿼리, 일일 노트 인식 등을 지원합니다.

npm version License: MIT MCP GitHub stars

설치 · 도구 · 추천 프롬프트 · 비교 · FAQ


대부분의 Obsidian MCP 서버는 read_filewrite_file만 제공하고 끝납니다. 이 서버는 여러분의 볼트를 지식 그래프로 취급합니다. LLM이 단 한 번의 호출로 백링크, 포워드 링크, Dataview 쿼리, 일일 노트, 다중 홉 그래프 탐색을 수행할 수 있습니다.

이유

Claude Desktop을 열고 노트 간의 연결을 찾으라고 요청했을 때, Claude가 노트 하나하나를 read_file로 읽어 나가는 것을 보셨을 겁니다. 하지만 Obsidian 사용자는 노트를 그런 식으로 생각하지 않습니다. 그래프 자체가 가치입니다. 백링크, 전이적 연결, 태그, Dataview 타입 메타데이터 등이 중요하죠. 이 서버는 이 모든 것을 일급 도구로 제공합니다.

설치

Obsidian에 Local REST API 플러그인이 필요합니다. 커뮤니티 플러그인에서 설치하고 활성화한 뒤, 설정에서 API 키를 복사하세요.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json(Windows)에 다음을 추가하세요:

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": ["-y", "obsidian-mcp"],
      "env": {
        "OBSIDIAN_API_KEY": "paste-your-key-here"
      }
    }
  }
}

Claude Desktop을 재시작하세요. 완료되었습니다.

Claude Code

claude mcp add obsidian -e OBSIDIAN_API_KEY=paste-your-key-here -- npx -y obsidian-mcp

Cursor / Cline / Continue / Zed

MCP 호환 클라이언트라면 무엇이든 작동합니다. 환경 변수에 OBSIDIAN_API_KEY를 설정하고 npx -y obsidian-mcp를 가리키도록 하세요.

소스에서 설치

git clone https://github.com/yanxue06/obsidian-mcp.git
cd obsidian-mcp
npm install
npm run build
OBSIDIAN_API_KEY=... node dist/index.js

추천 프롬프트

서버가 연결된 Claude Desktop에 다음을 입력해 보세요:

분산 시스템에 대해 작성한 모든 내용을 바탕으로 콘텐츠 맵(MOC)을 만들어줘. "Distributed systems.md"에서 traverse_graph를 깊이 2로 사용하고, 이웃 노드들을 주제별로 그룹화한 뒤 MOCs/Distributed systems MOC.md에 MOC를 작성해줘.

#project 태그가 있고 status != "done"이며 마감일이 이번 주인 모든 노트를 찾아줘. query_dataview를 사용해.

오늘 일일 노트에 뭐가 있지? 어제 노트에서 후속 조치를 잊은 게 있을까?

Inbox/에 있는 고아 노트(orphan notes)를 모두 찾아줘. 각 노트의 내용과 기존 태그를 바탕으로 어디에 속해야 할지 제안해줘.

"Atomic notes.md"를 "Evergreen notes.md"로 이름을 바꾸려고 해. 이 노트를 링크하는 모든 노트를 찾아서 내가 업데이트해야 할 노트가 무엇인지 알려줘.

"Working memory.md"에서 2홉 떨어진 그래프를 탐색해서 주의력에 대한 내 생각의 중심이 되는 노트가 무엇인지 알려줘.

도구

총 15개의 도구가 있습니다. 차별화된 도구는 굵게 표시했습니다.

읽기

도구

기능

get_note

노트 내용과 그래프 컨텍스트(백링크, 포워드 링크, 태그, 프론트매터)를 한 번에 가져옵니다.

get_active_note

현재 Obsidian에서 포커스된 노트를 가져옵니다.

get_daily_note

오늘의 일일/주간/월간/분기별/연간 노트를 가져옵니다.

list_vault

모든 파일(또는 특정 폴더 내 파일)을 나열합니다(기본값은 마크다운 파일만).

검색 및 그래프

도구

기능

search_vault

스니펫과 함께 전체 텍스트 또는 #태그 검색을 수행합니다.

query_dataview

Dataview DQL 쿼리를 실행합니다. Dataview 플러그인이 필요합니다.

traverse_graph

노트에서 N홉 떨어진 노드를 탐색합니다(순방향, 역방향 또는 둘 다). 노드와 엣지를 반환합니다.

find_orphans

들어오는 링크가 없는 노트를 찾습니다. 잊힌 아이디어나 정리 대상 후보를 찾을 때 유용합니다.

find_broken_links

해결되지 않는 위키 링크를 찾습니다. 대량 이름 변경 전에 실행하세요.

쓰기

도구

기능

create_note

새 노트를 생성합니다. 선택적 프론트매터와 [[위키 링크]]의 자동 생성된 ## 관련 섹션을 포함할 수 있습니다.

update_note

노트의 전체 내용을 교체합니다.

append_to_note

노트 끝에 마크다운을 추가합니다.

append_to_daily_note

에이전트가 오늘 수행한 작업을 일일 노트에 기록하는 일반적인 패턴입니다.

patch_note

특정 제목, 블록 또는 프론트매터 필드 아래에 내용을 삽입합니다(나머지 내용을 다시 쓰지 않음).

delete_note

노트를 삭제합니다. 파괴적인 작업이므로 명시적으로 요청할 때만 사용하세요.

비교

obsidian-mcp

다른 Obsidian MCP 서버

Obsidian Copilot (플러그인)

한 번의 호출로 백링크 확인

아니요

다중 홉 그래프 탐색

아니요

아니요

Dataview DQL 통과

아니요

부분 지원

일일/주기적 노트

아니요

아니요

제목/블록 아래 패치

아니요

아니요

고아/깨진 링크 찾기

아니요

아니요

모든 MCP 클라이언트와 호환

아니요 (Obsidian 전용)

Obsidian 플러그인 설치 필요

Local REST API만

Local REST API만

설정

모든 설정은 환경 변수를 통해 이루어지며, MCP 클라이언트 설정에서 지정합니다.

변수

필수

기본값

비고

OBSIDIAN_API_KEY

Local REST API 플러그인 설정에서 확인.

OBSIDIAN_HOST

아니요

127.0.0.1

OBSIDIAN_PORT

아니요

27124 (https) / 27123 (http)

OBSIDIAN_PROTOCOL

아니요

https

플러그인은 기본적으로 자체 서명 인증서를 사용한 HTTPS를 사용합니다.

OBSIDIAN_VERIFY_TLS

아니요

false

자체 서명 인증서를 교체한 경우 true로 설정하세요.

OBSIDIAN_TIMEOUT_MS

아니요

15000

요청당 타임아웃 시간.

작동 원리

┌──────────────┐     stdio (MCP)      ┌──────────────┐    HTTPS     ┌──────────────────┐
│ Claude / IDE │ ───────────────────► │ obsidian-mcp │ ───────────► │  Local REST API  │ ──► Vault
└──────────────┘                      └──────────────┘              │ (Obsidian plugin)│
                                                                    └──────────────────┘

obsidian-mcpLocal REST API 플러그인 위에 구축된 얇은 레이어입니다. 이 플러그인은 Obsidian 내부에서 전체 볼트에 접근할 수 있는 HTTPS 서버를 실행합니다. 이 서버는 해당 인터페이스를 MCP 프로토콜에 맞게 조정하고, Obsidian의 REST API가 직접 제공하지 않는 그래프 인식 도구(백링크, 다중 홉 탐색, 고아 탐색 등)를 추가합니다.

모든 데이터는 로컬에 머뭅니다. MCP 클라이언트가 모델 제공자에게 보내는 요청 외에는 어떤 데이터도 기기를 떠나지 않으며, 이는 사용자가 제어할 수 있습니다.

FAQ

Obsidian 플러그인을 설치해야 하나요? 네, Local REST API 플러그인이 필요합니다. 외부에서 실행 중인 볼트와 통신할 수 있는 유일한 합리적인 방법입니다. 설치 후 obsidian-mcp 자체는 MCP 클라이언트에 의해 시작되는 별도의 Node 프로세스로 실행되므로, Obsidian에 추가 플러그인을 설치할 필요는 없습니다.

Obsidian이 닫혀 있어도 작동하나요? 아니요. Local REST API는 Obsidian 내부에서 실행되므로 앱이 열려 있어야 합니다.

여러 볼트를 지원하나요? 하나의 서버 인스턴스는 하나의 실행 중인 Obsidian 인스턴스를 가리킵니다. 볼트를 자주 전환한다면 여러 MCP 서버 항목(다른 이름 + 다른 포트)을 실행하세요.

왜 기본적으로 OBSIDIAN_VERIFY_TLS=false인 HTTPS를 사용하나요? 플러그인은 자체 서명 인증서를 제공합니다. 트래픽은 루프백(127.0.0.1) 내에서만 발생하므로, 검증은 실제 보안 이득 없이 번거로움만 더합니다. 인증서를 교체했다면 이 플래그를 설정하세요.

안전한가요? MCP 서버는 API 키가 허용하는 만큼의 접근 권한을 모델에 부여합니다. 모델이 삭제하려는 모든 것을 삭제할 수 있습니다. 파일 쓰기 권한이 있는 다른 에이전트와 마찬가지로 취급하고, 특히 대량 작업을 수행하기 전에 모델이 무엇을 하려는지 검토하세요.

로드맵

  • [ ] 임베딩 기반 의미론적 검색 (현재는 플러그인을 통한 키워드 검색만 가능)

  • [ ] 작업 공간 전환 / 다중 볼트 라우팅

  • [ ] 읽기 전용 안전 모드 (쓰기 도구 등록 안 함)

  • [ ] 리소스 구독 (노트 변경 시 업데이트 푸시)

  • [ ] Smithery / mcp-get 레지스트리 제출

PR은 언제나 환영합니다. CONTRIBUTING.md를 참조하세요.

감사의 말

라이선스

MIT — LICENSE를 참조하세요.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
4Releases (12mo)

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/yanxue06/obsidian-mcp'

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