
AI 기술 정보가 너무 많아서 Obsidian을 AI의 외부 기억 장치로 만들어 정보 수집을 자동화했다
요약
Obsidian 노트를 AI의 외부 기억 장치로 활용하기 위해 MCP(Model Context Protocol) 서버를 구축하는 방법을 소개합니다. AI가 직접 노트를 검색, 읽기, 쓰기 할 수 있도록 하여 정보 수집과 정리를 자동화합니다.
핵심 포인트
- MCP를 활용해 Obsidian 노트를 AI의 지식 베이스로 연결
- vault_search, vault_read, vault_write 도구 제공
- Claude Code 및 Gemini CLI와 연동 가능
- DB 없이 파일 시스템을 직접 읽는 심플한 구조
AI 관련 정보, 따라가고 계신가요?
LLM의 새로운 모델이 출시된다. MCP의 사양이 업데이트된다.
Zenn에 구현 기사가 올라온다. X에서 "이거 써봤다"는 글이 돌아다닌다.
GitHub의 Star 수가 갑자기 늘어나고 있는 리포지토리가 있다.
전부 쫓아가려 하면 본업이 멈춘다.
범위를 좁히면, 나중에 "그 기법을 어디서 읽었더라?" 하게 된다.
가장 소모적인 것은 매번 같은 내용을 다시 조사하는 것이었다.
"LLM의 컨텍스트 관리 (Context Management) 베스트 프랙티스는 지금 어떻게 되어 있지?"를,
지난달에도 이번 달에도 조사하고 있다.
문제의 본질
정보량이 많은 것은 해결할 수 없다. 앞으로도 계속 늘어날 것이다.
문제는 "필요할 때 필요한 정보가 나오지 않는다"는 것이었다.
완벽하게 정리할 필요는 없다.
AI에게 처리를 맡기고, 자신에게는 압축된 에센스(Essence)만 전달되는 상태를 만들면 된다.
이를 위해 필요한 것은 "AI가 자신의 지식에 접근할 수 있는 메커니즘"이었다.
만든 것: Vault MCP 서버
Obsidian의 노트를 AI가 읽고 쓸 수 있는 HTTP 엔드포인트(Endpoint)로 공개하는
Node.js 서버를 만들었다.
제공하는 도구는 3개뿐이다.
| 도구 | 역할 |
|---|---|
vault_search(query) | 인덱스(Index)에서 관련 노트를 찾는다 |
vault_read(path) | 노트의 전문을 읽는다 |
vault_write(path, content) | 노트를 작성한다 |
MCP (Model Context Protocol)를 지원하므로,
Claude Code / Gemini CLI 등 대응하는 클라이언트라면 무엇이든 사용할 수 있다.
메커니즘의 전체상
자신이 하는 일은 "질문하기"뿐이다.
조사·검색·통합·저장은 AI가 담당한다.
Before / After
Before
"LLM의 컨텍스트 관리 (Context Management) 베스트 프랙티스는 지금 어떻게 되어 있지?"
→ Zenn에서 검색, X에서 검색, arxiv도 뒤진다
→ 5~10개의 기사를 훑어본다
→ 어딘가에 메모한다 (혹은 안 한다)
→ 3주 후 다시 같은 내용을 조사하고 있다
소요 시간: 1~2시간. 남는 것: 모호한 기억.
After
"LLM의 컨텍스트 관리 (Context Management) 베스트 프랙티스를 조사해줘"라고 입력한다.
→ 먼저 Vault 내의 기존 노트를 검색 (과거에 조사한 내용이 있다면 즉시 참조)
→ 없다면 외부 조사를 수행하여 Vault에 저장
→ 다음부터는 "지난번에 조사한 내용의 다음"부터 시작할 수 있다
소요 시간: 20~30분. 남는 것: 다음부터 참조할 수 있는 구조화된 노트.
쌓여가는 것이 다르다. 매번 제로(Zero) 상태가 되지 않는다.
셋업 (5분)
git clone https://github.com/EN3Project/knowledge-nexus
cd knowledge-nexus/99_System/mcp
npm install
...
Claude Code에 등록하는 경우에는 .mcp.json을
추가한다.
{
"mcpServers": {
"nexus-vault": {
...
Vault의 경로는 환경 변수로 변경할 수 있다.
NEXUS_VAULT_PATH=/your/vault/index \
NEXUS_INDEX_PATH=/your/vault/99_System/VaultIndex.md \
node nexus-vault.js
구현의 포인트
파일 시스템 직접 읽기
데이터베이스도 벡터 스토어(Vector Store)도 사용하지 않는다.
Markdown 파일을 fs로 직접 읽는다.
심플하며, Obsidian의 동기화 (iCloud / Dropbox)와 그대로 공존할 수 있다.
VaultIndex.md를 통한 검색
전체 텍스트 검색이 아니라, 사전에 작성한 인덱스 파일을 사용한다.
각 노트의 경로·태그·요약이 하나의 파일에 집약되어 있으며,
vault_search는 이곳을 검색한 뒤 vault_read로 필요한 노트만 읽는다.
토큰(Token) 소비를 억제하면서 관련 노트를 빠르게 특정할 수 있다.
HTTP 단일화
SSE (Server-Sent Events) 형식의 HTTP 엔드포인트.
Claude / Gemini 등 MCP에 대응하고 있다면 동일한 URL로 접속할 수 있다.
LLM을 교체해도 Vault에 접근하는 방법은 변하지 않는다.
사용해보고 변한 점
- 「동일한 기술 정보를 두 번 조사하는 일」이 거의 사라졌다
- 조사 결과가 자동으로 노트가 되므로, 다음 주에도 참조할 수 있다
- 여러 LLM을 구분해서 사용하더라도, 동일한 지식 베이스 (Knowledge Base)를 참조할 수 있다
「정보를 정리하는」 비용이 제로가 된 것은 아니다.
다만, 정리를 AI가 담당함으로써, 나의 역할이 「정보를 수집하는 것」에서 「판단하는 것」으로 바뀌었다.
AI 기술 정보 수집에 사용하는 시간의 상당 부분이, 그대로 지식의 축적으로 이어지고 있다.
리포지토리 (Repository)
MIT + Commons Clause 라이선스. 상업적 판매는 불가능하지만, 개인 및 업무 이용은 자유롭다. Obsidian과 MCP 클라이언트가 있다면 작동한다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기