obsidian-mcp
by nuuuri
README.md
# Obsidian MCP Server
Claude와 Obsidian Vault를 양방향으로 연결하는 MCP(Model Context Protocol) 서버입니다.
## 기능
### 노트 관리
- **list_notes** - Vault 내 모든 노트 목록 조회
- **read_note** - 노트 읽기 (frontmatter, 링크, 태그 포함)
- **create_note** - 새 노트 생성 (YAML frontmatter 지원)
- **update_note** - 노트 내용 수정
- **update_frontmatter** - frontmatter만 수정
- **append_to_note** - 노트 끝에 내용 추가
- **delete_note** - 노트 삭제
### 검색 및 그래프
- **search_notes** - 전문 검색 (폴더/태그 필터 지원)
- **get_backlinks** - 특정 노트를 참조하는 노트 조회
- **get_graph** - 노트 간 연결 그래프 데이터
### Daily Notes
- **get_daily_note** - 특정 날짜의 Daily Note 조회
- **create_daily_note** - Daily Note 생성 (템플릿 지원)
- **append_to_daily_note** - Daily Note에 내용 추가
- **list_daily_notes** - Daily Notes 목록 조회
## 설치
```bash
cd ~/obsidian-mcp
npm install
npm run build
```
## 설정
### Claude Desktop 설정
`~/Library/Application Support/Claude/claude_desktop_config.json` 파일을 수정하세요:
```json
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/obsidian-mcp/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault",
"OBSIDIAN_DAILY_NOTES_FOLDER": "Daily Notes",
"OBSIDIAN_DAILY_NOTES_FORMAT": "YYYY-MM-DD"
}
}
}
}
```
### Claude Code 설정
`~/.claude/settings.json` 또는 프로젝트의 `.claude/settings.json`에 추가:
```json
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/obsidian-mcp/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault",
"OBSIDIAN_DAILY_NOTES_FOLDER": "Daily Notes",
"OBSIDIAN_DAILY_NOTES_FORMAT": "YYYY-MM-DD"
}
}
}
}
```
### 환경 변수
| 변수 | 설명 | 필수 | 기본값 |
| ----------------------------- | ----------------------- | ---- | ------------- |
| `OBSIDIAN_VAULT_PATH` | Obsidian Vault 경로 | Yes | - |
| `OBSIDIAN_DAILY_NOTES_FOLDER` | Daily Notes 폴더 경로 | No | `Daily Notes` |
| `OBSIDIAN_DAILY_NOTES_FORMAT` | Daily Notes 파일명 형식 | No | `YYYY-MM-DD` |
## 사용 예시
### Claude에게 요청할 수 있는 것들
```
"내 Obsidian에서 'project' 태그가 있는 노트들을 찾아줘"
"오늘 Daily Note에 '## 회의 메모\n- 새로운 기능 논의' 추가해줘"
"Projects 폴더에 'new-feature.md' 노트를 만들어줘"
"'API 설계' 노트를 참조하는 다른 노트들이 뭐가 있어?"
"최근 일주일 Daily Notes 목록 보여줘"
```
### 도구 사용 예시
**노트 검색:**
```json
{
"query": "프로젝트 계획",
"folder": "Projects",
"tags": ["active"]
}
```
**노트 생성:**
```json
{
"path": "Projects/new-feature.md",
"content": "# 새 기능\n\n## 개요\n...",
"frontmatter": {
"tags": ["project", "feature"],
"status": "planning"
}
}
```
**Daily Note에 추가:**
```json
{
"content": "## 아이디어\n- [[새로운 기능]] 구현 방안",
"date": "2025-01-06"
}
```
## 보안
- 경로 순회 공격 방지
- 심볼릭 링크 차단
- 파일 크기 제한 (10MB)
- 쿼리 길이 제한 (1000자)
## 개발
```bash
# 개발 모드 (파일 변경 시 자동 컴파일)
npm run dev
# 빌드
npm run build
# 실행
npm start
```
## 라이선스
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues