UseHourly について
UseHourlyは、フリーランサーとそのAIアシスタント向けの無料オープンソース時間管理ツールです。タイマー、編集可能なタイムシート、請求書、レポート、エクスポートを備え、MCPツールはユーザーごとのデータに限定されます。
主な機能
- 01作業時間の記録とタイマー実行
- 02週次タイムシートとカレンダーの編集
- 03請求書の作成と管理
- 04年間の時間と収益の確認
- 05表計算ファイルとアカウントデータの出力
- 06TogglまたはClockifyのCSVをインポート
活用シーン
- 01顧客プロジェクトの作業時間を記録
- 02承認用の週次タイムシートを準備
- 03請求対象時間から請求書を作成
- 04既存のTogglまたはClockify記録を取り込み
MCP 対応
Streamable HTTP対応のリモートMCPサーバーを運用し、プロジェクト、顧客、時間記録、タイマー、タイムシート、請求書、レポートのツールを提供します。ユーザートークンで読み取り専用または読み書きの権限を設定でき、stdioのみ対応するクライアント向けのローカルブリッジも案内しています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://usehourly.app/api/mcpclaude mcp add --transport http app-usehourly-usehourly https://usehourly.app/api/mcp{"mcpServers":{"app-usehourly-usehourly":{"type":"http","url":"https://usehourly.app/api/mcp"}}}Cursor で開く{"servers":{"app-usehourly-usehourly":{"type":"http","url":"https://usehourly.app/api/mcp"}}}VS Code で開く{"mcpServers":{"app-usehourly-usehourly":{"type":"http","url":"https://usehourly.app/api/mcp"}}}{"mcpServers":{"app-usehourly-usehourly":{"serverUrl":"https://usehourly.app/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://usehourly.app/api/mcp認証が必要ツール
詳細
UseHourly
AI アシスタントが利用できる、無料のオープンソース時間記録ツールです。 Claude、ChatGPT、Cursor、または任意の MCP アシスタントを接続して、「Acme に3時間を記録して、今週のタイムシートを作成して承認してもらって」と指示できます。自分で記録する場合も、1.5、1:30、90m と入力して Enter キーを押すだけで、数秒で完了します。
公開中: https://usehourly.app · 無料で利用でき、ペイウォールも広告もありません。
https://github.com/Zontak-LLC/usehourly/raw/main/public/landing/assistant-demo.mp4

