Skip to main content
Glama
dud0880
by dud0880

Work Tracker

AI 업무 자동 추적 및 주간보고 생성 시스템. Claude Code / Codex CLI Hooks로 모든 대화, 코드 변경, 명령 실행을 100% 결정론적으로 자동 기록하고, MCP 도구를 통해 일일 통계, 주간보고, 데이터 내보내기를 수행합니다.

아키텍처

Claude Code / Codex CLI 이벤트 (자동 발생)
    │
    ▼
Hooks (build/hooks 바이너리)        ← 자동 추적 (대화/코드 변경/토큰·모델)
    │
    ▼
SQLite DB (work-tracker.db)
    │
    ├──▶ 일자별 JSON 캐시 (data/YYYY/MM/DD.json)   ← 과거 날짜 조회 결과 캐싱
    ▼
MCP Server (build/mcp-server)      ← 조회/보고서 (글로벌)
    │
    └──▶ Git 커밋 이력 수집 (작업한 프로젝트 레포 자동 스캔)

Related MCP server: hivecode

핵심 기능

자동 추적 (Hooks)

  • SessionStart / SessionEnd: 세션 관리 및 일일 요약(daily_summary) 집계

  • UserPromptSubmit: 사용자 프롬프트 100% 자동 캡처

  • PostToolUse (Edit|Write): 코드 변경 자동 기록 (파일 경로, 생성/수정 타입, 추가·삭제 라인 수)

  • PostToolUse (Bash): 실행 명령 기록 (300자 절삭)

  • Stop: 응답 완료 시 어시스턴트 메시지 저장 + transcript 파싱으로 토큰 사용량·모델명 자동 집계 (같은 세션의 이전 행 토큰을 리셋해 중복 누적 방지) + 일일 요약 갱신

  • PostCompact: 컨텍스트 압축 시 요약 보존

모든 기록에 작업 디렉토리(dir)가 함께 저장되어 프로젝트별 작업량이 자동 구분됩니다. DB 스키마 변경 시 하위 호환 마이그레이션(dir, model, tokens_used 컬럼)이 자동 적용됩니다.

MCP 도구 (글로벌)

도구

설명

get_daily_stats

일일 작업 통계 (대화 수, 토큰·모델별 사용량, 코드 변경, 프로젝트별 작업량, 주요 변경 파일 TOP 5)

export_data

기간별 데이터 JSON 내보내기 (대화, 코드 변경, 일일 요약)

generate_weekly_report

주간보고 증적 데이터 + 작성 지침 반환 → LLM이 보고서 작성

MCP 서버는 글로벌 등록되어 어느 프로젝트에서든 사용할 수 있습니다.

주간보고 생성 (generate_weekly_report)

증적 데이터를 수집해 LLM에게 전달하고, 정해진 양식·작성 규칙에 따라 보고서를 작성하게 합니다.

  • 일자별 JSON 캐시: 과거 날짜는 data/YYYY/MM/DD.json 캐시에서 로드, 캐시 미스·당일 데이터만 DB 조회 (조회 결과는 자동 캐싱)

  • 프로젝트별 집계: 대화 수, 코드 변경, 변경 파일 목록, 소요시간

  • 작업 시간 계산: 세션 간격 합산 방식 — 연속 메시지 간격이 30분 이내면 같은 세션으로 간주해 실작업 시간 산출

  • Git 커밋 이력 수집: 기간 내 작업한 프로젝트 디렉토리의 레포를 자동 스캔, 레포별 git config user.email 기준 본인 커밋만 필터링

  • 모델별 토큰 집계: 모델별 턴 수·토큰 사용량 분리 표시

  • 시간 절감 추정: 단독 작업 추정(라인당 2분) 대비 실작업 시간 비교

  • 작성 지침 내장: '기존 방식 / AI 적용 / 결과' 구조, 정량 성과 표, 증적(Git 이력·주요 변경 파일), AI 활용 팁 섹션까지 보고서 양식과 작성 규칙을 함께 반환 — 없는 사실 추측 금지, 수치 불확실 시 '추정' 표기 등 환각 방지 규칙 포함

설치

요구 사항

빌드

git clone <repository-url> ~/work_tracker
cd ~/work_tracker
npm run build:all    # Hooks 바이너리 + MCP 서버 빌드

