UseHourly
Freelancer time tracking for AI assistants: log time, timers, timesheets, sign-off links, invoices.
Connector by usehourly.appOfficial · Domain verified by the MCP Registry
Chalk Labs
Need help deploying UseHourly?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/usehourly-app-usehourly
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://usehourly.app/api/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
Runs code on install
Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.
- Tools
- 10 read · 16 write · 2 delete · 4 not yet classified
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- Runs code on install
- Runs as
- Node.js package
Tools by what they do 32
Read from the source code; the running server may list different tools.
Read 10 · Look things up without changing anything.
get_clientget_invoiceget_running_timerget_timesheetlist_clientslist_entrieslist_invoiceslist_projectsparse_durationwhoami
Write 16 · Create, change, send or run things.
archive_clientarchive_projectcreate_clientcreate_invoicecreate_projectlog_timelog_time_on_daysmark_invoice_paidmerge_entriesset_day_totalsshare_timesheetstart_timer
Show 4 more tools
stop_timerupdate_clientupdate_entryupdate_project
Delete 2 · Delete, drop, revoke or wipe things.
delete_entrydelete_invoice
Not yet classified 4 · We could not tell from the name and description.
annual_reportnext_invoice_numberproject_totalsunarchive_project
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
AuthorizationUSEHOURLY_API_TOKEN
Network hosts it talks to 1
usehourly.app· found in remote endpoint, install command
Tools (32)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
annual_reportYear summary for taxesOne calendar year: hours and earnings by quarter, month, client and project, plus invoices issued and paid (cash and accrual views).
archive_clientArchive a clientHide a client from the lists. Its time and invoices are kept.
archive_projectArchive a projectHide a project from the lists. Its time and invoices are kept.
create_clientCreate a clientAdd a client. Names are unique per account.
create_invoiceCreate an invoiceIssue an invoice for a client from billable time between two dates. Totals are computed on the server from the logged entries (one line per project). Time already on another invoice is left out, so the same hours are never billed twice. The number defaults to the next free INV-<year>-NNN. This creates a permanent record; confirm the client, period and dates with the user first.
create_projectCreate a projectAdd a project under a client, with an hourly rate in the client's currency (its own, else the account's) and whether it is billable.
delete_entryDelete an entryPermanently delete one time entry. Confirm with the user before calling this.
delete_invoiceDelete an invoicePermanently delete an invoice record. The time entries stay. Confirm with the user before calling this.
get_clientGet client billing detailsOne client's billing details: full legal name and address as printed on invoices, and how often the client is invoiced (invoice_schedule: null = whenever the freelancer chooses).
get_invoiceGet an invoiceThe frozen invoice as issued: seller, client, lines per project and totals. Set include_detail for the per-entry breakdown. Logos are left out.
get_running_timerRunning timerThe timer that is running now, with elapsed minutes, or null when none is running.
get_timesheetGet a timesheetThe timesheet for a date range as a grid: one row per project, hours per day, totals per project and per day, and the weekdays with nothing logged. Optionally for one client or one project. Use this to 'show me my timesheet for last week' or to check a sheet before sharing it. Days marked non-billable still count here.
list_clientsList clientsActive clients, each with its currency and its active projects. Rates are in the client's currency (its own, else the account's).
list_entriesList time entriesTime entries between two dates (inclusive), newest first, with totals per project and per day. Optionally limited to one project. Use this for 'what did I log last week' and to check a day before adding time.
list_invoicesList invoicesInvoice history (newest 200 at most), each with the currency it was issued in. Filter by text, client, paid status or issue-date range. unpaid_totals has one figure per currency; unpaid_total is only set when every match is in one currency.
Show 17 more tools
list_projectsList projectsEvery active project with its client and hourly rate. Use the "label" ("Client / Project") or the id wherever a project is asked for. Set include_archived to also see archived ones.
log_timeLog timeAdd one time entry: a project, a date, how long, and what was done. Give minutes or a duration text. This adds a new entry; it never merges with an existing one. Check list_entries first if the day may already be logged.
log_time_on_daysLog the same time on several daysAdd the same entry (project, minutes, note) on up to 31 dates. Days that already have time for this project are skipped and reported unless skip_existing is false.
mark_invoice_paidMark an invoice paid or unpaidRecord the date an invoice was paid (this matters for cash-basis taxes), or pass null to mark it unpaid again.
merge_entriesMerge entriesFold several entries (same project, same day) into the first one: minutes are added and notes joined. The others are removed.
next_invoice_numberNext invoice numberThe suggested next invoice number for a year, such as INV-2026-004.
parse_durationParse a durationTurn text like "1h30", "1:30" or "2.5" into whole minutes, the way UseHourly reads it.
project_totalsHours per projectLogged hours per project: all time and within a date range (for example this month).
set_day_totalsSet a project's total for daysSet one project's total minutes for up to 31 days: more than 0 creates or updates that day's single entry, 0 clears it. Days that hold several entries or a running timer are skipped and reported, never merged. A note, when given, is applied to every day written.
share_timesheetCreate a timesheet link for a clientFreeze the hours of a date range (optionally one client or project) into a private link a client can open without an account, read, print and approve. The link shows hours and, unless include_notes is false, the work descriptions; never rates or amounts. Anyone with the link can read it until it expires, so confirm the range, the client and whether to include notes with the user before calling. The link is returned only once: pass it on to the user. Not available on demo accounts.
start_timerStart the timerStart a timer on a project. A timer that is already running is stopped first, so only one runs at a time.
stop_timerStop the timerStop the running timer. Elapsed time is rounded up to the next minute (at least 1).
unarchive_projectRestore a projectBring an archived project (and its client, if archived) back.
update_clientEdit a clientRename a client or change the legal name and address printed on its invoices. Only the fields you pass change; the logo is kept.
update_entryEdit an entryChange an entry's project, date, minutes or note. Only the fields you pass change.
update_projectEdit a projectRename a project, move it to another client, or change its rate or billable flag. Only the fields you pass change.
whoamiWho am IThe signed-in account (name, email, currency, business details printed on invoices) and what this token may do (read or write). Call this first to confirm the connection.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 30
- Last commit
- Oct 24, 2026 (16 days ago)
- Last release
- Oct 20, 2026 (20 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
app.usehourly/usehourly- Version
- 1.1.0
- Auth
- Bearer token, API key
- Packages
- npm usehourly-mcp
- License
- MIT
- Repository
- github.com/Zontak-LLC/usehourly
- Website
- usehourly.app
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get UseHourly running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
UseHourly MCP server. Agent Mart. https://agentmart.dev/connectors/usehourly-app-usehourly (last updated 2026-10-24)