IWL MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@IWL MCP ServerCreate an IWL note for today's development log"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IWL MCP Server
단일 MCP 서버로 GitHub(온라인) ↔ Obsidian(로컬 볼트) ↔ Claude Code/ChatGPT 흐름을 연결합니다.
🎯 주요 기능
GitHub 툴
브랜치 생성/관리
파일 업서트 (생성/수정)
커밋 및 PR 생성
머지는 수동으로 유지 🔒
Obsidian 툴
볼트 내 파일 검색/읽기/생성
IWL 파일명 표준화
안전한 볼트 접근 (화이트리스트)
Related MCP server: Obsidian MCP Server
📋 IWL 파일명 규칙
{카테고리}_{YYYY-MM-DD}_{제목}.md
카테고리:
- 01_기획_전략
- 02_개발_기술
- 03_운영_관리
- 04_자료_리소스
- 99_원본_파일🚀 설치 및 실행
1. 환경 설정
# 저장소 클론 후
cd iwl-mcp-server
# 가상환경 생성 및 활성화
python3 -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# 의존성 설치
pip install -e .2. 환경변수 설정
# .env 파일 생성
cp .env.example .env
# .env 파일 편집하여 실제 값 입력
# GITHUB_TOKEN=ghp_your_token_here
# GITHUB_OWNER=your-username
# GITHUB_REPO=iwl-studio
# OBS_VAULT_PATH=/path/to/your/obsidian/vault
# IWL_DEFAULT_AUTHOR=Your-Name
# IWL_DEFAULT_VERSION=v1.0.03. MCP 서버 실행
# 방법 1: 직접 실행
python -m mcp_server.main
# 방법 2: 설치된 스크립트 사용
iwl-mcp-server
# 방법 3: HTTP 서버 모드 (개발용)
uvicorn mcp_server.main:app --port 27123🔌 클라이언트 연결
Claude Desktop MCP 설정
Claude Desktop의 MCP 설정 파일에 다음 내용 추가:
{
"mcpServers": {
"iwl-mcp-server": {
"command": "python",
"args": ["-m", "mcp_server.main"],
"cwd": "/path/to/iwl-mcp-server",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here",
"GITHUB_OWNER": "your-username",
"GITHUB_REPO": "iwl-studio",
"OBS_VAULT_PATH": "/path/to/your/obsidian/vault",
"IWL_DEFAULT_AUTHOR": "Your-Name"
}
}
}
}Claude Code 연결
# 로컬 개발용
python -m mcp_server.mainChatGPT 연결 (HTTP 터널)
# Cloudflare Tunnel로 외부 노출
cloudflared tunnel --url http://127.0.0.1:27123
# 또는 ngrok 사용
ngrok http 27123🔒 보안 정책
머지 수동: 모든 PR은 수동으로 머지
볼트 접근 제한: OBS_VAULT_PATH 외부 접근 금지
GitHub 권한: repo 스코프 토큰 필요
🛡️ 검증 레이어
iwl-studio 레포지토리에는 문서 품질을 보장하기 위한 자동 검증 시스템이 구축되어 있습니다.
📋 검증 규칙
검사 대상: plans/, memos/, reviews/, logs/, docs/ 폴더의 *.md 파일
필수 요소:
출처/근거: 모든 문서에 참조 자료, 링크 또는 근거가 명시되어야 함
결정사항: 리뷰/계획 문서는 결론이나 결정사항 섹션 필요
완성도: 'TBD', '???', '' 등 미완성 표시 제거
🏷️ 라벨 흐름
PR 생성 → 자동 검증 실행
검증 실패 →
needs-verification라벨 부착 + 상세 피드백검증 성공 →
verified라벨 부착 +needs-verification제거수동 리뷰 → 최종 승인 후 머지 (기존 정책 유지)
🔄 검증 프로세스
graph LR
A[PR 생성/수정] --> B[자동 검증]
B --> C{통과?}
C -->|실패| D[needs-verification 라벨]
C -->|성공| E[verified 라벨]
D --> F[문제 수정]
F --> A
E --> G[수동 리뷰]
G --> H[머지]참고: 머지는 여전히 수동으로만 가능하며, 검증은 코드 품질 보장을 위한 사전 단계입니다.
🛠️ 검증 지원 툴 사용 예
MCP를 통해 문서 검증과 PR 관리를 자동화할 수 있습니다:
# 1. 문서 초안 작성 후 검증
lint_result = obs.lint_markdown("plans/new_feature_plan.md")
# 2. 검증 결과를 바탕으로 PR에 코멘트
if not lint_result["valid"]:
comment_body = f"""## 📝 문서 품질 검사 결과
{lint_result["summary"]}
### 🔧 발견된 문제점:
{chr(10).join(f"- {issue}" for issue in lint_result["issues"])}
### 📊 문서 통계:
- 단어 수: {lint_result["stats"]["word_count"]}개
- 참조 자료: {lint_result["stats"]["source_references"]}개
- 결정사항 섹션: {"✅" if lint_result["stats"]["has_decision_section"] else "❌"}
**다음 단계**: 위 문제점들을 수정한 후 다시 커밋해주세요.
"""
# PR에 검증 결과 코멘트 작성
gh.comment_pr(123, comment_body)
# needs-verification 라벨 부착
gh.add_labels(123, ["needs-verification"])
else:
# 검증 통과 시 성공 메시지
gh.comment_pr(123, "✅ 문서 품질 검증을 통과했습니다!")
gh.add_labels(123, ["verified"])워크플로우 예시:
문서 초안 저장 →
obs.upsert_markdown()또는 Obsidian 직접 작성품질 검사 →
obs.lint_markdown()실행결과 요약 →
gh.comment_pr()로 PR에 피드백 남기기라벨 관리 → 문제 시
needs-verification, 통과 시verified부착
🛠️ 등록된 MCP 도구들 (14개)
Obsidian 도구 (7개)
도구 | 설명 | 주요 매개변수 |
| 볼트 내 문서 검색 |
|
| 문서 읽기 |
|
| 문서 생성/업데이트 |
|
| IWL 표준 노트 생성 |
|
| 섹션 추가 |
|
| 파일 이동 |
|
| 문서 품질 검사 |
|
GitHub 도구 (7개)
도구 | 설명 | 주요 매개변수 |
| 브랜치 생성 |
|
| 파일 생성/업데이트 |
|
| Pull Request 생성 |
|
| PR 정보 조회 |
|
| PR 목록 조회 |
|
| PR 라벨 추가 |
|
| PR 라벨 제거 |
|
| PR 코멘트 작성 |
|
📖 사용 가이드
Obsidian 워크플로우
// 1. IWL 표준 노트 생성
{
"tool": "obs.create_iwl_note",
"arguments": {
"category": "03_운영_관리",
"title": "주간 회의록",
"body": "# 회의 내용\n\n- 안건 1: 프로젝트 진행상황\n- 안건 2: 다음주 계획",
"tags": ["회의", "운영"],
"ymd": "2025-08-09"
}
}
// 2. 문서 검색
{
"tool": "obs.search",
"arguments": {
"keyword": "회의",
"subdir": "03_운영_관리"
}
}
// 3. 품질 검사
{
"tool": "obs.lint_markdown",
"arguments": {
"rel_path": "03_운영_관리/03_운영_관리_2025-08-09_주간_회의록.md"
}
}GitHub 워크플로우
// 1. 브랜치 생성
{
"tool": "gh.create_branch",
"arguments": {
"branch_name": "feature/weekly-meeting-notes",
"from_branch": "main"
}
}
// 2. 파일 업로드
{
"tool": "gh.upsert_file",
"arguments": {
"branch": "feature/weekly-meeting-notes",
"path": "meetings/2025-08-09_weekly.md",
"content": "# 주간 회의록\n\n내용...",
"commit_message": "add weekly meeting notes"
}
}
// 3. PR 생성
{
"tool": "gh.create_pr",
"arguments": {
"branch": "feature/weekly-meeting-notes",
"title": "[Docs] Weekly Meeting Notes",
"body": "## 변경 요약\n- 주간 회의록 추가\n\n## 근거/출처\n- 팀 회의 진행",
"base": "main",
"draft": false
}
}🔄 운영 플로우
Obsidian에서 문서 작성
MCP를 통해 GitHub에 브랜치/파일 생성
PR 자동 생성
사람이 수동으로 리뷰 후 머지
Obsidian Git 플러그인으로 pull (또는 수동)
🧪 테스트 및 검증
E2E 테스트 실행
# 종합 테스트 스위트 실행
python test_e2e.py
# 개별 테스트
python test_simple_server.py # 모듈 임포트 검증
python test_github_tools.py # GitHub 기능 테스트
python test_obsidian_extended.py # Obsidian 기능 테스트테스트 결과 예시
전체 테스트: 41개
성공률: 95.1% (MCP SDK 설치 시 100%)
커버리지: 환경설정, Obsidian 워크플로우, GitHub 시뮬레이션, 통합 테스트, 서버 기동
프로덕션 준비 체크리스트
환경변수 설정 완료 (.env 파일)
MCP SDK 설치:
pip install mcpE2E 테스트 통과 확인
Claude Desktop MCP 설정 완료
GitHub Personal Access Token 발급
Obsidian 볼트 경로 확인
주의: 머지는 항상 수동으로 진행하여 코드 품질을 유지합니다.
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ihw33/iwl-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server