Skip to main content
Glama
rankin-works

Vetroscope MCP

by rankin-works

Vetroscope MCP

Vetroscope용 읽기 전용 Model Context Protocol 서버 — LLM(Claude Desktop, Claude Code, ChatGPT, Cursor 등)에게 시간을 어떻게 보냈는지, 어떤 프로젝트에 참여했는지, 목표 대비 진행 상황이 어떤지에 대한 컨텍스트를 제공합니다.

로컬 Vetroscope SQLite를 직접 읽습니다. 읽기 전용입니다. 클라우드 왕복 없음, 인증 없음, 오프라인에서도 작동합니다.

도구

리포트 및 분석

도구

기능

get_report

기간별 집계 리포트 — 총 활성 시간, 상위 앱, 하위 프로젝트가 중첩된 상위 프로젝트(YouTube 동영상, SoundCloud 노래, Netflix 에피소드).

get_app_breakdown

기간별 단일 앱의 프로젝트별 분석(하위 프로젝트 포함).

get_app_stats

단일 앱에 대한 심층 통계: 전체 누적, 활성 일수, 일별 시계열, 시간대별 분포, 요일별 분포.

get_tag_breakdown

단일 태그에 대한 시간 사용 리포트 — 상위 앱, 상위 프로젝트, 일별 시계열, 활성/수동 분할. include_descendants는 상위 태그의 하위 트리를 합산합니다.

get_tag_stats

단일 태그에 대한 심층 통계(get_app_stats의 태그 버전): 전체 누적, 활성 일수, 일별 시계열, 시간대 및 요일 분포, 태그의 상위 태그와 합산된 하위 태그. include_descendants를 전달하면 상위 태그의 전체 하위 트리를 시계열에 합산합니다.

get_calendar

모든 기간에 대한 조밀한 일별 시계열(히트맵 데이터) — 기본값은 1년 전체.

get_device_breakdown

여러 머신에서 Vetroscope를 실행할 때 기기별 합계.

get_music_split

음악/업무 분석: 업무+음악 / 음악만 / 집중 업무 / 기타, 그리고 소스별(Spotify, SoundCloud 등) 중복 합계. 분류기는 호출별로 재정의할 수 있습니다.

get_category_breakdown

시간을 Vetroscope 활동 카테고리(coding, creative, productivity, communication, entertainment, music, gaming, browsing, system, other)로 합산 — Charts / Settings와 동일한 분류 체계.

get_listening_history

네이티브 음악 앱과 브라우저 음악 사이트의 상위 트랙 및 상위 아티스트, 일별 청취 시간. 아티스트는 "Artist — Title" sub_project 규칙에서 파싱됩니다.

get_media_links

Vetroscope가 실제로 재생한 미디어에 대해 캡처한 정식 딥링크 — Spotify spotify:track:… URI 및 YouTube youtube.com/watch?v=… URL — 해당 시간 데이터와 결합. capture_media_links가 활성화된 Vetroscope ≥ 0.2.30 필요.

get_focus_heatmap

활성 포그라운드 시간의 7×24 그리드 — 특정 종류의 작업을 주로 언제 하는지. 선택적 app / project / tag 필터로 단일 활동으로 좁힐 수 있으며, include_descendants는 상위 태그의 하위 트리를 합산합니다.

참조 / 조회

도구

기능

list_tags

id, 이름, 색상, 고정 플래그, 보관 플래그, 중첩 태그용 parentId/parentName이 포함된 태그 목록. 보관된 태그는 기본적으로 숨겨짐(include_archived로 표시).

list_categories

활동 카테고리 분류 체계(id, label, color) — coding, creative, productivity 등.

list_projects

추적된 모든 (app, project) 쌍 — 전체 합계 + 첫/마지막 확인 시각 + 선택적 부분 문자열 검색.

list_markers

타임라인 마커(타임스탬프, 라벨, 색상, 아이콘, 선택적 구간 종료).

list_notes

노트(제목, 불릿/굵게/기울임/@멘션이 포함된 마크다운 형식 본문 발췌, 선택적 타임스탬프/구간, 고정, 폴더). 선택적 folder 필터(UUID, 이름 또는 none).

list_note_folders

중첩 노트 폴더(uuid, name, parentUuid, path, color).

list_reminders

