Operate and scope
What runs, on which Mac, over which folders, and for whom: the job queue, profiles, models and access.
Some tools here are marked In the app. Granting a folder, creating an access token, moving the library and cloning a voice are things only you can do, in GroundSlate itself. An agent can read what it has access to, but it cannot give itself more.
The job queue
Check one background job by its job_id and return right away
Wait until a background job finishes, or until timeout seconds pass
Queue updates newer than after: queued, started, 25/50/75% progress, done, error and cancelled. Includes other agents' jobs, so you can see why yours is waiting
What is running, what is queued and in what order, and what finished recently, across all AI apps, with how long each kind of job has usually taken on your Mac
Queue a long job for later: tonight, in eight hours, at 2am
Everything scheduled to start later, soonest first, plus what ran recently
Cancel a scheduled job before it starts
Stop one job by job_id, running or queued, whichever AI app started it
Stop every running and queued job on this Mac, from every AI app
Set how many jobs run at once, from 1 to 3
Files in Scratch Outputs, newest first. Renders go here when you do not pass an out_path in a granted folder
The size of Scratch Outputs: {path, bytes, human, files}
Delete temporary files from Scratch Outputs. Data, Library Renders and Downloaded Media are never touched
Delete Scratch Outputs files automatically after a number of days
Ask the user what to keep. Suggests, file by file, whether to keep it for reuse, keep it with the project, or throw it away
Save the user's answer to suggest_keeps and act on it
What is using your disk, by type: source media, metadata, downloads, renders, scratch, design library, projects, catalog, and deleted files not yet cleared
The biggest files, largest first, optionally within one category or media type
Each drive the library uses: total space, free space, and how much GroundSlate uses
Where space can safely be freed, ranked by how safe it is first and size second
This Mac, and what may reach it
Say hello to GroundSlate. Called when the user pastes "tell GroundSlate MCP hello" from the app's setup screen, or says "tell GroundSlate hello"
Make a first video from one sentence, with no footage. Called when hello returns a first_video block, or whenever someone wants to see GroundSlate make something before anything is indexed. It renders a short film on your Mac and opens it for approval
The full documentation for one tool, beyond the short description an agent gets when it connects. For a first call to a tool, or after a refusal the agent does not recognise
A read-only view of access: server settings, default limits, every token with its usage, and the connected sessions
What your Mac has and what is missing: ffmpeg, Ollama and the chosen models, Playwright and Chromium for HTML rendering, and the face engine
Your Mac's memory right now: {total_gb, available_gb, used_pct}
How many tokens the local vision and reasoning models have used in this profile
Whether this install is ready, in one read-only call. The same check the first-run screen shows
The models available on the current engine (MLX by default, or Ollama) and which are selected
Choose the model used for indexing and analysis. A Hugging Face repo id from the curated list (such as mlx-community/gemma-4-12B-it-4bit) selects MLX; an Ollama tag selects Ollama
Choose the text model used for summaries
Tune the local vision engine to this Mac's speed. Use it when the log shows 'fallback'
You choose which folders agents may use, in the app under Data then Allowed Folders
Where GroundSlate saves the files it makes
You create access tokens yourself, in the app's Access/Server settings
Every access token with its usage (calls, minutes, last seen), limits and live sessions. Read-only
You revoke access tokens yourself, in the app's Access/Server settings
You set token limits yourself, in the app's Access/Server settings
Opening the server to your local network (0.0.0.0) instead of this Mac only is your choice, made in the app's Access/Server settings
Set what happens when media is unavailable
You set how long the activity log is kept, in the app under Config then Data then Activity expiry
You move the library yourself, in the app's Data Home settings
You move Downloaded Media yourself, in the app
You move Library Renders yourself, in the app
You move Scratch Outputs yourself, in the app
List your profiles. Each is a separate, self-contained library (clips, people, relationships, events, projects, watch folders) in its own folder
Create a new empty profile, for example to keep family footage apart from a YouTube channel. Does not switch to it
Make a profile active by id (prof_…) or name. Every tool then uses it, and the app on screen switches too
Change a profile's name. Its id and folder stay the same, so nothing breaks
Archive a profile. Nothing is deleted: its folder moves to <library>/.archived-profiles/ and can be moved back to restore it
Set, replace or clear a profile's picture in the profile switcher
Faces that detection skips because someone blocked them, as in the People page's "Blocked faces"
Remove one block by its bid, so matching faces are recognized again
Remove many blocks at once. With no source, clears every block except ghosts that can be restored (use restore_person for those)
Keep an at-risk block but stop the app's warning about it, by bid
Turn a clip's GPS into a place name, offline and private, using a built-in list of cities
Fix place labels that name the wrong city, without re-indexing
Your own service keys
The keys you added in the app, under Data then Provider Keys, by name, with the hosts, methods and upload size each allows. Never the key itself. Keys belong to the profile they were added in, and switching off the Provider gateway on that tab stops them all
Call a web service with one of your keys. GroundSlate attaches the key on the way out and refuses any reply that echoes it back. A clip or file from the library can be the upload. Text and JSON replies come back, up to a size limit; a reply that is a file does not
Check on a provider_request that is still running
Web capture
Read your web capture settings: whether it is on, the site mode, and the site lists
Ask you to allow web capture of a site. This grants nothing by itself
Only you can approve a site request
Only you can allow a site, in the app
Only you can block a site, in the app
Only you can turn web capture on or off
Only you can choose the site policy: block all, allow all, or a list