mcpField
C
Clockify Time Tracking

Clockify Time Tracking

ローカル
github.com生産性120 週間前に更新

Clockify Time Tracking について

Clockify Time Tracking は Clockify の時間追跡 API 向け MCP サーバーで、AI アシスタントによるワークスペース情報の参照、レポート作成、工数記録に使えます。読み取り専用を初期設定とし、段階的なアクセスモードで書き込みを有効にできます。

主な機能

  1. 01ワークスペースと時間記録の検索
  2. 02レポートの作成とエクスポート
  3. 03請求書、スケジュール、休暇などの管理
  4. 04読み書きモードによる権限制御
  5. 05OpenTelemetry による可観測性

活用シーン

  1. 01自然言語でプロジェクトや工数を検索
  2. 02週次または詳細レポートの作成
  3. 03選択したアクセスモードで工数を記録・編集
  4. 04請求書、休暇、スケジュール情報の管理

MCP 対応

Clockify API の操作を MCP ツールとして公開します。初期状態では読み取り専用ツールを登録し、時間記録の書き込みまたは全書き込みを任意で有効にできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"clockify-mcp-tracegazer": {
"command": "uvx",
"args": [
"clockify-mcp"
],
"env": {
"CLOCKIFY_API_KEY": "<CLOCKIFY_API_KEY>",
"CLOCKIFY_ACCESS_MODE": "<CLOCKIFY_ACCESS_MODE>",
"CLOCKIFY_DEFAULT_WORKSPACE_ID": "<CLOCKIFY_DEFAULT_WORKSPACE_ID>"
}
}
}
}
起動コマンドuvx clockify-mcp
設定が必要な環境変数
CLOCKIFY_API_KEYシークレットClockify API key (Profile Settings -> API).
CLOCKIFY_ACCESS_MODEWrite access mode: read (default, read-only) | time-tracking (time-entry writes only) | full (all writes)
CLOCKIFY_DEFAULT_WORKSPACE_IDDefault workspace id used when a tool call omits workspace_id.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiclockify-mcp0.3.2
ocighcr.io/tracegazer/clockify-mcp:0.3.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

clockify-mcp

CI PyPI Python License: MIT MCP Registry Smithery

Clockify の 時間追跡 API に対応する Model Context Protocol サーバーです。

AI アシスタントから Clockify のデータにアクセスできます。ワークスペース、プロジェクト、時間記録を照会し、レポートを生成したり、作業時間を記録したり、クライアントや請求書などを管理したりできます。すべて自然言語で操作できます。

18 のドメインにまたがる 112 個のツールを備えています。デフォルトでは読み取り専用で、書き込み操作は明示的に有効にした場合のみ利用できます。

ワンクリックでインストール

Claude Desktop(およびその他の MCPB 対応クライアント)でこのサーバーを使う最も簡単な方法は、ビルド済みバンドルを利用することです。

➡️ clockify-mcp.mcpb をダウンロード — ダウンロードしたファイルをダブルクリックしてください。Claude Desktop がインストーラーを開き、Clockify API キーの入力を求めます。これで完了です。Python も、npx/uvx も、設定ファイルも必要ありません。

.mcpb はすべての GitHub Release に添付され、Smithery にもミラーされています。パッケージマネージャーやコンテナーを使いたい場合は、以下のクイックスタートをご覧ください。

どのようなことができますか?

現在、48 個の読み取り専用ツールを利用できます(フェーズ 0~8b、18 のドメイン)。64 個の書き込みツール(クライアント、プロジェクト、タスク、タグ、時間記録、休日、経費、経費カテゴリの作成/更新/削除に加え、休暇ポリシー/申請の管理、承認の送信/再送信/更新、カスタムフィールドの作成/更新/削除とプロジェクトへの割り当て、スケジュール割り当ての管理、請求書と支払いの管理、共有レポートの管理、Webhook の作成/更新/削除/トークン)は、CLOCKIFY_ACCESS_MODE=full(または後方互換性のある CLOCKIFY_ENABLE_WRITES=true)を設定すると登録されます。中間の time-tracking モードでは、作業時間を記録するための時間記録関連の書き込みツールのみが公開されます。詳しくはアクセスモードをご覧ください。

ドメインツール数ツール名
ワークスペース3get_current_user, list_workspaces, get_workspace
ユーザー3list_users, get_user_member_profile, find_user_team_manager
グループ1list_user_groups
クライアント2list_clients, get_client
プロジェクト2list_projects, get_project
タスク2list_tasks, get_task
タグ2list_tags, get_tag
時間記録2list_time_entries, get_time_entry
レポート6generate_detailed_report, generate_summary_report, generate_weekly_report, generate_attendance_report‡, generate_expense_report‡, export_report(PDF/CSV/XLSX をファイルに出力)
共有レポート2list_shared_reports, get_shared_report
休暇†5list_time_off_policies, get_time_off_policy, list_time_off_balances_by_policy, list_time_off_balances_by_user, list_time_off_requests
休日†2list_holidays, list_holidays_in_period
経費†4list_expenses, get_expense, list_expense_categories, download_expense_receipt
承認†1list_approval_requests
カスタムフィールド†2list_workspace_custom_fields, list_project_custom_fields
スケジュール管理†3list_scheduled_assignments, get_project_scheduling_totals, get_user_scheduling_totals
請求書†3list_invoices, get_invoice, get_invoice_payments
ウェブフック†3list_webhooks, get_webhook, get_webhook_logs

† 休暇、休日、経費、承認、カスタムフィールド、スケジュール管理、請求書、ウェブフックは Clockify の有料機能です。これらの機能がないプランでは、これらのツールはエラー(HTTP 402/403/404)を返します。 ‡ generate_attendance_report と generate_expense_report(およびこれら 2 種類の export_report)には、ワークスペースの勤怠/経費アドオンが必要です。時間ベースのレポート(詳細/概要/週次)と共有レポートは無料プランで利用できます。

書き込みツール(オプトイン — CLOCKIFY_ACCESS_MODE=full を設定):

ドメインツール数ツール名
クライアント3create_client, update_client, delete_client
プロジェクト3create_project, update_project, delete_project
タスク3create_task, update_task, delete_task
タグ3create_tag, update_tag, delete_tag
時間記録7create_time_entry, update_time_entry, delete_time_entry, duplicate_time_entry, bulk_update_time_entries, create_time_entry_for_user, stop_running_timer
共有レポート3create_shared_report, update_shared_report, delete_shared_report
休暇†5create_time_off_policy, create_time_off_request, approve_time_off_request, reject_time_off_request, withdraw_time_off_request
休日†3create_holiday, update_holiday, delete_holiday
経費†7create_expense, update_expense, delete_expense, create_expense_category, update_expense_category, delete_expense_category, archive_expense_category
承認†4submit_approval_request, submit_approval_request_for_user, resubmit_approval_entries, update_approval_request
カスタムフィールド†5create_workspace_custom_field, update_workspace_custom_field, delete_workspace_custom_field, set_project_custom_field, remove_project_custom_field
スケジュール管理†5create_scheduled_assignment, update_scheduled_assignment, delete_scheduled_assignment, publish_scheduled_assignment, copy_scheduled_assignment
請求書†9create_invoice, update_invoice, change_invoice_status, duplicate_invoice, delete_invoice, create_invoice_item, update_invoice_item, delete_invoice_item, create_invoice_payment
ウェブフック†4create_webhook, update_webhook, delete_webhook, generate_webhook_token
† 休暇、祝日、経費、承認、カスタムフィールド、スケジュール設定、請求書、Webhooksは、Clockifyの有料機能です。これらのツールは、該当機能のないプランではエラー(HTTP 402/403/404)になります。

create_expenseとupdate_expenseでは、任意でローカルの領収書ファイルを指定できます。ファイルはmultipartでアップロードされます。

クイックスタート

1. インストール
pip install clockify-mcp

または、インストールせずに実行します(uvが必要です)。

uvx clockify-mcp

または、コンテナイメージを使用します(リリースごとにGHCRに公開されます)。

docker run --rm -i -e CLOCKIFY_API_KEY=your-key ghcr.io/tracegazer/clockify-mcp:latest
2. Claude Desktopに接続

claude_desktop_config.jsonに以下を追加します。

