Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

UseHourly

by Zontak-LLCversion 1.1.0i★ –iComputer or cloud
Registry nameapp.usehourly/usehourly

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Other
  • You need to fill in: USEHOURLY_API_TOKEN, Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: USEHOURLY_API_TOKEN, Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "usehourly": {
      "command": "npx",
      "args": [
        "-y",
        "usehourly-mcp"
      ],
      "env": {
        "USEHOURLY_API_TOKEN": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http usehourly https://usehourly.app/api/mcp --header 'Authorization: your-value'

Or run it on your computer

claude mcp add usehourly --env USEHOURLY_API_TOKEN=your-value -- npx -y usehourly-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "usehourly": {
      "url": "https://usehourly.app/api/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "usehourly": {
      "command": "npx",
      "args": [
        "-y",
        "usehourly-mcp"
      ],
      "env": {
        "USEHOURLY_API_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "usehourly": {
      "type": "http",
      "url": "https://usehourly.app/api/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "usehourly": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "usehourly-mcp"
      ],
      "env": {
        "USEHOURLY_API_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • USEHOURLY_API_TOKEN secret required env
    A token from UseHourly > Account > AI assistants (read-only or read and change, with an expiry). The bridge sends it to https://usehourly.app/api/mcp as a Bearer token.
  • Authorization secret HTTP header
    Optional. MCP clients that support OAuth (Claude, Cursor, Smithery) connect with log in and approve and need no header. For a client that cannot, use Bearer from Account > AI assistants at usehourly.…

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain usehourly.app (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Otheri

  • More stars than 0% of the other 32435 servers in this category
  • Published to the registry more recently than 69% of the other 32435 servers in this category
  • Basic checks equal to or better than 100% of the other 32435 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is UseHourly safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: USEHOURLY_API_TOKEN, Authorization

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.1.0) reached the registry 17 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Apify MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡

Runs in the cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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.

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

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:

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 header in their MCP settings.

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>" } } } }

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+.

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=

AUTH_URL=http://localhost:3028

npm run d1:migrate:local # create the local D1 database npm run dev # http://localhost:3028

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

npm test                    # scenario tests (Vitest)

npx biome check # lint and format npx 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:

npx wrangler secret put RESEND_API_KEY

npx wrangler secret put EMAIL_FROM # for example: UseHourly

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.

Ask PopNx