구성된 일회성, 반복, 간격, 태그 임계값 알림. 비활성화된 알림은 기본적으로 숨겨짐(include_disabled로 포함).

list_reminder_events

알림 알림 기록 — 기간, 읽지 않음 상태 또는 알림 UUID로 필터링 가능.

활동 / 상태

도구

기능

get_sessions

연속 활동 블록(시작/종료/지속 시간) — "오늘 아침에 무엇을 작업했나"에 대한 자연스러운 단위.

get_current_status

가장 최근 항목 — 지금 어떤 앱/프로젝트인지, 얼마나 최근인지, 추적 중인지 유휴 상태인지.

query_entries

원시 30초 항목의 필터링된 목록(app / project / tag / search / period / mode).

목표

도구

기능

get_goals_progress

구성된 앱 / 전체 / 태그 목표에 대한 현재 진행 상황.

get_goal_achievements

어떤 날짜에 어떤 목표를 달성했는지에 대한 기록 — 연속 달성 질문에 활용.

모든 시간 인식 도구는 다음 공통 필터를 허용합니다:

인자

용도

period

today · yesterday · week · month · year · 단일 날짜 YYYY-MM-DD · 포함 범위 YYYY-MM-DD..YYYY-MM-DD

hour_start / hour_end

로컬 시간 기준 포함/제외 시간대 필터(예: 917 = 업무 시간)

weekdays

요일 정수 배열(0=일, 1=월, …, 6=토). 주중만 보려면 [1,2,3,4,5] 전달.

device

current(로컬 머신), get_device_breakdown의 기기 UUID, 또는 플랫폼 이름(darwin, win32, browser-extension). 생략 시 모든 기기.

모든 합계는 대시보드의 구분과 동일하게 활성 포그라운드 시간과 수동 부재 중 청취 시간(예: 유휴 상태의 배경 음악)으로 나뉩니다.

Related MCP server: SQLite MCP Server

요구 사항

  • Vetroscope 설치 및 최소 1회 실행.

  • Node.js 18+.

설치

npx vetroscope-mcp

그게 전부입니다 — 전역 설치가 필요 없습니다. 첫 실행 시 npm에서 패키지를 가져옵니다.

클라이언트 구성

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json(Windows) 편집:

{
  "mcpServers": {
    "vetroscope": {
      "command": "npx",
      "args": ["-y", "vetroscope-mcp"]
    }
  }
}

Claude Desktop을 다시 시작합니다.

Claude Code

claude mcp add vetroscope -- npx -y vetroscope-mcp

ChatGPT(개발자 모드)

Connectors 섹션에서 명령어 npx, 인자 -y vetroscope-mcp로 새 MCP 서버를 추가합니다.

Cursor

~/.cursor/mcp.json에 추가:

{
  "mcpServers": {
    "vetroscope": {
      "command": "npx",
      "args": ["-y", "vetroscope-mcp"]
    }
  }
}

데이터베이스 찾는 방법

Vetroscope는 SQLite를 다음 위치에 저장합니다:

  • macOS: ~/Library/Application Support/Vetroscope/

  • Windows: %APPDATA%\Vetroscope\

  • Linux: ~/.config/Vetroscope/

Vetroscope 계정에 로그인한 경우 활성 DB는 vetroscope-<userId>.db(auth-state.json에 기록됨)입니다. 그렇지 않으면 익명 vetroscope.db입니다.

환경 변수로 두 항목을 모두 재정의할 수 있습니다:

환경 변수

용도

VETROSCOPE_DIR

앱 데이터 디렉터리 재정의

VETROSCOPE_DB_PATH

명시적 .db 파일 지정