{
  "mcpServers": {
    "clockify": {
      "command": "uvx",
      "args": ["clockify-mcp"],
      "env": {
        "CLOCKIFY_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Desktopを再起動します。「Clockifyにはどのワークスペースがありますか?」と尋ねてみましょう。

uvxの代わりにpip installを使用する
{
  "mcpServers": {
    "clockify": {
      "command": "clockify-mcp",
      "env": {
        "CLOCKIFY_API_KEY": "your-api-key"
      }
    }
  }
}
書き込み操作を有効にする

デフォルトでは、サーバーは読み取り専用です。書き込みを有効にするには、CLOCKIFY_ACCESS_MODEを設定します。

モード読み取り書き込み
read(デフォルト)すべてなし
time-trackingすべて時間エントリの書き込みのみ(時間の記録と編集)
fullすべてすべての書き込みツール(クライアント、プロジェクト、請求書など)
{
  "mcpServers": {
    "clockify": {
      "command": "uvx",
      "args": ["clockify-mcp"],
      "env": {
        "CLOCKIFY_API_KEY": "your-api-key",
        "CLOCKIFY_ACCESS_MODE": "full"
      }
    }
  }
}

互換性: 従来のCLOCKIFY_ENABLE_WRITES=trueも引き続き使用でき、fullにマッピングされます。 両方が設定されている場合は、CLOCKIFY_ACCESS_MODEが優先されます。time-trackingモードでは、duplicate/bulkは常に認証済みユーザーに対して実行されます。また、IDによるupdate/deleteでは、他のユーザーに属する可能性があるエントリを操作する前に確認するよう、アシスタントに指示されます。

警告: 書き込みモードでは、接続されたエージェントがClockifyの認証情報を使って実データを作成、変更、削除できます。delete_*ツールとwithdraw_time_off_requestによる操作は取り消せません。

3. APIキーを取得

Clockifyにログインし、Profile Settings → APIに移動して、APIキーをコピーします。

設定

設定は次の優先順位で適用されます(上が最優先)。

  1. 環境変数(常に優先)
  2. ~/.config/clockify-mcp/config.tomlのTOML設定
環境変数TOMLキー説明
CLOCKIFY_API_KEYapi_keyClockifyのAPIキー(必須)
CLOCKIFY_REGIONregionglobal(デフォルト) | euc1(EU) | use2(米国) | euw2(英国) | apse2(豪州)
CLOCKIFY_BASE_URLbase_urlサブドメインのワークスペース用オーバーライド。例:https://acme.clockify.me
CLOCKIFY_DEFAULT_WORKSPACE_IDdefault_workspace_idツール呼び出しでworkspace_idが省略された場合のフォールバックワークスペース
CLOCKIFY_ACCESS_MODEaccess_moderead(デフォルト) | time-tracking(読み取り+時間の記録) | full(すべての書き込み)
CLOCKIFY_ENABLE_WRITESenable_writes後方互換用エイリアス:true = access_mode=full。CLOCKIFY_ACCESS_MODEが優先されます。
CLOCKIFY_TELEMETRYtelemetry_enabledOpenTelemetryを有効化します。デフォルトはfalseです。
CLOCKIFY_TELEMETRY_DETAILtelemetry_detailスパンの詳細度:metadata(デフォルト)、ids、またはfull

アクセスモード: readでは読み取りツールのみが公開されます。time-trackingでは、時間を記録するための時間エントリ書き込みツール(create/update/delete/duplicate/bulk)が追加され、それ以外は追加されません。duplicate/bulkは常に認証済みユーザーに対して実行されます。また、IDによるupdate/deleteでは、他のユーザーに属する可能性があるエントリを操作する前に確認するよう、アシスタントに指示されます。fullではすべての書き込みツールが公開されます。この設定で制御されるのはサーバーが登録するMCPツールであり、APIキー自体の権限を置き換えるものではありません。

コピーして使えるテンプレートについては、config.toml.exampleを参照してください。

# ~/.config/clockify-mcp/config.toml
api_key = "your-clockify-api-key"
# region = "global"
# default_workspace_id = ""
# access_mode = "read"   # read | time-tracking | full

ヒント: 先に設定ディレクトリを作成してください:mkdir -p ~/.config/clockify-mcp

サーバーの実行

clockify-mcp                       # STDIO transport (default)
clockify-mcp --transport sse       # SSE/HTTP transport

セキュリティに関する注意: デフォルトのSTDIOでは、すべての処理がローカルで行われます。sseおよびstreamable-httpトランスポートには認証機能が組み込まれていないため、ループバックにバインドするか、認証済みのリバースプロキシの背後でのみ使用してください。

注意事項

  • ワークスペースの範囲: Clockify のほぼすべての操作は、ワークスペース(/workspaces/{workspaceId}/...)を対象とします。ツールでは省略可能な workspace_id を指定できます。省略した場合は CLOCKIFY_DEFAULT_WORKSPACE_ID が使用されます。どちらも設定されていない場合、ツールはまず list_workspaces でワークスペースを特定するよう求めます。
  • ページネーション: リスト取得ツールは省略可能な page/page_size を受け取り、1 ページ分を返します。大量データを扱うリスト(list_time_entries、list_projects、list_clients、list_tasks、list_tags、list_users)では fetch_all=true も指定できます。ページネーションをたどり、すべてのページを連結して返します(複数回 API を呼び出す場合があります)。
  • エラー: 失敗にはカテゴリ(PLAN_REQUIRED、ACCESS_DENIED、AUTH)が付与されるため、アシスタントはプランのアップグレード、モジュールの有効化、キーの修正のいずれが必要か判断できます。Clockify での有料機能と有効化方法をご覧ください。

Clockify での有料機能と有効化方法

多くの機能領域は、互いに独立した 2 つの条件によって制限されており、ツールを動作させるには両方を満たす必要があります。

1. ワークスペースのプランに機能が含まれている必要があります。 含まれていない場合、API は 402(または「subscription」メッセージ)を返し、サーバーはカテゴリ PLAN_REQUIRED の ClockifyAPIError を発生させます。

機能最低プラン
レポート(詳細/概要/週次)、共有レポートFree
WebhookFree(最大 3 件)— 追加分は有料
休暇、休日、請求書、承認Standard
経費(経費レポートを含む)、カスタムフィールド、スケジュール管理Pro
出勤状況レポートPro(出勤状況/時間追跡アドオン)

2. ワークスペースでモジュールを有効にする必要があります。 適切なプランであっても、管理者が Clockify → Workspace Settings で次の項目を有効にする必要があります:Time off、Expenses、Approval、Invoicing、Scheduling。有効になるまでは、API は 403 "Access Denied" を返し、サーバーはカテゴリ ACCESS_DENIED の ClockifyAPIError を発生させます。(カスタムフィールド、Webhook、レポートには個別の切り替え設定は不要です。)

操作に失敗した場合は、エラーカテゴリに対処方法が示されます。

  • PLAN_REQUIRED — ワークスペースのプランをアップグレードします(Standard/Pro)。
  • ACCESS_DENIED — Workspace Settings で機能を有効にするか、API キーユーザーのロール/権限を確認します。
  • AUTH — API キーがない、無効、または取り消されています。

オブザーバビリティ(任意)

サーバーは OpenTelemetry のトレース、メトリクス、ログを出力できます。利用は完全に任意で、ベンダーにも依存しません。OTLP 互換のバックエンド(Dynatrace、Grafana、Datadog、Jaeger など)にエクスポートできます。無効の場合、opentelemetry がインポートされることはありません。

pip install "clockify-mcp[telemetry]"

export CLOCKIFY_TELEMETRY=1

OTLP エンドポイントとヘッダーは、標準の OpenTelemetry 環境変数で設定します(TOML ファイルでは設定しません)。CLOCKIFY_TELEMETRY_DETAIL は、付加する引数/ペイロードデータの量を制御します(既定値は metadata → ids → full)。API キーは常に秘匿されます。

Dynatrace のセットアップ
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<your-env>.live.dynatrace.com/api/v2/otlp"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token <YOUR_DT_TOKEN>"
export OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta
export OTEL_SERVICE_NAME=clockify-mcp

必要なトークンスコープ:openTelemetryTrace.ingest、metrics.ingest、logs.ingest。Dynatrace の OTLP メトリクス取り込みには delta のテンポラリティが必要です。この環境変数がないと、メトリクスのエクスポートは 400 Bad Request で失敗します。

汎用 OTLP コレクター
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318"
export OTEL_SERVICE_NAME=clockify-mcp

出力されるシグナル:

  • トレース — MCP ツール呼び出し(execute_tool <name>)ごと、および Clockify API リクエストごとのスパン
  • メトリクス — mcp.tool.duration、mcp.tool.errors、および Clockify クライアントのリクエスト所要時間
  • ログ — ツールエラーと予期しない API レスポンス形式。トレースと関連付けられます(OTLP のみ。標準出力には出力されません)

開発

git clone https://github.com/tracegazer/clockify-mcp
cd clockify-mcp
uv sync --extra dev

CLOCKIFY_API_KEY=dummy uv run clockify-mcp --help
uv run pytest -q
uv run ruff check src/ tests/

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。