Your agent is a folder: instructions, connections, secrets, workflows. Served over MCP, used from Claude Code, Claude Desktop, Codex, or Cursor.
gcontext ships no chat loop and no LLM client. The runtime you attach does the reasoning; gcontext keeps the state.
Scaffold the state folder. Plain files, ready to edit and version with git.
One local HTTP server exposes the folder over MCP. Clients are logged as they connect. Ctrl+C disconnects everything.
Connect a client once, from any directory. gcontext connect prints the exact steps for claude, desktop, codex, and cursor.
Markdown holds the context, YAML holds the config. You build it, you version it with git, it's yours. Edit any file with a text editor; the server reads on demand, so changes apply immediately.
Connected clients get six tools: overview, read_context, write_context, run_script, list_connections, flows.
gcontext context lists every channel through which context reaches the agent: loaded, on demand, skipped, or uncontrolled. gcontext only inserts context through the channels on that list. Nothing reaches the agent invisibly.
The agent sees secret names; secrets.env holds the values. On run_script, values are injected as environment variables and scrubbed from the output. write_context refuses to touch secrets.env.
Steps declare the files they need and produce. Status is computed from the filesystem, like make. There is no engine and no stored run state: completing a step is writing the files it declares.