できること
- すばやく入力。 プロジェクトを選び、話すように時間を入力して、メモを追加します。または開始を押して、タイマーを動かします。
- 週次タイムシート。 すべてのプロジェクトと日を、編集可能なグリッドで表示します。複数の日をまとめて入力したり、1日に記録を追加したり、記録を別の日付に移動したりできます。
- プロジェクトごとの合計を表示する月間カレンダー。
- 請求書。 請求対象時間を PDF 請求書に変換し、支払い済み・未払いを管理できます。いつでも再ダウンロードできます。
- 年間サマリー。 四半期・月ごとの時間、収益、請求額、受領額を、会計士に渡せる形式で表示します。
- エクスポート。 任意の週、月、またはカスタム期間(例:3月3日から4月20日まで)の Excel ファイルと、すべてのクライアント・すべての時間記録を含む ZIP ファイルをエクスポートできます。
- まずはお試しください。 ホームページの「サンプルデータで試す」を選ぶと、1か月分の作業記録が入った使い捨てアカウントが開きます。登録は不要です。気に入ったらワンクリックで引き継げます。
- Toggl または Clockify から移行しますか? アカウントページから CSV エクスポートをインポートできます。クライアントとプロジェクトは自動で作成され、同じファイルを2回インポートしても重複は発生しません。
- AI を第一に考えた設計:アシスタント(MCP)で利用できます。 任意の MCP クライアント(Claude、Cursor、VS Code、ChatGPT、独自のエージェント)は、時間の記録、タイマーの開始、クライアントのタイムシート作成、非公開の承認リンク作成、請求書の準備を行えます。詳しくは以下をご覧ください。
- 無料の計算ツール。 時間計算ツール:時間を合計して小数形式の時間を計算できます。アカウントは不要です。
- データはあなたのものです。 ユーザーごとにデータが分離され、記録した内容はいつでもすべてエクスポートできます。
任意の AI アシスタントから利用する(MCP サーバー)
UseHourly は https://usehourly.app/api/mcp でリモートの Model Context Protocol サーバーを提供しています(Streamable HTTP)。プロジェクト、クライアント、時間記録、タイマー、タイムシート、請求書、レポート用に32個のツールがあり、それぞれがあなたとして実行されるため、自分のデータだけを参照します。アカウント > AI アシスタントからトークンを作成し(読み取り専用または読み書き可能、有効期限付き)、次のように設定します。
claude mcp add --transport http usehourly https://usehourly.app/api/mcp --header "Authorization: Bearer <your token>"
この例は Claude Code 用です。他のクライアントでは、MCP の設定に URL と Authorization: Bearer <token> ヘッダーを指定するだけです。
Cursor(~/.cursor/mcp.json):
{ "mcpServers": { "usehourly": { "url": "https://usehourly.app/api/mcp", "headers": { "Authorization": "Bearer <your token>" } } } }
VS Code(.vscode/mcp.json):
{ "servers": { "usehourly": { "type": "http", "url": "https://usehourly.app/api/mcp", "headers": { "Authorization": "Bearer <your token>" } } } }
Claude Desktop のようにローカル(stdio)サーバーしか実行できないクライアント向けに、npm で小さなブリッジ usehourly-mcp を公開しています。コマンドに npx を、引数に ["-y", "usehourly-mcp"] を設定し、USEHOURLY_API_TOKEN にトークンを指定します。
次のように指示します:「昨日、Acme のウェブサイト用に2時間を記録して」または「Acme の9月分の請求書を作成して」。
技術スタック
Next.js 16 (App Router) · React 19 · Tailwind CSS v4 · shadcn/ui · NextAuth v5 (credentials) · tRPC v11 · Cloudflare D1 を使用した Prisma 7 · Vitest · Biome · OpenNext を使用して Cloudflare Workers にデプロイ。
ローカルで実行する
Node 22 以降が必要です。
npm install # also runs `prisma generate`
cp wrangler.example.jsonc wrangler.jsonc # then set account_id and database_id (see Deploy)
# .env.local and .dev.vars (keep the two in sync):
# AUTH_SECRET=<a long random string, e.g. `openssl rand -base64 32`>
# AUTH_URL=http://localhost:3028
npm run d1:migrate:local # create the local D1 database
npm run dev # http://localhost:3028
サインアップページでアカウントを登録すれば、すぐに利用できます。
npm test # scenario tests (Vitest)
npx biome check # lint and format
npx tsc --noEmit # type check
デプロイ
D1 データベースを使用し、Cloudflare Workers 上で動作します。
cp wrangler.example.jsonc wrangler.jsoncを実行し、Cloudflare アカウント ID と D1 データベースを設定します (npx wrangler d1 create usehourly-db)。wrangler.jsoncは Git の対象外のため、ID がリポジトリに含まれることはありません。- 公開アドレスを
.env.production.localに設定します:NEXT_PUBLIC_APP_URL=https://app.example.com(ビルドに埋め込まれます)。同じ値をwrangler.jsoncのAUTH_URLにも設定します。 npm run d1:migrate:remotenpx wrangler secret put AUTH_SECRETnpm run deploy
メール(任意)
パスワードのリセットとメール確認には、メールサービスが必要です。UseHourly は Resend 経由で送信します。Resend で送信ドメインを認証してから、Worker に次の 2 つの値を設定してください。
npx wrangler secret put RESEND_API_KEY
npx wrangler secret put EMAIL_FROM # for example: UseHourly <[email protected]>
設定しなくてもアプリはこれまでどおり動作し、パスワードを忘れた場合のページにはメールが設定されていないと表示されます。
CircleCI からデプロイ
.circleci/config.yml は、プッシュのたびにチェックを実行し、main では D1 のマイグレーションを適用してデプロイします。デプロイトークンはシークレットのため、プロジェクト設定には含めないでください。usehourly-production という名前の context(Organization Settings > Contexts)を作成し、式の制限 pipeline.git.branch == "main" を追加して、トークンを設定します。main のデプロイジョブのみがトークンを読み取れます。
| Context 変数 | 値 |
|---|---|
CLOUDFLARE_API_TOKEN | Workers Scripts: Edit と D1: Edit の権限を持つトークン |
CircleCI のプロジェクト設定に、次の環境変数を追加します。
| 変数 | 値 |
|---|---|
CLOUDFLARE_ACCOUNT_ID | Cloudflare アカウント ID |
D1_DATABASE_ID | D1 データベースの ID |
APP_URL | 公開アドレス。例:https://app.example.com |
任意で、WORKER_NAME、D1_DATABASE_NAME、CUSTOM_DOMAIN も設定できます。AUTH_SECRET は Worker のシークレットとして設定します(npx wrangler secret put AUTH_SECRET を 1 回実行)。CI がこの値を参照することはありません。scripts/ci-wrangler-config.mjs はこれらの変数から wrangler.jsonc を生成するため、アカウント ID がリポジトリに含まれることはありません。
サポート
UseHourly は無料です。時間の節約に役立った場合は、GitHub でスポンサーになれます。
スポンサーの皆さま
UseHourly を無料で提供し続けるためにご協力くださる皆さまに感謝します。
最初のスポンサーになりませんか:GitHub で UseHourly のスポンサーになる。
クレジットとライセンス
Mohammed Arham Khan が作成した優れたテンプレート next-shadcn-admin-dashboard を基に構築されています。
MIT License のもとで公開されています。コードはオープンですが、「UseHourly」という名前とロゴはライセンスの対象ではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。