MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

ClickTime MCP by usefulapi

Read jobs, timesheets and reports; log time, update entries and submit timesheets in ClickTime.

Checks passed
14 / 22

0 failed · 8 not measured

Median response
55 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
26

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 55 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name clicktime-mcp.

  • Pass
    Lists tools

    tools/list returned 26 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 55 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 55 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    136 of 136 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-10T23:35:00.559352Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using ClickTime MCP by usefulapi

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http clicktime-mcp-by-usefulapi https://clicktime.usefulapi.io/mcp

Capabilities

Tools 26

clicktime_create_client

WRITE: create a client. Needs an Admin, or a Manager allowed to add clients. Creates a NEW client each call (not idempotent); check clicktime_list_clients first to avoid duplicates. POST /Clients.

Discovered
clicktime_create_job

WRITE: create a job (project) under a client. Needs an Admin, or a Manager allowed to add jobs. Creates a NEW job each call (not idempotent); check clicktime_list_jobs first to avoid duplicates. POST /Jobs.

Discovered
clicktime_create_time_entry

WRITE: log a time entry on the token user's own timesheet. Needs job_id and hours; task_id falls back to the user's default task; date defaults to today. Creates a NEW entry each call (not idempotent) and fails on a locked or submitted timesheet. Confirm date, hours, job, task and comment with the user first. POST /Me/TimeEntries.

Discovered
clicktime_get_company

Company configuration: name, currency, week start, timesheet model, how the company names jobs/clients/tasks, restriction methods, and which optional modules are on (Expenses, TimeOffAccruals, SubJob phases). Call this first before using expense, time-off-request or phase tools. GET /Company.

Discovered
clicktime_get_job

One job (project) by id: name, number, client, start/end dates, active state. GET /Me/Jobs/{jobID}.

Discovered
clicktime_get_me

The ClickTime user this API token belongs to: id, name, email, security level (Standard, Manager, Admin), division, default task, approvers and timesheet preferences. The API token itself is never returned. GET /Me.

Discovered
clicktime_get_time_entry

One of the user's time entries by id, with hours, comment, date, job, task, phase and custom fields. GET /Me/TimeEntries/{timeEntryID}.

Discovered
clicktime_get_timesheet_by_date

The user's timesheet whose period contains a given day: period dates, status, day totals and the general actions (Submit, UndoSubmit...). GET /Me/Timesheets/{date}.

Discovered
clicktime_list_clients

List the clients the token's user can see, with client number, short name and active state. GET /Me/Clients.

Discovered
clicktime_list_expense_items

The user's expense items: date, type, amount, description, job, billable flag, sheet. Receipt images are not fetched. Needs the Expenses module. GET /Me/ExpenseItems.

Discovered
clicktime_list_expense_sheets

The user's expense sheets with status, total and reimbursable amount, paid flag. Needs the company's Expenses module (see clicktime_get_company). GET /Me/ExpenseSheets.

Discovered
clicktime_list_job_phases

The phases (sub-jobs, level 1) defined on a job. Needs the company's SubJob/phases module (see clicktime_get_company). Use the phase id when logging time on a phased job. GET /Me/Jobs/{jobID}/JobPhase.

Discovered
clicktime_list_job_task_controls

The (job, task) combinations the user may log time on. Only valid when the company's TaskRestrictionMethod is 'byjob' (see clicktime_get_company); otherwise ClickTime answers 403. Active rows only unless filtered. GET /Me/Jobs/TaskControls.

Discovered
clicktime_list_jobs

List the jobs (projects) the token's user can log time to, by name, with job number, client, dates and active state. Use the ids to log time or filter entries. GET /Me/Jobs.

Discovered
clicktime_list_tasks

List the tasks (work categories) the token's user can log time against, with task code and active state. When the company restricts tasks per job, use clicktime_list_job_task_controls instead. GET /Me/Tasks.

Discovered
clicktime_list_time_entries

List the token user's time entries, newest first: date, hours, job, task, comment, start/end time. Filter by one day (entry_date), a date range (start_date + end_date), job or task. Only days with logged time appear. Add verbose to get job/client names and the billable flag. GET /Me/TimeEntries.

Discovered
clicktime_list_time_off

Time off the user has taken or booked, newest first: date, hours, type, notes. Not requests or balances. GET /Me/TimeOff.

Discovered
clicktime_list_time_off_requests

The user's time off requests with status and dates. Needs the company's TimeOffAccruals module (see clicktime_get_company). GET /Me/TimeOffRequests.

Discovered
clicktime_list_time_off_types

The time off types the user can take (vacation, sick...) with CurrentBalance, accrual and whether approval is required. Use for balance questions. GET /Me/TimeOffTypes.

Discovered
clicktime_list_timesheet_actions

The status actions the user can take right now on the timesheet covering a date (Submit, UndoSubmit...). Check this before clicktime_submit_timesheet. GET /Me/Timesheets/{date}/Actions.

Discovered
clicktime_list_timesheets

List the user's timesheets (pay periods), newest first, with period dates, status (Open, Waiting, Approved, Rejected, Locked...), total hours and who submitted or approved. GET /Me/Timesheets.

Discovered
clicktime_list_users

List people in the company with name, email, security level, division, approvers and active state. Needs a Manager or Admin token (others get 403). Cost and billing rates are included for Admins. GET /Users.

Discovered
clicktime_submit_timesheet

WRITE: submit the user's timesheet covering a date for approval (action Submit), or recall it (UndoSubmit). Submitting locks the entries and notifies the approver; confirm with the user first. Check the available actions with clicktime_list_timesheet_actions first. POST /Me/Timesheets/{date}/Actions.

Discovered
clicktime_time_report

Company-wide time entries (what the Time report shows): date, user, job, client, task, hours, billable flag, rates. Filter by date range, user, job, client, task, division or billable. Needs an Admin, or a Manager allowed to run company reports. Up to 2500 rows per page. GET /Reports/Time.

Discovered
clicktime_time_summary

Hours, billable hours, billings and cost totals grouped by Job, Task, User, Month, Date or WorkType (several groupings combine, for example Job + User). Needs a Manager or Admin token. ClickTime requires at least one of job_id, user_id or task_id as a filter. GET /Reports/TimeSummary.

Discovered
clicktime_update_time_entry

WRITE: change one of the user's own time entries (hours, comment, job, task, start/end time, break). Only the fields you pass change; the date cannot be changed. Overwrites the previous values; a locked timesheet rejects it. Show the current and new values to the user first. PATCH /Me/TimeEntries/{timeEntryID}.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected55 ms26