# time_report (/docs/reference/mcp-tools/time_report)



{/* Generated by apps/docs/scripts/generate-mcp-pages.mjs — do not edit by hand. */}

Time report for a date range: planned-vs-interruption totals, weekly rows, and top items.

|                     |                       |
| ------------------- | --------------------- |
| Required permission | `work:read`           |
| Capability ID       | `timeTracking.report` |
| Destructive         | No                    |

## Parameters [#parameters]

| Parameter   | Type          | Required | Notes |
| ----------- | ------------- | -------- | ----- |
| `from`      | string        | yes      |       |
| `to`        | string        | yes      |       |
| `projectId` | string (uuid) | no       |       |
| `userId`    | string (uuid) | no       |       |

## Input schema (JSON Schema) [#input-schema-json-schema]

```json
{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "/^\\d{4}-\\d{2}-\\d{2}$/"
    },
    "to": {
      "type": "string",
      "pattern": "/^\\d{4}-\\d{2}-\\d{2}$/"
    },
    "projectId": {
      "type": "string",
      "format": "uuid"
    },
    "userId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false
}
```

## Access control [#access-control]

A call succeeds only when the personal access token's scopes **and** the holder's role both allow `work:read` (effective permission = scope ∩ role, default-deny). The tool runs inside the token owner's organization — tenancy is never a parameter.
