Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
USEHOURLY_API_TOKENYesUseHourly API token created on Account > AI assistants (read-only or read and write, with an expiry). Sent to the remote MCP server at https://usehourly.app/api/mcp (Streamable HTTP) as an `Authorization: Bearer <your token>` header in your MCP client settings.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
whoamiA

The signed-in account (name, email, business details printed on invoices) and what this token may do (read or write). Call this first to confirm the connection.

list_projectsA

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

list_clientsA

Active clients, each with its active projects.

get_clientA

One client's billing details: full legal name and address as printed on invoices.

list_entriesA

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

project_totalsB

Logged hours per project: all time and within a date range (for example this month).

get_running_timerA

The timer that is running now, with elapsed minutes, or null when none is running.

annual_reportA

One calendar year: hours and earnings by quarter, month, client and project, plus invoices issued and paid (cash and accrual views).

list_invoicesA

Invoice history (newest 200 at most). Filter by text, client, paid status or issue-date range.

get_invoiceA

The frozen invoice as issued: seller, client, lines per project and totals. Set include_detail for the per-entry breakdown. Logos are left out.

next_invoice_numberB

The suggested next invoice number for a year, such as INV-2026-004.

parse_durationA

Turn text like "1h30", "1:30" or "2.5" into whole minutes, the way UseHourly reads it.

log_timeA

Add 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_daysA

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

set_day_totalsA

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

update_entryA

Change an entry's project, date, minutes or note. Only the fields you pass change.

merge_entriesA

Fold several entries (same project, same day) into the first one: minutes are added and notes joined. The others are removed.

delete_entryA

Permanently delete one time entry. Confirm with the user before calling this.

start_timerA

Start a timer on a project. A timer that is already running is stopped first, so only one runs at a time.

stop_timerA

Stop the running timer. Elapsed time is rounded up to the next minute (at least 1).

create_clientC

Add a client. Names are unique per account.

update_clientA

Rename a client or change the legal name and address printed on its invoices. Only the fields you pass change; the logo is kept.

archive_clientA

Hide a client from the lists. Its time and invoices are kept.

create_projectB

Add a project under a client, with an hourly rate in dollars and whether it is billable.

update_projectA

Rename a project, move it to another client, or change its rate or billable flag. Only the fields you pass change.

archive_projectA

Hide a project from the lists. Its time and invoices are kept.

unarchive_projectA

Bring an archived project (and its client, if archived) back.

create_invoiceA

Issue 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). The number defaults to the next INV--NNN. This creates a permanent record; confirm the client, period and dates with the user first.

mark_invoice_paidA

Record the date an invoice was paid (this matters for cash-basis taxes), or pass null to mark it unpaid again.

delete_invoiceA

Permanently delete an invoice record. The time entries stay. Confirm with the user before calling this.

Prompts

Interactive templates invoked by user choice

NameDescription
log_session_timeTurn a description of finished work and how long it took into a UseHourly entry.
week_summaryHours per project and per day for the week starting on a Monday.
invoice_clientReview a client's unbilled time and issue an invoice after confirmation.

Resources

Contextual data attached and managed by the client

NameDescription
projectsEvery active project with its client and rate.
timerThe running timer, if any.

TDQS

A3.6/5.0

Scored across 30 tools

Disambiguation4/5

Most tools target distinct resources and actions, but the time-entry trio (log_time, log_time_on_days, set_day_totals) overlaps enough that an agent must read carefully to pick correctly, and list_entries/project_totals/annual_report cover similar ground at different scopes. Descriptions do resolve most ambiguity, so boundaries are workable.

Naming Consistency4/5

Predominantly consistent snake_case verb_noun (list_projects, create_invoice, update_entry, archive_client). A handful of noun-only names (whoami, project_totals, annual_report, next_invoice_number) deviate but remain readable and predictable in intent.

Tool Count3/5

30 tools is on the heavy side for the stated scope and crosses the point where the set starts to feel large. The domain (clients, projects, entries, invoices, timers, reports) does justify many of them, but a few entry-writing tools could plausibly be consolidated.

Completeness5/5

Covers the full lifecycle: CRUD-ish for clients, projects, entries and invoices plus timers, batch logging, merging, and multiple reporting views. Archive/unarchive, invoice numbering, duration parsing, and paid-tracking round out the surface with no obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessResponsive