Harvest Automation は何をしますか?
Claude Codeから直接Harvestのタイムトラッキング操作を自動化します。ターミナルを離れることなく、時間エントリの記録、プロジェクトやクライアントの管理、タスクの作成、レポートデータの取得が行えます。
ツールキットドキュメント: composio.dev/toolkits/harvest
セットアップ
- Rube MCPサーバーをClaude Codeの設定に追加します。URL:
https://rube.app/mcp - プロンプトに従い、提供された接続リンクからHarvestアカウントを認証します。
- 自然言語を使ってタイムトラッキングのワークフローを自動化を始めましょう。
コアワークフロー
1. 時間エントリの記録と管理
正確な請求とレポートのために、時間エントリの作成、一覧表示、更新、取得を行います。
ツール: HARVEST_CREATE_TIME_ENTRY, HARVEST_LIST_TIME_ENTRIES, HARVEST_GET_TIME_ENTRY, HARVEST_UPDATE_TIME_ENTRY
プロジェクト12345、タスク67890に今日の日付で開発作業3.5時間を記録して
HARVEST_CREATE_TIME_ENTRY の主要パラメータ:
project_id(必須) -- 記録するプロジェクトtask_id(必須) -- タスクはプロジェクトに割り当てられている必要がありますspent_date(必須) -- YYYY-MM-DD形式の日付hours-- 合計時間(時間単位アカウント向け)started_time/ended_time-- タイムスタンプベースのアカウント向けnotes-- 作業内容の説明
HARVEST_LIST_TIME_ENTRIES の主要パラメータ:
from_date/to-- 日付範囲フィルター(YYYY-MM-DD)project_id,client_id,task_id,user_id-- エンティティフィルターis_billed/is_running-- ステータスフィルターpage/per_page(最大2000) -- ページネーション
2. プロジェクトの管理
クライアントと請求設定を含む新しいプロジェクトを作成し、既存のプロジェクトを一覧表示します。
ツール: HARVEST_CREATE_PROJECT, HARVEST_LIST_PROJECTS, HARVEST_GET_PROJECT
クライアント456に「ウェブサイトリニューアル」という請求可能プロジェクトを作成し、請求方法はタスク、予算はプロジェクト予算にして
HARVEST_CREATE_PROJECT の主要パラメータ:
name,client_id,is_billable,bill_by,budget_by(すべて必須)bill_byオプション:"Project","Tasks","People","none"budget_byオプション:"project","project_cost","task","task_fees","person","none"- オプション:
budget,hourly_rate,starts_on,ends_on,is_fixed_fee
3. クライアントの管理
プロジェクトが整理されるクライアントを作成し、一覧表示します。
ツール: HARVEST_CREATE_CLIENT, HARVEST_LIST_CLIENTS
Harvestアカウントのアクティブなクライアントをすべて一覧表示して
HARVEST_CREATE_CLIENTにはnameが必要です。address,currency,is_activeを受け付けます。HARVEST_LIST_CLIENTSはis_activeフィルターとページネーション(per_page最大2000)をサポートします。
4. タスクの管理
タイムトラッキング用の再利用可能なタスクタイプを作成し、一覧表示します。
ツール: HARVEST_CREATE_TASK, HARVEST_LIST_TASKS
「コードレビュー」という新しい請求可能タスクをデフォルトレート150ドル/時で作成して
HARVEST_CREATE_TASKにはnameが必要です。billable_by_default,default_hourly_rate,is_active,is_defaultを受け付けます。HARVEST_LIST_TASKSはis_active,is_defaultフィルターとページネーション(per_page最大100)をサポートします。- タスク名はすべてのタスク(アクティブおよびアーカイブ)間で一意である必要があります。
5. 時間エントリレポート
請求サマリーや稼働率レポートのために、日付範囲とフィルターを使用して時間エントリを取得します。
ツール: HARVEST_LIST_TIME_ENTRIES, HARVEST_GET_TIME_ENTRY
プロジェクト789の2026年1月分の未請求時間エントリをすべて表示して
- 日付範囲には
from_dateとtoを使用します。 - 未請求エントリには
is_billed: falseでフィルターします。 project_id,user_id,client_idを組み合わせてクロスディメンションレポートを作成します。- 完全なデータセットを収集するには
pageとper_pageでページネーションします。
6. 時間エントリの更新と修正
既存の時間エントリを変更して、時間を修正したり、プロジェクトを再割り当てしたり、メモを更新したりします。
ツール: HARVEST_UPDATE_TIME_ENTRY
時間エントリ123456を更新して、時間を4.0に変更し、「API統合完了」というメモを追加して
time_entry_idが必要です。- 部分的な更新をサポートします。変更したいフィールドのみを含めてください。
hours,notes,project_id,task_id,spent_date,started_time,ended_timeを更新できます。
既知の落とし穴
- タスク割り当てが重要: 時間エントリを作成する際、
task_idは指定されたproject_idに実際に割り当てられているタスクに対応している必要があります。プロジェクトタスク割り当てエンドポイントを使用して確認してください。単にHARVEST_LIST_TASKS(グローバルタスクを返す)だけでは不十分です。 - 時間単位 vs タイムスタンプ追跡: Harvestアカウントは時間単位ベースまたはタイムスタンプベースのいずれかの追跡用に設定されています。タイムスタンプアカウントでは
hoursは無視されます。時間単位アカウントではstarted_time/ended_timeは無視されます。 - ページネーション制限は異なる:
HARVEST_LIST_TIME_ENTRIESとHARVEST_LIST_CLIENTSは1ページあたり最大2000をサポートしますが、HARVEST_LIST_PROJECTSとHARVEST_LIST_TASKSは1ページあたり100に制限されています。 - 日付形式の一貫性: すべての日付パラメータは
YYYY-MM-DD形式を使用する必要があります。updated_sinceフィルターではタイムゾーン付きのISO 8601が使用されます。 - プロジェクトの必須フィールド:
HARVEST_CREATE_PROJECTには5つのフィールドが必要です:name,client_id,is_billable,bill_by,budget_by。いずれかが欠けているとバリデーションエラーが発生します。
クイックリファレンス
| ツールスラッグ | 説明 |
|---|---|
HARVEST_LIST_TIME_ENTRIES | 日付、プロジェクト、クライアント、ユーザーフィルターで時間エントリを一覧表示 |
HARVEST_CREATE_TIME_ENTRY | 新しい時間エントリを記録(project_id, task_id, spent_date が必要) |
HARVEST_GET_TIME_ENTRY | 特定の時間エントリをIDで取得 |
HARVEST_UPDATE_TIME_ENTRY | 既存の時間エントリを更新(time_entry_id が必要) |
HARVEST_LIST_PROJECTS | オプションのクライアントフィルターでプロジェクトを一覧表示 |
HARVEST_CREATE_PROJECT | 請求設定を含む新しいプロジェクトを作成 |
HARVEST_GET_PROJECT | 特定のプロジェクトをIDで取得 |
HARVEST_LIST_CLIENTS | アクティブ/非アクティブフィルターでクライアントを一覧表示 |
HARVEST_CREATE_CLIENT | 新しいクライアントを作成(name が必要) |
HARVEST_LIST_TASKS | 再利用可能なタスクタイプを一覧表示 |
HARVEST_CREATE_TASK | 新しいタスクタイプを作成(name が必要) |
Powered by Composio