MCP 서버 등록

# Claude Code (글로벌)
claude mcp add work-tracker -s user ~/work_tracker/build/mcp-server

# Codex CLI
codex mcp add work-tracker -- ~/work_tracker/build/mcp-server

설정 예시: examples/mcp.claude.json, examples/mcp.codex.toml

크로스 컴파일 (선택)

# Windows
bun build src/hooks.ts --compile --target=bun-windows-x64 --outfile build/hooks-win.exe
bun build src/mcp-server.ts --compile --target=bun-windows-x64 --outfile build/mcp-server-win.exe

# Linux
bun build src/hooks.ts --compile --target=bun-linux-x64 --outfile build/hooks-linux
bun build src/mcp-server.ts --compile --target=bun-linux-x64 --outfile build/mcp-server-linux

Hooks 설정

Claude Code

.claude/settings.json에 hooks가 이미 구성되어 있습니다. 프로젝트 안에서 바로 동작합니다.

글로벌 적용 (모든 프로젝트에서 추적):

~/.claude/settings.json에 hooks를 등록하세요. $HOME 경로를 사용합니다. 전체 예시: examples/settings.global.json

Codex CLI

.codex/hooks.json에 hooks가 구성되어 있습니다. 전체 예시: examples/hooks.codex.json

차이점:

  • SessionEnd, PostCompact 이벤트 미지원 → Stop에서 대체 (daily_summary 갱신 포함)

  • async 옵션 미지원

  • 토큰 집계 시 Codex transcript 포맷(token_count 이벤트) 자동 인식

  • Windows hooks 임시 비활성화

Windows

  • 빌드 시 자동으로 .exe 확장자 생성 (build/hooks.exe, build/mcp-server.exe)

  • Hooks 설정에서 .exe 경로 사용 필요

  • Codex CLI hooks는 Windows 미지원

  • 상세: SETUP_GUIDE.md 5. Windows 설정 참고

파일 구조

work_tracker/
├── src/
│   ├── hooks.ts              # Hooks 핸들러 (자동 추적, 토큰/모델 집계)
│   └── mcp-server.ts         # MCP 서버 (통계/보고서/캐시/Git 수집)
├── build/
│   ├── hooks                 # Hooks 바이너리
│   └── mcp-server            # MCP 서버 바이너리
├── data/                     # 일자별 JSON 캐시 (자동 생성, gitignore)
│   └── YYYY/MM/DD.json
├── .claude/
│   └── settings.json         # Claude Code hooks 설정
├── .codex/
│   └── hooks.json            # Codex CLI hooks 설정
├── examples/
│   ├── settings.project.json
│   ├── settings.global.json
│   ├── hooks.codex.json
│   ├── mcp.claude.json
│   └── mcp.codex.toml
├── scripts/
│   └── generate-report.sh    # 보고서 생성 스크립트
├── work-tracker.db           # SQLite DB (자동 생성, gitignore)
└── package.json

사용법

일일 통계

오늘 작업 통계 알려줘
3월 28일 통계 보여줘

→ MCP 도구 get_daily_stats 자동 호출

주간보고

주간보고 작성해줘
이번 주 주간보고 생성해줘

→ MCP 도구 generate_weekly_report 호출 → 증적 데이터 + 작성 지침 반환 → LLM이 보고서 작성 후 주간보고_시작일_종료일.md로 저장

데이터 내보내기

이번 달 데이터 내보내줘
3월 1일부터 31일까지 데이터 export 해줘

→ MCP 도구 export_data 호출 → JSON 파일 저장

데이터베이스

SQLite (work-tracker.db)에 자동 생성되며, 주요 테이블:

테이블

용도

conversations

대화 기록 (사용자/어시스턴트/시스템, 작업 디렉토리, 모델, 토큰)

code_changes

코드 변경 (파일, 타입, 라인 수, 작업 디렉토리)

daily_summary

일일 통계 집계 (대화/코드/라인/토큰)

weekly_reports

주간보고서 캐시

과거 날짜의 원본 데이터는 data/YYYY/MM/DD.json에 캐싱되어 반복 조회 시 DB 접근을 최소화합니다.

작성자

홍우영 (dud0880@inswave.com)

라이선스

MIT License

F
license - not found
-
quality - not tested
C
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/dud0880/work_tracker_mcp'

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