Glossa lets ChatGPT work with one project on your computer, using the files and development tools already there.
Use it when a task depends on local state such as an existing checkout, uncommitted changes, build tools, test databases, emulators, or generated files. Glossa is not another model or coding agent. ChatGPT handles the conversation and reasoning; Glossa provides controlled access to the local project.
Install the CLI with Node.js 22.9 or newer:
npm install --global @ariobarin/glossaAdd this MCP server to ChatGPT using OAuth:
https://mcp.glossa.sh/mcp
Then open a terminal in the project and start Glossa:
glossaThe first time a computer runs Glossa, it shows a short pairing code. Enter it on the Glossa control panel from any browser to enroll the computer; a headless or SSH-only machine needs no local browser. The CLI stores only its revocable device credential, not a Google or Auth0 refresh token.
Follow the quickstart for the complete connection flow. Self-contained installers are covered in the operations guide.
| Profile | Read files | Edit files inside the project | Run local commands |
|---|---|---|---|
read-only |
Yes | No | No |
workspace (default) |
Yes | Yes | No |
system |
Yes | Yes | Yes |
The default is useful for most code changes because it permits guarded file edits without command execution.
systemis not sandboxed. Commands have the full environment, credentials, filesystem permissions, and network access of the operating-system account that started Glossa. They are not confined to the selected project.
Expose only a narrow project you trust. Keep credentials and regulated or otherwise sensitive data out of the workspace. See Security and permissions before enabling system.
ChatGPT
-> OAuth-protected Glossa relay
-> outbound worker running on your computer
-> one folder you selected
The worker initiates the connection, so Glossa does not require an inbound port. The relay routes authenticated requests to the active worker and does not store a repository copy.
Press d in the worker terminal to list and revoke the account's devices, and q or Ctrl+C to disconnect the workspace immediately.
glossa unpair
glossa update --checkStructured file tools stay inside the selected root and reject absolute paths, parent traversal, and linked-path escapes. The relay and local worker both enforce the selected access profile. The system warning above describes the separate command boundary.
Read the public security overview, technical threat model, and private reporting policy for details.
Node.js 22.9 or newer and Docker are required:
npm run dev:setup
npm run devStop local Postgres with npm run dev:down.
The full flow — pairing, device management, MCP, and a live worker — runs locally without touching the production tenant or relay:
npm run integration:smokeThe harness starts a local development issuer, boots the relay against local Postgres, pairs a throwaway device, and round-trips an MCP read_file through a live worker before revoking the device.
For manual end-to-end work, run the development issuer and the relay in separate terminals:
npm run dev:auth # prints the relay .env and CLI environment values
npm run devPoint the CLI at the local stack with the printed environment values. The development issuer signs any requested identity and auto-approves pairing; never deploy it.