AI apps on your computer can use Glaze over MCP: your courses, to-dos and schedule, grades, assignments and rubrics, and Writer documents. Agent access is off by default. You allow each app and each kind of data in a Glaze window, and every change waits for your OK there. Glaze’s built-in agent tools never submit work.
Turn it on
- Get the helper (below).
- In Glaze, open Settings → AI → Agents and turn on the switch. On Chrome, Edge and the other Chromium browsers, the browser asks to let Glaze start the helper. Firefox asks for that and for sharing website content, in one prompt.
- Connect your app (below).
- Ask it something, like “what’s due this week?”. Glaze opens its window: allow the app.
The first time in Chrome, Settings shows Starting… for up to a minute, until Chrome restarts Glaze’s background worker.
The helper
Apps reach Glaze through a helper program on the same computer. It opens no network connections and relays messages in memory without saving their contents to disk.
- npm:
npx glaze-mcp setup, with Node.js 18 or later. Its version follows Glaze’s. It sets up every supported browser it finds; run it again after installing another.npx glaze-mcp uninstallremoves owned setup files and unchanged copies. Details: glaze-mcp. - App bundle: releases include
glaze-mcp-<version>.mcpbfor apps that install MCP bundles. Open it in your app. With Set up browsers on (the default), it sets up browsers each time the app starts it. Browsers need a system Node.js 18 or later to start the helper. - Safari: the downloaded Glaze Mac app, from the GitHub
release or frostdev.io/glaze, is
Safari’s helper and starts by itself. The Mac App Store app has no agent access. Apps still connect with
npx -y glaze-mcpor the app bundle.
Connect an app
Add a stdio MCP server with the command npx and arguments -y glaze-mcp. For an app that uses mcpServers in its
configuration:
{ "mcpServers": { "glaze": { "command": "npx", "args": ["-y", "glaze-mcp"] } } }
Apps that install .mcpb bundles can open glaze-mcp-<version>.mcpb from the Glaze
release. Its Browser setting chooses the browser.
npx -y glaze-mcp connects to the browser that started its helper last. Add --browser <id> to choose one: chrome,
edge, brave, vivaldi, arc, chromium, firefox or safari.
What apps can use
| Group | Reads | Changes |
|---|---|---|
| Courses, to-dos and schedule | accounts_list, courses_list, todo_list, schedule_list |
todo_mark_done |
| Grades | grades_list, course_grades |
|
| Assignments and rubrics | assignments_list, assignment_read |
|
| Writer documents | documents_list, document_read, document_sources, document_assignment, document_issues |
citation_insert, fix_apply |
| The mod name | that mod’s tools |
- School data comes from what Glaze already read from your Canvas or Blackboard Ultra site, with when it read it. With that account’s school site open in this browser, Glaze attempts to refresh planner and Insights data first, at most once a minute per account and group; otherwise it uses the cache.
assignment_readreads an assignment’s instructions, attached file names and rubric in that open tab, never your scores or feedback. With no tab open it answers with the last read, dated.todo_mark_donemarks Glaze’s own list. With Tick off in Canvas too on, it marks your Canvas planner through the open Canvas tab.document_issues,citation_insertandfix_applyneed the document open in Writer.- With more than one school account, the app names which one.
The approval window
One Glaze window holds every request waiting for you and shows the oldest, with or without a school page open. It names the app as the app reports itself. On Chrome, Edge and Firefox, its program identity is also self-reported and unverified: macOS may report a bundle id, and Windows normally supplies no program path. Other programs under your user account can reach the helper; these identities are not proof of who an app is, so any program running as you can claim an app’s name and use what you allowed it. Don’t allow has the focus first.
- An app’s first request asks to pair it; Allow also gives it the group that request needs.
- A request for another group asks for that group.
- A change shows Glaze’s own sentence for it, from Glaze’s data, never the app’s words.
- Closing the window counts as Don’t allow. For a pairing or a group, Glaze remembers it and doesn’t ask again.
- With no answer in 10 minutes, nothing is done, and Glaze asks again next time.
- Some apps, Claude Desktop among them, stop waiting for an answer after about a minute. The window then closes and nothing is done; ask the app again.
- An app can have 5 requests waiting at once, 20 across all apps; more are refused as Busy.
Apps, groups and Revoke
Settings → AI → Agents → Apps has a card for each app: its name, its program, when it was paired and last used, and a switch for each group. Each installed mod with tools is a group of its own.
- A group turned off is asked for again at the app’s next request for it.
- Revoke forgets the app; its next request asks to pair again.
- An app you declined shows Declined and Forget, which lets Glaze ask again.
- Forget all apps clears the activity list and assignment reads and forgets every app, its groups and declines.
Turning the switch off ends every connection, cancels waiting requests, clears the kept assignment reads and gives back the optional browser permissions on Chrome, Edge and Firefox. The apps, groups, declines, activity and profile id stay. A change already started can finish. Removing a site clears its assignment reads; Reset everything clears them all while keeping agent access and grants. Neither uninstalls the helper. Helper uninstall empties the run folder, except a running helper’s run file, and leaves modified copies alone.
Activity
Activity lists the last 200 calls, newest first: the tool, the app, when, and how it ended (Done, Failed, Declined, Timed out, Interrupted, Refused, Busy, Cancelled or Invalid request), never what was asked or answered. Forget all apps clears this list.
Troubleshooting
Settings → AI → Agents shows the helper’s state, with Copy for a command.
| Helper state | Action |
|---|---|
| Ready | Connected. |
| Starting… | Wait; the first time in Chrome, up to a minute. |
| Allow Glaze to start the helper | Press Allow. |
| Restart your browser to start the helper | Quit the browser and open it again. |
| The helper is missing | Open the app bundle or run npx glaze-mcp setup. |
npx glaze-mcp setup --extension-id <id> |
The helper doesn’t let this copy of Glaze in, as with one loaded unpacked. Run the command shown. |
Update the helper: npx glaze-mcp@latest setup |
|
| Install Node.js 18+ for browsers to start the helper | Install Node.js, then restart your app or run npx glaze-mcp setup. |
The helper stopped; Glaze is retrying. npx glaze-mcp doctor says why. |
|
| Agent access in Safari needs the Glaze app from frostdev.io | Install the downloaded Mac app; the Mac App Store app has no agent access. |
| Update the Glaze app from frostdev.io | |
| The Glaze app stopped; Glaze is retrying. |
npx glaze-mcp doctor checks the helper’s folders, each browser’s setup, the Node.js each one starts, and whether a
browser has agent access on now. An app with no browser to reach says “waiting for Glaze” in its log.
In Safari, Glaze’s background sleeps a few minutes after you last use Glaze there, and an app’s request then times
out: open Glaze’s popup or a Blackboard or Canvas tab in Safari, then ask again.
When the browser restarts or agent access goes off and on, a connected app reconnects by itself, to the same browser profile, with its approvals. A request that was running then answers that the connection was interrupted: a change you had allowed may have been made, so check before asking again. A request made while Glaze is away waits up to 10 seconds.
Browsers
| macOS | Linux | Windows | |
|---|---|---|---|
| Chrome, Edge, Brave, Vivaldi, Chromium | Yes | Yes | Yes |
| Arc | Yes | — | — |
| Firefox | Yes | Yes | Yes |
| Safari | The downloaded Mac app | — | — |
Phones and tablets have no agent access. Mods’ code tools need Chrome. On Linux, browsers installed as a snap or Flatpak aren’t supported: setup doesn’t set them up.
Mods
Mods can add tools behind the agents permission, listed one per line in the install prompt. Declarative tools work on
every browser with no school page open; code tools run in Chrome with a school page open, and every call to one waits
for your OK. A mod’s code tool can send the app’s arguments and data the mod may read to its approved hosts. The app’s
group grant does not narrow the mod’s permissions. See Mods API.
Privacy
Agent access sends no data to FrostDev. The app you connect may send what it gets to its own AI service, under that app’s own policy. What Glaze keeps for agent access, and what each button clears: Privacy policy: Agent access.
Also on Glaze's GitHub wiki.