UseHourly

app.usehourly由 usehourly.app 發布官方發布者v1.1.0更新於 Oct 28, 2026

Freelancer time tracking for AI assistants: log time, timers, timesheets, sign-off links, invoices.

已驗證Streamable HTTP可網頁執行效率與工作流金融

概覽

AI 產生的概覽

UseHourly 是給自由工作者用的工時記錄工具,其 MCP 伺服器讓助理記錄工時、啟動計時器、產生工時表、簽核連結與發票。

可以做什麼
  • 依客戶與專案記錄、修改工時項目與備註,並啟動或停止計時器
  • 產生每週工時表,以及依專案彙總的月度、年度統計
  • 為客戶工時表建立私密的簽核連結
  • 依可計費工時準備發票,並追蹤已付與未付狀態
  • 依週、月或自訂日期範圍取得報表與匯出檔
適用情境
適合已在 UseHourly 記錄可計費工時的自由工作者與小型工作室,想用口述方式補記工時,或請助理直接整理工時表、簽核連結與發票而不必開啟應用程式。
執行需求
需要 UseHourly 帳號,以及在 Account > AI assistants 建立的個人存取權杖(唯讀或讀寫,可設定到期時間)。遠端用戶端以 Authorization Bearer 標頭連線 Streamable HTTP 端點,支援 OAuth 的用戶端可直接登入授權;僅支援 stdio 的用戶端需以 npx 執行 npm 套件 usehourly-mcp 並設定 USEHOURLY_API_TOKEN。需要能連線 usehourly.app。
安裝前請注意
權杖可存取你自己的工時與客戶資料,讀寫權杖還允許助理建立與修改工時項目、工時表與發票,建議盡量選用唯讀並設定到期時間。權杖會以 Bearer 憑證送往 usehourly.app,請勿寫入共用設定或日誌。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 UseHourly,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/app.usehourly%2Fusehourly/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "usehourly": {
      "type": "http",
      "url": "https://usehourly.app/api/mcp"
    }
  }
}

README

UseHourly

The free, open-source time tracker your AI assistant can use. Connect Claude, ChatGPT, Cursor or any MCP assistant and say "log 3 hours on Acme, then make this week's timesheet for sign-off". Or log your day in seconds yourself: type 1.5, 1:30 or 90m, press Enter, done.

Live: https://usehourly.app · Free to use, no paywall, no ads.

[smithery badge]

https://github.com/Zontak-LLC/usehourly/raw/main/public/landing/assistant-demo.mp4

[The weekly timesheet]

What it does

  • Quick entry. Pick a project, type the time the way you would say it, add a note. Or press Start and let the timer count.
  • Weekly timesheet. Every project and every day in one editable grid. Fill several days at once, add more entries to a day, move an entry to another date.
  • Month calendar with per-project totals.
  • Invoices. Turn billable hours into a PDF invoice, track paid and unpaid, re-download any time.
  • Year summary. Hours, earnings, invoiced and received by quarter and month, ready for your accountant.
  • Export. Excel for any week, month or custom date range (for example March 3 to April 20), and one zip with everything: every client, all time.
  • Try it first. "Try it with sample data" on the home page opens a throwaway account filled with a month of work. No sign-up; keep it with one click if you like it.
  • Switching from Toggl or Clockify? Import their CSV export from the Account page. Clients and projects are created for you, and importing the same file twice adds nothing.
  • AI first: works with your assistant (MCP). Any MCP client (Claude, Cursor, VS Code, ChatGPT, your own agent) can log time, start timers, build a client's timesheet, create a private sign-off link and prepare invoices. See below.
  • Free calculator. Hours calculator: add up times and get decimal hours, no account needed.
  • Your data is yours. Per-user isolation; everything you log can be exported at any time.

Use it from any AI assistant (MCP server)

UseHourly runs a remote Model Context Protocol server at https://usehourly.app/api/mcp (Streamable HTTP). It has 32 tools for projects, clients, time entries, timers, timesheets, invoices and reports; each one runs as you, so it only sees your own data. Create a token on Account > AI assistants (read-only or read and write, with an expiry), then:

