Reference

Screen-time

All MCP tools for the screen-time triage surface.

The screen-time triage surface. Reading requests is cheap; reviewing requires the high-sensitivity screentime:approve scope.

screentime.list_requests

List screen-time requests.

Scope: screentime:read

Parameters

NameTypeRequiredDescription
status"pending" | "approved" | "denied" | "all"noDefault pending.
childIdstringnoFilter to one kid.
cursor / limitvariousnoStandard pagination.

Request example

JSON
{
  "method": "tools/call",
  "params": {
    "name": "screentime.list_requests",
    "arguments": { "status": "pending" }
  }
}

Returns. { items: ScreenTimeRequest[], nextCursor }

Response example

JSON
{
  "result": {
    "items": [
      {
        "requestId": "rq_8f...",
        "childId": "a4b9-...",
        "durationMinutes": 30,
        "reason": "finished my homework",
        "status": "pending",
        "createdAt": "2026-05-23T15:30:00Z"
      }
    ],
    "nextCursor": null
  }
}

screentime.query_state

Current consumption and remaining quota per kid.

Scope: screentime:read

Parameters

NameTypeRequiredDescription
childIdstringyesThe kid.
period"today" | "week"noDefault today.

Request example

JSON
{
  "method": "tools/call",
  "params": {
    "name": "screentime.query_state",
    "arguments": { "childId": "a4b9-...", "period": "today" }
  }
}

Returns. { childId, consumedMinutes, remainingMinutes, decisions: ScreenTimeDecision[] }

Response example

JSON
{
  "result": {
    "childId": "a4b9-...",
    "consumedMinutes": 25,
    "remainingMinutes": 35,
    "decisions": []
  }
}

screentime.review_request

Approve or deny a pending screen-time request. High-sensitivity scope. Confirm with parent before deny.

Scope: screentime:approve

Parameters

NameTypeRequiredDescription
requestIdstringyesThe pending request.
action"approve" | "deny"yesOutcome.
durationMinutesintnoOn approve. Defaults to the requested duration.
reasonstringnoRecommended on deny; surfaces to the kid.

Request example

JSON
{
  "method": "tools/call",
  "params": {
    "name": "screentime.review_request",
    "arguments": {
      "requestId": "rq_8f...",
      "action": "approve",
      "durationMinutes": 30
    }
  }
}

Returns. { requestId, status, grantedMinutes }

Response example

JSON
{
  "result": {
    "requestId": "rq_8f...",
    "status": "approved",
    "grantedMinutes": 30
  }
}

See also