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 Basic認証用の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 Basic認証用の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)、または1件の編集(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でローカルタイマーを開始。プロジェクト/ワークタイプ/モジュールはオプション

mcp__plugin_intervals_intervals__stop_timer

タイマーを停止し、分類を解決し、保留中の時間エントリを作成して同期

mcp__plugin_intervals_intervals__edit_timer

実行中のローカルタイマーの説明またはプロジェクト/ワークタイプ/モジュールのヒントを更新

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

プロジェクトのデフォルトのワークタイプ/モジュールを設定

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カタログを更新

/intervals-sync-now

保留中のローカル時間エントリを今すぐIntervalsにプッシュ

/intervals-timers

アクティブまたは最近のIntervalsタイマーを表示、またはIDでタイマーを編集/削除

/intervals-time

範囲でローカル時間エントリをレポート、またはIDでエントリを編集

/intervals-project-defaults

プロジェクトのデフォルトのワークタイプとオプションのモジュールを設定

仕組み

  • タイマーはローカルのみ。 タイマーを開始すると、説明だけの軽量なローカル行が書き込まれます。プロジェクト、ワークタイプ、モジュールのヒントはオプションです。

  • 実行中のタイマーはローカルで再分類可能。 停止する前にタイマーのプロジェクト、ワークタイプ、モジュールのヒントを編集できます。更新された分類は時間エントリ作成時に適用されます。

  • 停止/適用で時間エントリが作成されます。 タイマーを停止すると、プロジェクトとワークタイプを指定(または解決)します。サーバーは保留中の時間エントリを作成し、すぐに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.
    -