Reference

Utilities

Identity, family overview, projects, and health.

Utility tools your agent calls for context, identity, and health. None of these mutate state.

family.query_overview

Read the family roster. The first call in most workflows.

Scope: family:read

Parameters

NameTypeRequiredDescription

Request example

JSON
{
  "method": "tools/call",
  "params": {
    "name": "family.query_overview",
    "arguments": {}
  }
}

Returns. { parents: [{ userId, name, ... }], kids: [{ childId, name, birthDate, age, ... }], familyId }

Response example

JSON
{
  "result": {
    "familyId": "fm_1a...",
    "parents": [
      { "userId": "us_72...", "name": "Jordan" }
    ],
    "kids": [
      { "childId": "a4b9-...", "name": "Jay", "birthDate": "2018-03-14", "age": 8 }
    ]
  }
}

Notes. Resolve kid names → ids in this response; never hardcode UUIDs.

project.list

List canvas-workshop projects visible to the family. Read-only; external agents cannot create projects.

Scope: project:read

Parameters

NameTypeRequiredDescription
cursor / limitvariousnoStandard pagination.
includeArchivedbooleannoDefault false.

Request example

JSON
{
  "method": "tools/call",
  "params": {
    "name": "project.list",
    "arguments": {}
  }
}

Returns. { items: ProjectSummary[], nextCursor }

Response example

JSON
{
  "result": {
    "items": [
      {
        "projectId": "pr_4d...",
        "name": "Multiplication drills",
        "canvasCount": 3,
        "updatedAt": "2026-05-22T10:00:00Z"
      }
    ],
    "nextCursor": null
  }
}

project.get

Fetch one project with its current canvases.

Scope: project:read

Parameters

NameTypeRequiredDescription
projectIdstringyesThe project.

Request example

JSON
{
  "method": "tools/call",
  "params": {
    "name": "project.get",
    "arguments": { "projectId": "pr_4d..." }
  }
}

Returns. Project (with canvas list)

Response example

JSON
{
  "result": {
    "projectId": "pr_4d...",
    "name": "Multiplication drills",
    "canvases": [
      { "canvasId": "cv_19...", "name": "Times 2" },
      { "canvasId": "cv_1a...", "name": "Times 3" }
    ]
  }
}

Notes. chatId on the response is server-internal routing data; do not echo to the user.

mcp.whoami

Identity and authorization state of the current MCP token.

Scope: (no scope)

Parameters

NameTypeRequiredDescription

Request example

JSON
{
  "method": "tools/call",
  "params": { "name": "mcp.whoami", "arguments": {} }
}

Returns. { user_id, app_id, sprout_scopes: string[] }

Response example

JSON
{
  "result": {
    "user_id": "us_72...",
    "app_id": "ap_99...",
    "sprout_scopes": ["family:read", "task:write", "skill:write", "canvas:write", "heartbeat:write", "screentime:approve", "gems:adjust"]
  }
}

Notes. Use to confirm scopes after connect; if expected scopes are missing, prompt the parent to reconnect.

mcp.health

Server-side health check. Returns { ok: true } on healthy.

Scope: (no scope)

Parameters

NameTypeRequiredDescription

Request example

JSON
{
  "method": "tools/call",
  "params": { "name": "mcp.health", "arguments": {} }
}

Returns. { ok: boolean, version, region }

Response example

JSON
{
  "result": { "ok": true, "version": "2026.05.23", "region": "fra1" }
}

See also