SolidInvoice
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Freelancer time tracking for AI assistants: log time, timers, timesheets, sign-off links, invoices.
Pick the AI app you use, then copy the settings.
Passed 5/5 checks · What you ask goes through the maker’s server (usehourly.app) · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 5 min
You need a UseHourly key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
UseHourlyhttps://usehourly.app/api/mcpUnder Request headers, add this name and value
AuthorizationBearer <paste your key here>Paste the key only into the app’s field, never into a chat or to anyone
Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add
+ConnectorsUseHourly
Use UseHourly and tell me what you can do for me, then show me one thing✓ If Claude says it is using UseHourly or shows a UseHourly tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect UseHourly yet
UseHourly needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify
A · Use an app that can connect UseHourly
B · Others in Accounting, finance & tax that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code · about 5 min
You need a UseHourly key (create it on the maker’s site)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http --scope user usehourly https://usehourly.app/api/mcp --header 'Authorization: Bearer your-value'Replace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see UseHourly listed as connected
Use UseHourly and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using UseHourly or shows a UseHourly tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 5 min
You need a UseHourly key (create it on the maker’s site)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
In the UseHourly settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use UseHourly and tell me what you can do for me, then show me one thing✓ If Cursor says it is using UseHourly or shows a UseHourly tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 5 min
You need a UseHourly key (create it on the maker’s site)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
In the UseHourly settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use UseHourly and tell me what you can do for me, then show me one thing✓ If VS Code says it is using UseHourly or shows a UseHourly tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://usehourly.app/api/mcpJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http --scope user usehourly https://usehourly.app/api/mcp --header 'Authorization: Bearer your-value'Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"usehourly": {
"url": "https://usehourly.app/api/mcp",
"headers": {
"Authorization": "Bearer your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"usehourly": {
"type": "http",
"url": "https://usehourly.app/api/mcp",
"headers": {
"Authorization": "Bearer your-value"
}
}
}
}Claude Code
claude mcp add --scope user usehourly --env USEHOURLY_API_TOKEN=your-value -- npx -y usehourly-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"usehourly": {
"command": "npx",
"args": [
"-y",
"usehourly-mcp"
],
"env": {
"USEHOURLY_API_TOKEN": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"usehourly": {
"command": "npx",
"args": [
"-y",
"usehourly-mcp"
],
"env": {
"USEHOURLY_API_TOKEN": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"usehourly": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"usehourly-mcp"
],
"env": {
"USEHOURLY_API_TOKEN": "your-value"
}
}
}
}USEHOURLY_API_TOKEN secret required envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: usehourly-mcpBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
The server asks you to sign in before it lists its tools.
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 15, 2026
The registry name was verified against the domain usehourly.app (the registry checks domain ownership)
Code last changed today
Uses MIT
Responded in 2127 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
No entries on OSV.dev for usehourly-mcp@1.1.0
Checks only this package version, not every dependency · checked Nov 15, 2026
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 5 of 5 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.
You need to fill in: Authorization, USEHOURLY_API_TOKEN
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed today, and the latest version (1.1.0) reached the registry 25 days ago.
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 on the web (full MCP on Business and above; Pro read-only).
In the same category: SolidInvoice, Signal8, Journalit, Tapetide - Indian Stock Market MCP, Twelve Data
Same category, other makers, commands already checked. Official ones first, then by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Trading journal in Obsidian. Ask Claude or ChatGPT about your trades; edits are previewed first.
48 tools for ~8,000 NSE & BSE stocks: quotes, screener, financials, filings, FII/DII, options
Real-time and historical market data: stocks, forex, crypto, ETFs, fundamentals and 60+ indicators.
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.
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
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."
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.
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)
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
It runs on Cloudflare Workers with a D1 database:
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..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.npm run d1:migrate:remotenpx wrangler secret put AUTH_SECRETnpm run deployPassword 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.
.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 variable | Value |
|---|---|
CLOUDFLARE_API_TOKEN | a token with Workers Scripts: Edit and D1: Edit |
In the CircleCI project settings add these environment variables:
| Variable | Value |
|---|---|
CLOUDFLARE_ACCOUNT_ID | your Cloudflare account id |
D1_DATABASE_ID | the id of your D1 database |
APP_URL | your 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.
UseHourly is free. If it saves you time you can sponsor it on GitHub.
Thank you to everyone who helps keep UseHourly free:
_Be the first: sponsor UseHourly on GitHub._
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.