mcpField
H
Harvest Time Tracking MCP Server

Harvest Time Tracking MCP Server

ローカル
getharvest.com生産性131 週間前に更新

Harvest Time Tracking MCP Server について

Harvest Time Tracking MCP Serverは、LLMクライアントからHarvestのアカウントデータへのアクセスと時間記録の管理を可能にします。会社、クライアント、プロジェクト、ユーザー、タスク割り当ての確認に加え、時間記録の検索と作成に対応します。

主な機能

  1. 01会社情報の取得
  2. 02クライアントとプロジェクトの検索・確認
  3. 03ユーザーとプロジェクト割り当ての一覧
  4. 04時間記録の検索と取得
  5. 05時間記録の作成

活用シーン

  1. 01クライアントとプロジェクトの詳細確認
  2. 02プロジェクトのユーザーとタスク割り当ての確認
  3. 03日付やアカウント条件で時間記録を検索
  4. 04プロジェクトのタスクに作業時間を記録

MCP 対応

会社、クライアント、プロジェクト、ユーザー、時間記録の検索や、時間記録の作成など、Harvestアカウントの操作をMCPツールとして公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"harvest": {
"command": "npx",
"args": [
"-y",
"@harvest/mcp-server-typescript"
],
"env": {
"HARVEST_ACCOUNT_ID": "<HARVEST_ACCOUNT_ID>",
"HARVEST_ACCESS_TOKEN": "<HARVEST_ACCESS_TOKEN>",
"HARVEST_BASE_URL": "<HARVEST_BASE_URL>"
}
}
}
}
起動コマンドnpx -y @harvest/mcp-server-typescript
設定が必要な環境変数
HARVEST_ACCOUNT_ID
HARVEST_ACCESS_TOKENシークレット
HARVEST_BASE_URL

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

パッケージ
npm@harvest/mcp-server-typescript

ツール

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

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

詳細

Harvest Time Tracking MCP サーバー

npm version

Harvest の時間追跡アプリ向けに TypeScript で構築された MCP(Model Context Protocol)サーバーです。LLM クライアントが Harvest アカウントを操作できます。

インストール

npx -y @mayankg0324/mcp-server-harvest

前提条件

  • Node.js >= 18(または開発用の Bun Runtime)
  • API アクセスが有効な Harvest アカウント
  • Harvest の API Personal Access Token
  • Harvest のアカウント ID

Personal Access Token の作成方法について詳しくは、Harvest API ドキュメントをご覧ください。

利用可能なツール

ツール説明入力出力
get-company会社情報を取得しますなし会社情報(名前、URL、ID、通貨)
search-clientsクライアントを検索します• name: string(省略可能)- クライアント名
• isActive: boolean(省略可能)- アクティブ状態
ID と詳細を含むクライアントの一覧
get-clientクライアント情報を取得します• clientId: string - クライアント IDクライアントの詳細情報
search-projectsプロジェクトを検索します• name: string(省略可能)- プロジェクト名
• clientId: string(省略可能)- クライアント ID
• isActive: boolean(省略可能)- アクティブ状態
ID と詳細を含むプロジェクトの一覧
get-projectプロジェクト情報を取得します• projectId: string - プロジェクト IDプロジェクトの詳細情報
list-usersすべてのユーザーを一覧表示しますなしID と詳細を含むユーザーの一覧
get-userユーザー情報を取得します• userId: string - ユーザー IDユーザーの詳細情報
list-project-usersプロジェクトのユーザー割り当てを一覧表示します• projectId: string - プロジェクト IDプロジェクトに割り当てられたユーザーの一覧
list-project-tasksプロジェクトのタスク割り当てを一覧表示します• projectId: string - プロジェクト IDプロジェクトに割り当てられたタスクの一覧
search-time-entries時間エントリーを検索します• from: string(省略可能)- 開始日(YYYY-MM-DD)
• to: string(省略可能)- 終了日(YYYY-MM-DD)
• userId: string(省略可能)- ユーザー ID
• projectId: string(省略可能)- プロジェクト ID
• clientId: string(省略可能)- クライアント ID
詳細を含む時間エントリーの一覧
get-time-entry時間エントリーの詳細を取得します• timeEntryId: string - 時間エントリー ID時間エントリーの詳細情報
create-time-entry新しい時間エントリーを作成します• projectId: string - プロジェクト ID
• taskId: string - タスク ID
• userId: string - ユーザー ID
• hours: number - 作業時間
• notes: string(省略可能)- 追加メモ
作成した時間エントリーの詳細

注: 今後、さらにツールを追加予定です。

使用方法

Claude Desktop

Claude のデスクトップ設定ファイル claude-desktop-config.json を開き、mcpServers の下に次の内容を追加します。

{
  "mcpServers": {
    "Harvest": {
      "command": "npx",
      "args": [
        "-y",
        "@mayankg0324/mcp-server-harvest"
      ],
      "env": {
        "HARVEST_ACCOUNT_ID": "<Harvest Account ID>",
        "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
        "HARVEST_BASE_URL": "<Harvest Base URL>"
      }
    }
  }
}
Cursor IDE

Cursor IDE の設定ファイル ~/.cursor/mcp.json または <project-root>/.cursor/mcp.json を開き、mcpServers の下に次の内容を追加します。

{
  "mcpServers": {
    "Harvest": {
      "command": "npx",
      "args": [
        "-y",
        "@mayankg0324/mcp-server-harvest"
      ],
      "env": {
        "HARVEST_ACCOUNT_ID": "<Harvest Account ID>",
        "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
        "HARVEST_BASE_URL": "<Harvest Base URL>"
      }
    }
  }
}
トラブルシューティング
spawn npx ENOENT または env: node: No such file or directory

MCP クライアント(Claude Desktop、Cursor)が PATH 内で npx または node を見つけられない場合に発生します。GUI アプリケーションは、特に nvm、fnm、volta などのバージョン管理ツールを使用している場合、シェルの PATH を引き継がないことがよくあります。

解決方法: npx のフルパスを使用し、PATH 環境変数に Node の bin ディレクトリを含めます。

# Find your npx and node paths
which npx
# e.g. /Users/you/.nvm/versions/node/v22.20.0/bin/npx

続いて、MCP 設定を更新します。

{
  "mcpServers": {
    "Harvest": {
      "command": "/Users/you/.nvm/versions/node/v22.20.0/bin/npx",
      "args": [
        "-y",
        "@mayankg0324/mcp-server-harvest"
      ],
      "env": {
        "PATH": "/Users/you/.nvm/versions/node/v22.20.0/bin:/usr/bin:/bin",
        "HARVEST_ACCOUNT_ID": "<Harvest Account ID>",
        "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
        "HARVEST_BASE_URL": "<Harvest Base URL>"
      }
    }
  }
}

ローカル開発

  1. 依存関係をインストールします。

    npm install
    
  2. プロジェクトをビルドします。

    npm run build
    

    コンパイル済みの JavaScript ファイルを含む dist ディレクトリが作成されます。

  3. ローカル開発版を使用するには、MCP サーバーの設定をローカルビルドを参照するように変更します。

    {
      "mcpServers": {
        "Harvest": {
          "command": "node",
          "args": [
            "path/to/local/build/dist/index.js"
          ],
          "env": {
            "HARVEST_ACCOUNT_ID": "<Harvest Account ID>",
            "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
            "HARVEST_BASE_URL": "<Harvest Base URL>"
          }
        }
      }
    }
    
  4. 変更を適用するため、クライアントアプリケーション(Claude、Cursor)を再起動します。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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