DeskTime MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.2.4Updated Nov 7, 2026

Read tracked time and projects; create projects and start or stop timers in DeskTime.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowData & Analytics

Overview

AI-generated overview

Hosted DeskTime connector that lets an assistant read tracked work time, employees and projects, and create projects or start and stop timers.

What you can do
  • Read company settings: name, work schedule, tracking window and timezone
  • List employees with tracked time for a day, week or month, and get one employee's day summary
  • Get an employee's day with projects and tasks, with apps and websites, or both
  • List active projects and their tasks
  • Create a project (optionally with a task) and start or stop a project timer for the key's owner
  • Check usage, request a feature, upgrade or cancel the subscription
When to use it
Useful when a team already tracks time in DeskTime and wants to ask an assistant about hours, productivity, apps used or project time, or to create projects and run timers from chat.
Requirements
Remote MCP endpoint, no local install. Connect with the URL only; the server signs in via OAuth and the login page asks for a DeskTime API key, which it validates and stores per user. A DeskTime account is required. Free plan allows 50 tool calls per month.
Before you install
Employee-level data is personal monitoring data (arrived/left, apps, websites, titles); request only what is needed. Write tools create projects and start or stop timers, which changes tracked time and may switch off a running project; confirm before use. Creating a project is not idempotent. Paid plans are billed through a Stripe checkout link, and cancelling gives no refund for the current period.

Installation

In SourceWeft

  1. Open DeskTime MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fdesktime/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "desktime-by-usefulapi": {
      "type": "http",
      "url": "https://desktime.usefulapi.io/mcp"
    }
  }
}

README

DeskTime MCP by usefulapi

Use your DeskTime account from Claude, Cursor, or any MCP client. It reads tracked time, projects and tasks, and it can create projects and start or stop project timers. Hosted, no local install: connect with your own credentials.

Live endpoint: https://desktime.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://desktime.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http desktime https://desktime.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "desktime": {      "url": "https://desktime.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your DeskTime credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/desktime/

On first connect you provide your DeskTime API key (desktime.com/app/api). The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
desktime_get_companyreadGet company
desktime_list_employeesreadList employees with tracking data
desktime_get_employeereadGet employee day summary
desktime_get_employee_projectsreadGet employee day with projects
desktime_get_employee_appsreadGet employee day with apps
desktime_get_employee_fullreadGet employee day with projects and apps
desktime_list_projectsreadList projects
desktime_create_projectwriteCreate project
desktime_start_projectwriteStart project timer
desktime_stop_projectwriteStop project timer
desktime_usage_statusmetaUsage status (free-tier meter)
desktime_request_featuremetaRequest a missing feature
desktime_upgrademetaUpgrade to Pro or Pro+
desktime_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with desktime_upgrade (it returns a Stripe Checkout link). Cancel any time with desktime_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running desktime_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/desktime/README.md at commit 4046075

Tools

10

desktime_get_company

Get company

The DeskTime company account this API key belongs to: company name, work schedule (start, end, duration, working days), tracking window and account timezone. GET /company.

Takes no parameters.

desktime_list_employees

List employees with tracking data

All employees of the company with their tracked time for a day, week or month: arrived/left, online, desk, at-work, productive time, productivity and efficiency, group. Starts at `date` (default today); `period` is day (default), week or month. Returned a page at a time (employee-days, sorted by date then id). Needs an admin's key. GET /employees. This is employee monitoring (personal) data: ask for one day at a time and only what the user needs.

Parametersdatepageperiodpage_size

desktime_get_employee

Get employee day summary

One employee's summary for one day: name, email, group, arrived/left, late, online/offline/desk/at-work/productive time (seconds), productivity and efficiency. Without projects or apps; see desktime_get_employee_projects / _apps / _full for those. GET /employee/basic. This is employee monitoring (personal) data: ask for one day at a time and only what the user needs.

Parametersiddate

desktime_get_employee_projects

Get employee day with projects

One employee's day summary plus the projects and tasks they tracked time on that day. GET /employee/projects. This is employee monitoring (personal) data: ask for one day at a time and only what the user needs.

Parametersiddate

desktime_get_employee_apps

Get employee day with apps

One employee's day summary plus the apps, websites and titles they used that day, with durations and productivity class. Lists longer than 200 entries are cut. GET /employee/apps. This is employee monitoring (personal) data: ask for one day at a time and only what the user needs.

Parametersiddate

desktime_get_employee_full

Get employee day with projects and apps

One employee's day summary plus both the tracked projects/tasks and the apps/websites used that day. The largest reply: prefer the narrower tools. Lists longer than 200 entries are cut. GET /employee. This is employee monitoring (personal) data: ask for one day at a time and only what the user needs.

Parametersiddate

desktime_list_projects

List projects

Active (not archived) projects of the company with their tasks: id, name, creation time and tasks. Returned a page at a time. GET /projects.

Parameterspagepage_size

desktime_create_project

Create project

WRITE: create a new project (and optionally one task in it) in the company's DeskTime account. Not idempotent: a second call with the same name makes another project. Returns the new project's id, url and tasks. POST /create-project.

Parameterstaskprojectrequired

desktime_start_project

Start project timer

WRITE: start tracking time on a project (and optionally a task) for the user the API key belongs to, by project name. This changes that user's tracked time and may switch away from the project currently running. Returns {started: true|false}. GET /start-project.

Parameterstaskprojectrequired

desktime_stop_project

Stop project timer

WRITE: stop tracking time on a project (and optionally a task) for the user the API key belongs to, by project name. Returns {stopped: true|false}. GET /stop-project.

Parameterstaskprojectrequired

Version history

6
  1. v1.2.4LatestNov 7, 2026
  2. v1.1.3Nov 5, 2026
  3. v1.1.2Nov 5, 2026
  4. v1.1.1Nov 4, 2026
  5. v1.1.0Nov 3, 2026
  6. v1.0.2Nov 3, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations