Skip to main content
Glama
sixfeetup

intervals-mcp

by sixfeetup

intervals-mcp

Intervals 시간 추적을 위한 독립형 MCP 서버, CLI, Claude Code 플러그인입니다. 타이머를 시작하거나 시간 항목을 기록하면 먼저 로컬 SQLite 데이터베이스에 저장되고, 항목은 백그라운드에서 또는 요청 시 Intervals에 동기화됩니다. 보고서와 조회는 항상 로컬 전용이며 Intervals API를 호출하지 않습니다.

설치 (Claude Code 플러그인)

/plugin marketplace add sixfeetup/intervals-mcp
/plugin install intervals@intervals-mcp

빌드 단계가 필요 없습니다. dist/ 번들은 저장소에 커밋되어 있습니다. 요구 사항은 Node 22.5 이상뿐입니다.

Related MCP server: time-tracker-ai-mcp

설치 (모든 MCP 호스트)

저장소를 클론하고 MCP 호스트가 번들 서버를 가리키도록 설정하세요:

git clone https://github.com/sixfeetup/intervals-mcp.git
{
  "command": "node",
  "args": ["/path/to/intervals-mcp/dist/server.mjs"]
}

구성

자격 증명과 설정은 다음 순서로 확인됩니다:

  1. 환경 변수

  2. INTERVALS_HOME(또는 ~/.intervals/) 안의 config.json

환경 변수

변수

설명

INTERVALS_API_KEY

HTTP 기본 인증용 Intervals API 키

INTERVALS_BASE_URL

