@yakirmar/mcp-toggl 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,11 +7,13 @@
7
7
  [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
8
8
  [![Toggl API](https://img.shields.io/badge/Toggl-API%20v9-red)](https://developers.track.toggl.com/docs/)
9
9
 
10
- > **This is a fork** of [`@verygoodplugins/mcp-toggl`](https://github.com/verygoodplugins/mcp-toggl), published as `@yakirmar/mcp-toggl`. It adds full **write and cleanup** support for time entries see [Fork Additions](#fork-additions).
10
+ > **This is a fork** of [`@verygoodplugins/mcp-toggl`](https://github.com/verygoodplugins/mcp-toggl), published as `@yakirmar/mcp-toggl`. It makes the server **read-write**: upstream could only read data and start/stop timers, so you couldn't log past work, fix a bad entry, or manage projects and clients. See [Fork Additions](#fork-additions).
11
11
 
12
12
  ## Fork Additions
13
13
 
14
- Upstream can read entries and start/stop timers, but it cannot log past work or remove a mistaken entry. This fork adds three tools that close that loop:
14
+ Upstream is essentially read-only: it reads entries, reports, and lists, and can start/stop a timer. It cannot log work you already did, remove a mistake, or create the project you want to track against. This fork adds **9 tools** that close those loops.
15
+
16
+ ### Time entries
15
17
 
16
18
  | Tool | Why it exists |
17
19
  | --- | --- |
@@ -19,10 +21,40 @@ Upstream can read entries and start/stop timers, but it cannot log past work or
19
21
  | `toggl_search_entries` | Find entries (and, crucially, their `id`) by description, project name, client name, tag, time window, or duration. The `id` is what you need to delete something. |
20
22
  | `toggl_delete_entry` | Remove an entry by `id`. Pair with `toggl_search_entries` when you don't already know it. |
21
23
 
22
- Together these let you say things like *"log 2 hours on the Website project for yesterday's client call"* or *"find the duplicate standup entry from last week and delete it"*.
24
+ ### Projects and clients (full CRUD)
25
+
26
+ Upstream could only *list* projects and clients. This fork adds create, update, and delete for both, so an assistant can set up and maintain your Toggl structure rather than just read it.
27
+
28
+ | Tool | Why it exists |
29
+ | --- | --- |
30
+ | `toggl_create_project` | Create a project, optionally attached to a client, with billing, color, dates, and rate. |
31
+ | `toggl_update_project` | Rename, recolor, re-bill, move to another client, or **archive** (`active: false`) a project. |
32
+ | `toggl_delete_project` | Permanently remove a project. |
33
+ | `toggl_create_client` | Create a client. |
34
+ | `toggl_update_client` | Rename, annotate, or **archive** (`archived: true`) a client. |
35
+ | `toggl_delete_client` | Permanently remove a client. |
36
+
37
+ ### Team and admin visibility
38
+
39
+ Upstream can only ever see **your own** time, because every entry read goes through Toggl's `/me/time_entries` — an endpoint that is self-scoped by definition, no matter how much admin power your token has. To see what your *team* did, you have to go through Toggl's separate **Reports API**. This fork does that.
40
+
41
+ | Tool | Why it exists |
42
+ | --- | --- |
43
+ | `toggl_list_users` | Who is in a **workspace** — id, name, email, admin/owner flags. |
44
+ | `toggl_list_org_users` | Who is in the **organization**, across every workspace — plus active status, role, org/workspace admin flags, and how many workspaces each member belongs to. |
45
+ | `toggl_team_entries` | What everyone worked on. Cross-user entries filterable by `user_ids`, `project_ids`, `client_ids`, `tag_ids`, `billable`, description, and duration. |
46
+ | `toggl_team_summary` | Hours per user for a period — total, billable, and how many projects each person touched. |
47
+
48
+ > **These three require workspace admin rights.** Access is enforced by Toggl, not by this server: a non-admin token simply sees only its own data (or gets a 403). **They also expose teammates' entry descriptions** — treat the output as sensitive.
49
+
50
+ Together these let you say things like *"log 2 hours on the Website project for yesterday's client call"*, *"find the duplicate standup entry from last week and delete it"*, *"create a Retainer project for Globex, billable at 150/hr"*, or *"who on the team logged the most billable hours last month?"*.
23
51
 
24
52
  **Timezone handling:** datetimes accept an explicit offset (`2026-07-11T09:00:00Z`, `...+03:00`) for an absolute time. Without an offset — including a bare `YYYY-MM-DD` — the time is interpreted in **the timezone of the machine running the server**.
25
53
 
54
+ **Archive vs delete:** deleting a project or client is irreversible and orphans the association on existing records (time entries lose their project; projects lose their client). Prefer archiving — `toggl_update_project` with `active: false`, or `toggl_update_client` with `archived: true` — when you want to keep history.
55
+
56
+ **Cache coherence:** every project/client mutation invalidates the cached lists for that workspace, so a subsequent `toggl_list_projects` / `toggl_list_clients` reflects the change immediately instead of serving a stale list until the TTL expires.
57
+
26
58
  ## See What Your Week Actually Looked Like
27
59
 
28
60
  > You ask: "Give me the recap of my week"
@@ -66,6 +98,12 @@ Start a timer for "PR review" on the Platform project
66
98
  Log 2 hours yesterday on the Website project for "client call"
67
99
  Find the entries I logged for "standup" last week
68
100
  Delete the duplicate entry I created this morning
101
+ Create a billable "Retainer" project for the Globex client at 150/hr
102
+ Archive the old Website project
103
+ Rename the client "Acme" to "Acme Corp"
104
+ Who is in my workspace?
105
+ Who logged the most billable hours last month?
106
+ What did Jane work on this week?
69
107
  Show me yesterday's hours as a chart
70
108
  What apps did I use most today?
71
109
  Generate a daily report for last Friday
@@ -173,6 +211,40 @@ Added by this fork. See [Fork Additions](#fork-additions).
173
211
  | `toggl_list_projects` | Lists projects for a workspace using cache-backed reads after first fetch. |
174
212
  | `toggl_list_clients` | Lists clients for a workspace using cache-backed reads after first fetch. |
175
213
 
214
+ ### Project and Client Management
215
+
216
+ Added by this fork. See [Fork Additions](#fork-additions).
217
+
218
+ | Tool | What it does |
219
+ | --- | --- |
220
+ | `toggl_create_project` | Creates a project. `name` is required; optional `client_id`, `active`, `is_private`, `billable`, `color`, `estimated_hours`, `start_date`, `end_date`, `currency`, `rate`. |
221
+ | `toggl_update_project` | Updates a project by `project_id`. Supply at least one field; omitted fields are left untouched. Use `active: false` to archive. |
222
+ | `toggl_delete_project` | Deletes a project by `project_id`. Irreversible — prefer archiving. |
223
+ | `toggl_create_client` | Creates a client. `name` is required; optional `notes`. |
224
+ | `toggl_update_client` | Updates a client by `client_id` (`name`, `notes`, `archived`). Supply at least one field. |
225
+ | `toggl_delete_client` | Deletes a client by `client_id`. Irreversible — prefer archiving. |
226
+
227
+ All six invalidate the workspace's cached project/client lists, so the next list read is fresh.
228
+
229
+ ### Team and Admin
230
+
231
+ Added by this fork. **Requires workspace admin rights** — see [Fork Additions](#team-and-admin-visibility).
232
+
233
+ | Tool | What it does |
234
+ | --- | --- |
235
+ | `toggl_list_users` | Lists **workspace** members with id, name, email, and admin/owner flags. Use the ids as `user_ids` below. |
236
+ | `toggl_list_org_users` | Lists **organization** members across all workspaces, with active status, role, org/workspace admin flags, and workspace count. Supports `filter`, `active_status`, `only_admins`. Requires **org** admin. |
237
+ | `toggl_team_entries` | Time entries across all users, via the Reports API. Filters: `user_ids`, `project_ids`, `client_ids`, `tag_ids`, `billable`, `description`, `min_duration_minutes`, `max_duration_minutes`. Hydrated with user/project/client names, newest-first (`limit` default 100, max 1000). |
238
+ | `toggl_team_summary` | Hours per user for the window — total, billable, entry count, and project count. Sorted by hours descending. |
239
+
240
+ **Workspace vs organization:** use `toggl_list_users` when you care about one workspace, and `toggl_list_org_users` when you want everyone in the org. `toggl_list_org_users` returns both an `organization_user_id` and a `user_id` — **`user_id` is the one to pass as `user_ids`**, since that's what time entries are keyed by. `organization_id` is resolved from your workspaces automatically (or set `TOGGL_DEFAULT_ORG_ID`); if your workspaces span several orgs, the tool lists them and asks you to pick.
241
+
242
+ **Date windows here are inclusive on both ends** (`start_date` … `end_date`), matching Toggl's Reports API, and default to the last 31 days.
243
+
244
+ **Permissions:** Toggl enforces visibility. If your token is not a workspace admin, these tools return only your own data rather than the team's — they will not error loudly, so verify with `toggl_list_users` first.
245
+
246
+ **Raw responses.** Toggl does not publish a response schema for the users and report endpoints, so `toggl_list_users`, `toggl_list_org_users`, and `toggl_team_entries` return **Toggl's objects unmodified** rather than reshaping them around guessed field names — the assistant reads whatever Toggl actually sends. `toggl_team_entries` includes a `lookups` block (users, projects, clients) so ids can be resolved to names. The one exception is `toggl_team_summary`, which must know where the duration lives in order to add hours up; if it can't read durations from the rows, it returns a `schema_warning` rather than claiming the team logged zero hours.
247
+
176
248
  ### Cache Management
177
249
 
178
250
  | Tool | What it does |
@@ -229,6 +301,7 @@ When in doubt, use `include_events: false`.
229
301
  | `TOGGL_API_TOKEN` | No | - | Supported alias for backwards compatibility. `TOGGL_API_KEY` is preferred. |
230
302
  | `TOGGL_TOKEN` | No | - | Supported alias for backwards compatibility. `TOGGL_API_KEY` is preferred. |
231
303
  | `TOGGL_DEFAULT_WORKSPACE_ID` | No | - | Used when a tool requires a workspace and none is passed. |
304
+ | `TOGGL_DEFAULT_ORG_ID` | No | - | Used by `toggl_list_org_users` when no `organization_id` is passed. Otherwise derived from your workspaces. |
232
305
  | `TOGGL_CACHE_TTL` | No | `3600000` | Cache TTL in milliseconds. Default is 1 hour. |
233
306
  | `TOGGL_CACHE_SIZE` | No | `1000` | Maximum cached entity budget. |
234
307
  | `TOGGL_BATCH_SIZE` | No | `100` | Batch size used by API pagination helpers. |
@@ -33,6 +33,8 @@ export declare class CacheManager {
33
33
  getUser(id: number): Promise<User | null>;
34
34
  getTag(id: number, workspaceId: number): Promise<Tag | null>;
35
35
  getTags(workspaceId: number): Promise<Tag[]>;
36
+ invalidateProjects(workspaceId: number): void;
37
+ invalidateClients(workspaceId: number): void;
36
38
  warmCache(workspaceId?: number): Promise<void>;
37
39
  private normalizeTimeEntry;
38
40
  hydrateTimeEntries(entries: TimeEntry[]): Promise<HydratedTimeEntry[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../src/cache-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,SAAS,EACT,iBAAiB,EAEjB,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAiD;IACnE,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,mBAAmB,CAAiD;IAC5E,OAAO,CAAC,kBAAkB,CAAgD;IAC1E,OAAO,CAAC,eAAe,CAA6C;IAGpE,OAAO,CAAC,KAAK,CAIX;IAEF,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,GAAG,CAAM;gBAEL,MAAM,EAAE,WAAW;IAI/B,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKtB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,gBAAgB;IAYlB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAmB/D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAqBrC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAuBrE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAqBpD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBnE,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBlD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAkBjF,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAiBjE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAmBzC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAe5D,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAqB5C,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BpD,OAAO,CAAC,kBAAkB;IA0BpB,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsD5E,UAAU,IAAI,IAAI;IAmBlB,QAAQ,IAAI,UAAU;IAetB,YAAY,IAAI,IAAI;CAmCrB"}
1
+ {"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../src/cache-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,SAAS,EACT,iBAAiB,EAEjB,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAiD;IACnE,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,mBAAmB,CAAiD;IAC5E,OAAO,CAAC,kBAAkB,CAAgD;IAC1E,OAAO,CAAC,eAAe,CAA6C;IAGpE,OAAO,CAAC,KAAK,CAIX;IAEF,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,GAAG,CAAM;gBAEL,MAAM,EAAE,WAAW;IAI/B,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKtB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,gBAAgB;IAYlB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAmB/D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAqBrC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAuBrE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAqBpD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBnE,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBlD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAkBjF,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAiBjE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAmBzC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAe5D,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAsBlD,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAW7C,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAWtC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BpD,OAAO,CAAC,kBAAkB;IA0BpB,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsD5E,UAAU,IAAI,IAAI;IAmBlB,QAAQ,IAAI,UAAU;IAetB,YAAY,IAAI,IAAI;CAmCrB"}
@@ -311,6 +311,27 @@ export class CacheManager {
311
311
  return [];
312
312
  }
313
313
  }
314
+ // Drop cached project data for a workspace after a create/update/delete so the
315
+ // next read re-fetches instead of serving a stale list for the rest of the TTL.
316
+ invalidateProjects(workspaceId) {
317
+ this.projectsByWorkspace.delete(workspaceId);
318
+ for (const [id, entry] of this.projects) {
319
+ if (entry.data.workspace_id === workspaceId) {
320
+ this.projects.delete(id);
321
+ }
322
+ }
323
+ }
324
+ // Same as invalidateProjects, for clients. Projects are invalidated too because
325
+ // a project's client_id/client_name can be orphaned by a client change.
326
+ invalidateClients(workspaceId) {
327
+ this.clientsByWorkspace.delete(workspaceId);
328
+ for (const [id, entry] of this.clients) {
329
+ if (entry.data.workspace_id === workspaceId) {
330
+ this.clients.delete(id);
331
+ }
332
+ }
333
+ this.invalidateProjects(workspaceId);
334
+ }
314
335
  // Warm cache by pre-fetching common entities
315
336
  async warmCache(workspaceId) {
316
337
  // Log to stderr to avoid interfering with MCP stdio protocol
@@ -1 +1 @@
1
- {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../src/cache-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../src/cache-manager.ts"],"names":[],"mappings":"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"}