Docs Join alpha
Model

The cast

Two agents drive. The Sprout apps surface it. Sprout Systems orchestrates.

Sprout is the operating system for the family. Two agents drive it: yours, over MCP, and Sprout's own. Sprout makes the day safe, scheduled, and kid-ready.

Your agent is the bridge to your home systems. The Sprout agent works the inside.

The cast

Five entities, grouped as two agents that drive, the Sprout apps that surface, and one platform that orchestrates.

LayerEntityWhat it does
AgentsYour agentOwns intent. Lives in your home systems. Talks to Sprout Systems over MCP.
The Sprout agentPowers the in-app agentic moments, especially for your kids. An accessible assistant within the Sprout apps for parents.
Sprout appsParent appOnboarding and setup; a surface to quickly view, respond to, and add things to Sprout Systems, with help from the Sprout agent.
Kid appWhere your kids experience Sprout. (More apps to come: villager, coach…)
OrchestratorSprout SystemsThe platform and the data underneath it all. Family state, the gem economy, the skill lifecycle, the screen-time gates. Routes between the agents and the apps.

Where the lines are drawn

The clean dividing line between the two agents is what they can reach.

Anything touching your home systems is exclusively your agent. Your integrations, your data, your external models. School portals, the family calendar, photos, your LMS, the day's plan, vision models, anything you bring from the outside. Sprout's agent doesn't reach out there.

The Sprout agent works inside Sprout Systems. Family state, the gem economy, the skill lifecycle, the screen-time gates, the inbox. It can read and write the platform on your behalf, but it doesn't have your credentials or your connections.

Two named worlds, two agents that bridge them: your home systems, and Sprout Systems.

Three failure modes you will hit

No scope

First-handshake OAuth typically misses canvas:* and skill:*. Your agent will try the canonical sequence the docs describe and get "tool not in catalog" or "requires scope(s) not granted." Fix: /mcp disconnect + reconnect, approve the new scopes.

Wrong family

Cross-family ids return PERMISSION_DENIED, deliberately indistinguishable from "not found" so partners cannot enumerate. Never hardcode UUIDs. Start every workflow with family.query_overview and resolve ids on the fly.

Authored but never delivered

You created a canvas and wrote a skill. The kid sees nothing. Authoring is not delivery. You also need a task.create (one-off) or heartbeat.create (recurring).

What to do next

Read Connect your agent to confirm your token has what it needs. Then Hello, family for the smallest useful first call. Then the lifecycle for the model you will use for everything else.

Try it

Shell
# Confirm your token, see your scopes
mcp.whoami
{
"user_id": "2f1bba9f-...",
"app_id": "7408ecc5-...",
"sprout_scopes": ["family:read", "task:write", "skill:write", "canvas:write", ...]
}
# If skill:* or canvas:* is missing, reconnect:
#   /mcp -> sprout -> disconnect -> connect

Further reading

Connect your agent Hello, family The skill lifecycle The object model

Was this page helpful?