Intervals API 기본 URL (기본값: https://api.myintervals.com/)

INTERVALS_PERSON_ID

사용자 Intervals 개인 ID (시간 항목 동기화에 필요)

INTERVALS_HOME

기본 로컬 저장 경로 재정의 (~/.intervals/)

config.json 키

파일 기반 구성을 선호한다면 INTERVALS_HOME(또는 ~/.intervals/) 안에 config.json을 만드세요:

키

유형

설명

apiKey

string

HTTP 기본 인증용 Intervals API 키

baseUrl

string

Intervals API 기본 URL (기본값: https://api.myintervals.com/)

personId

number

사용자 Intervals 개인 ID (시간 항목 동기화에 필요)

syncIntervalMs

number

백그라운드 동기화 간격(밀리초)

intervals setup(또는 /intervals-setup 슬래시 명령)을 실행하면 이 파일이 0600 권한으로 작성되며 API 키가 모델 컨텍스트에 노출되지 않습니다. 키는 사용자 터미널의 대화형 숨김 프롬프트에서 입력됩니다.

CLI

번들은 의존성이 없는 CLI(dist/cli.mjs)를 제공하며, 패키지로 설치하면 package.json#bin을 통해 intervals로 노출됩니다:

명령

설명

setup

자격 증명 구성 및 초기 프로젝트 동기화 실행

status

DB 경로, 자격 증명 소스, 타이머, 대기 중인 동기화 표시

sync-projects

로컬 프로젝트 카탈로그 새로 고침

sync-now

대기 중인 시간 항목을 지금 Intervals로 푸시

timers [recent] / timers edit <timer_id> [field=value ...] / timers delete <timer_id>

타이머 표시, 편집 또는 삭제

time [range] / time edit <id> [field=value ...]

시간 항목 보고 (today, yesterday, this-week, last-week, this-month, last-month, YYYY-MM-DD, YYYY-MM-DD..YYYY-MM-DD), 또는 편집 (stop_time=HH:mm은 기간을 다시 계산)

project-defaults <project_id> <worktype_id> [module_id]

프로젝트 기본값 설정

전체 사용법은 node dist/cli.mjs help(또는 intervals help)를 실행하세요.

에이전트 도구

Claude Code 플러그인으로 설치하면 도구는 mcp__plugin_intervals_intervals__ 접두사로 노출됩니다:

도구

설명

mcp__plugin_intervals_intervals__find_project_context

로컬 프로젝트 카탈로그에서 ID 및 분류 검색 (로컬 전용)

mcp__plugin_intervals_intervals__start_timer

간단한 설명과 선택적 start_at으로 로컬 타이머 시작; project/worktype/module은 선택 사항

mcp__plugin_intervals_intervals__stop_timer

타이머 중지, 분류 확인, 대기 중인 시간 항목 생성 및 동기화

mcp__plugin_intervals_intervals__edit_timer

실행 중인 로컬 타이머의 설명 또는 project/worktype/module 힌트 업데이트

mcp__plugin_intervals_intervals__delete_timer

활성 타이머 또는 연결된 시간 항목이 없는 중지된 타이머 안전 삭제

mcp__plugin_intervals_intervals__add_time

완료된 시간 항목 직접 추가 (기간(분) 단위)

mcp__plugin_intervals_intervals__edit_time

짧은 ID 또는 연결된 타이머 ID로 기존 로컬 시간 항목 편집; stop_time은 로컬 중지 시간 변경 시 기간을 다시 계산

mcp__plugin_intervals_intervals__delete_time

짧은 ID 또는 연결된 타이머 ID로 로컬 또는 동기화된 시간 항목 삭제

mcp__plugin_intervals_intervals__query_time

날짜 범위 및 프로젝트 필터로 시간 항목 보고 (로컬 전용)

mcp__plugin_intervals_intervals__list_timers

활성 또는 최근 로컬 타이머 나열

mcp__plugin_intervals_intervals__lookup_time_entry

중지된 로컬 타이머 ID를 연결된 시간 항목 ID에 매핑

mcp__plugin_intervals_intervals__list_time

동기화 상태와 함께 최근 로컬 시간 항목 나열

mcp__plugin_intervals_intervals__set_project_defaults

프로젝트의 기본 worktype 및 선택적 module 구성

mcp__plugin_intervals_intervals__sync_now

대기 중인 시간 항목을 Intervals로 즉시 재동기화

mcp__plugin_intervals_intervals__start_timer는 소급 시작을 위해 선택적 start_at 값을 허용합니다. 오늘 날짜의 로컬 시간은 HH:mm 또는 H:mm 형식을 사용하고, 로컬 날짜/시간은 YYYY-MM-DD HH:mm 형식을 사용하며, 명시적 오프셋/시간대가 있는 ISO 날짜/시간도 허용됩니다. 미래의 start_at 값은 거부됩니다.

슬래시 명령

명령

설명

/intervals-setup

Intervals 자격 증명 구성 및 초기 프로젝트 동기화 실행

/intervals-status

Intervals DB 경로, 자격 증명 소스, 활성 타이머, 대기 중인 동기화, 마지막 프로젝트 동기화 표시

/intervals-sync-projects

로컬 Intervals 클라이언트, 프로젝트, worktype, module 카탈로그 새로 고침

/intervals-sync-now

대기 중인 로컬 시간 항목을 지금 Intervals로 푸시

/intervals-timers

활성 또는 최근 Intervals 타이머 표시, 또는 ID로 타이머 편집/삭제

/intervals-time

범위별 로컬 시간 항목 보고, 또는 ID로 항목 편집

/intervals-project-defaults

프로젝트의 기본 worktype 및 선택적 module 설정

작동 방식

  • 타이머는 로컬 전용입니다. 타이머를 시작하면 설명만 포함된 가벼운 로컬 행이 작성됩니다. 프로젝트, worktype, module 힌트는 선택 사항입니다.

  • 실행 중인 타이머는 로컬에서 재분류할 수 있습니다. 타이머를 중지하기 전에 프로젝트, worktype, module 힌트를 편집할 수 있으며, 업데이트된 분류는 시간 항목이 생성될 때 적용됩니다.

  • 중지/적용 시 시간 항목이 생성됩니다. 타이머를 중지하면 프로젝트와 worktype을 제공(또는 확인)합니다. 서버는 대기 중인 시간 항목을 생성하고 즉시 Intervals에 동기화를 시도합니다.

  • 시간 항목은 로컬 우선입니다. mcp__plugin_intervals_intervals__add_time, mcp__plugin_intervals_intervals__edit_time, mcp__plugin_intervals_intervals__stop_timer는 모두 네트워크 호출 전에 SQLite에 저장합니다. 동기화에 실패하면 항목은 failed 또는 pending 상태로 로컬에 남아 재시도할 수 있습니다.

  • 카탈로그 동기화는 활성 행을 저장합니다. 프로젝트 동기화는 모든 카탈로그 페이지를 가져오고, 활성 프로젝트와 활성 분류를 유지하며, 활성 프로젝트가 참조하는 클라이언트를 보관합니다.

  • 보고서는 로컬 전용입니다. mcp__plugin_intervals_intervals__query_time 및 /intervals-time은 SQLite에서 읽으며 Intervals API를 호출하지 않습니다.

개발자 참고 사항

Claude Code에서 이 저장소 자체를 열면 intervals MCP 서버가 연결 실패로 표시될 수 있습니다. 이는 정상입니다. 저장소 루트의 .mcp.json은 플러그인 자체 구성이며, 이는 ${CLAUDE_PLUGIN_ROOT}를 참조하는데, 이 변수는 플러그인이 /plugin install을 통해 설치된 경우에만 설정됩니다. 이 저장소의 소스를 편집해도 플러그인이 설치되지 않으므로 변수가 설정되지 않아 서버가 시작할 수 없습니다. 코드를 작업하는 동안 이와 관련된 프롬프트가 표시되면 거부하거나 무시해도 안전합니다.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables recording, querying, and summarizing daily work entries with tags using a local SQLite database. Supports work logging, search, timeline queries, tag management, and automated reminders for tracking daily tasks.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Syncs ATracker time tracking data to a local SQLite database and provides MCP tools for querying tasks, entries, tags, and exporting data.
    -