bash
claude mcp add --transport http usehourly https://usehourly.app/api/mcp --header "Authorization: Bearer <your token>"

That example is for Claude Code. Other clients just need the URL and an Authorization: Bearer <token> header in their MCP settings.

Cursor (~/.cursor/mcp.json):

json
{ "mcpServers": { "usehourly": { "url": "https://usehourly.app/api/mcp", "headers": { "Authorization": "Bearer <your token>" } } } }

VS Code (.vscode/mcp.json):

json
{ "servers": { "usehourly": { "type": "http", "url": "https://usehourly.app/api/mcp", "headers": { "Authorization": "Bearer <your token>" } } } }

For clients that can only run local (stdio) servers, such as Claude Desktop, there is a small bridge published on npm (usehourly-mcp): set the command to npx with args ["-y", "usehourly-mcp"] and USEHOURLY_API_TOKEN to your token.

Then ask: "Log 2 hours on the Acme website for yesterday" or "Make an invoice for Acme for September."

Stack

Next.js 16 (App Router) · React 19 · Tailwind CSS v4 · shadcn/ui · NextAuth v5 (credentials) · tRPC v11 · Prisma 7 with Cloudflare D1 · Vitest · Biome · deployed to Cloudflare Workers with OpenNext.

Run it locally

You need Node 22+.

bash
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 databasenpm run dev                 # http://localhost:3028

Register an account on the sign-up page and you are in.

bash
npm test                    # scenario tests (Vitest)npx biome check             # lint and formatnpx tsc --noEmit            # type check

Deploy

It runs on Cloudflare Workers with a D1 database:

  1. cp wrangler.example.jsonc wrangler.jsonc and fill in your Cloudflare account id and a D1 database (npx wrangler d1 create usehourly-db). wrangler.jsonc is git-ignored, so your ids stay out of the repo.
  2. Put your public address in .env.production.local: NEXT_PUBLIC_APP_URL=https://app.example.com (it is baked into the build) and set the same value as AUTH_URL in wrangler.jsonc.
  3. npm run d1:migrate:remote
  4. npx wrangler secret put AUTH_SECRET
  5. npm run deploy

Email (optional)

Password reset and email confirmation need an email service. UseHourly sends through Resend: verify your sending domain there, then set two values on the Worker:

bash
npx wrangler secret put RESEND_API_KEYnpx wrangler secret put EMAIL_FROM        # for example: UseHourly <[email protected]>

Without them the app works as before, and the forgot-password page says email isn't set up.

Deploy from CircleCI

.circleci/config.yml runs the checks on every push and, on main, applies the D1 migrations and deploys. The deploy token is a secret, so keep it out of the project settings: create a context named usehourly-production (Organization Settings > Contexts), add an expression restriction pipeline.git.branch == "main", and put the token in it. Only the deploy job on main can read it.

Context variableValue
CLOUDFLARE_API_TOKENa token with Workers Scripts: Edit and D1: Edit

In the CircleCI project settings add these environment variables:

VariableValue
CLOUDFLARE_ACCOUNT_IDyour Cloudflare account id
D1_DATABASE_IDthe id of your D1 database
APP_URLyour public address, for example https://app.example.com

Optional: WORKER_NAME, D1_DATABASE_NAME, CUSTOM_DOMAIN. AUTH_SECRET stays a Worker secret (npx wrangler secret put AUTH_SECRET, once); CI never sees it. scripts/ci-wrangler-config.mjs writes wrangler.jsonc from these variables, so no account ids live in the repository.

Support

UseHourly is free. If it saves you time you can sponsor it on GitHub.

Supporters

Thank you to everyone who helps keep UseHourly free:

Be the first: sponsor UseHourly on GitHub.

Credits and license

Built on the excellent next-shadcn-admin-dashboard template by Mohammed Arham Khan.

Released under the MIT License. The code is open; the name "UseHourly" and its logo are not part of the license.

來源:README.md,提交 67ef879

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

3
  1. v1.1.0最新Oct 20, 2026
  2. v1.0.1Oct 17, 2026
  3. v1.0.0Oct 17, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分