예시 프롬프트

  • "이번 주에 After Effects에서 보낸 시간이 얼마나 되나요?"

  • "어제 무엇을 작업했나요?"

  • "오늘 코딩 목표를 달성할 수 있을까요?"

  • "이번 달에 접촉한 상위 3개 프로젝트는 무엇인가요?"

  • "이번 주에 'Vetroscope' 프로젝트를 건드린 모든 세션을 보여주세요."

  • "이번 달에 Vetroscope Dev 태그에 보낸 시간이 얼마나 되나요?"

  • "하루 중 보통 언제 Cursor를 사용하나요?"

  • "지난주 주중 업무 시간(9–5)에 집중 작업을 몇 시간 했나요?"

  • "어제 본 YouTube 동영상과 각각의 시청 시간은?"

  • "지금 뭐 하고 있나요?"

  • "오늘 가장 긴 집중 작업 세션을 보여주세요."

  • "코딩 목표를 며칠 연속 달성했나요?"

  • "수요일 '안과 예약' 마커 동안 무슨 일이 있었나요?"

  • "'Atlas'라는 프로젝트에서 작업한 적이 있나요?"

  • "올해 가장 바쁜 날은 언제였나요?"

  • "이번 달 코딩 시간 중 Mac vs Windows에서 보낸 비율은?"

  • "이번 주 업무 중 음악이 재생된 시간은 얼마나 되나요?"

  • "오늘 다른 건 열지 않고 음악만 들은 시간은 얼마나 되나요?"

  • "이번 달에 코딩 vs 창작 작업을 얼마나 했나요?"

  • "이번 주 상위 5명의 아티스트는 누구인가요?"

  • "주중 언제 주로 Cursor에서 코딩하나요?"

로컬 개발

git clone https://github.com/rankin-works/Vetroscope-MCP.git
cd Vetroscope-MCP
npm install
npm run build
node dist/index.js   # starts a stdio MCP server (mainly useful via a client)

타입 체크만:

npm run typecheck

작동 방식

이 서버는 Vetroscope가 기록하는 동일한 SQLite 데이터베이스 위에서 동작하는 가벼운 쿼리 어댑터입니다. electron/database.ts에서 사용하는 버킷별 고유 기간 계산을 그대로 반영하여 합계가 데스크톱 대시보드와 정확히 일치합니다.

스키마를 직접 읽으므로 Vetroscope 스키마 마이그레이션은 MCP를 깨뜨릴 수 있습니다. 도구 세트는 의도적으로 좁게 유지됩니다 — 일반 SQL 표면이 아닌 특정 목적에 맞게 제작된 것이므로 변경 사항은 src/queries.ts에 국한됩니다.

안정성 보장

1.0.0부터 vetroscope-mcp는 시맨틱 버저닝을 따릅니다. 공개 API 표면 — 도구 이름, 매개변수 이름, 매개변수 의미, 응답 필드 이름 — 은 안정적이며 변경 사항은 다음 규칙을 따릅니다:

변경 사항

SemVer 버전 상승

새 도구 추가

minor (1.x.0)

기존 도구에 새 선택적 인자 추가

minor

기존 응답에 새 필드 추가

minor

도구, 인수 또는 응답 필드 이름 변경

major (2.0.0)

매개변수의 허용 값 또는 기본값 변경

major

기존 필드의 의미 변경(예: 초 → 분)

major

도구, 인수 또는 응답 필드 제거

major

이전에 유효한 입력을 깨뜨리는 방식으로 검증 강화

major

API 표면을 변경하지 않는 버그 수정 및 내부 리팩터링은 패치 버전(1.0.x)으로 올립니다.

명시적으로 SemVer 계약에 포함되지 않는 항목:

  • npm 패키지에서 내보내지 않는 내부 헬퍼 및 타입

  • src/categories.ts의 활동 카테고리 분류 체계(id는 안정적으로 유지되며, Vetroscope의 시드 매핑은 시간이 지남에 따라 더 많은 앱을 분류할 수 있음)

  • 도구 설명의 정확한 문구

  • 오류 메시지 텍스트

vetroscope-mcp 위에 무언가를 구축하고 주요 버전에 고정하려면 종속성에서 ^1.0.0으로 고정하세요.

전체 릴리스 기록은 CHANGELOG.md를 참조하세요.

라이선스

MIT © Jacob Rankin

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
1dRelease cycle
4Releases (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.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server implementation that enables AI assistants to execute SQL queries and interact with SQLite databases through a structured interface.
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Implements a Model Context Protocol server that enables natural language interactions with SQLite databases, providing tools to list tables, retrieve schemas, count rows, and execute read-only SQL queries.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A Model Context Protocol (MCP) server for accessing Productive.io API endpoints (projects, tasks, comments, todos), tailored for read-only operations, providing streamlined access to essential data while minimizing token consumption
    18
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

View all MCP Connectors

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/rankin-works/Vetroscope-MCP'

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