AgentSkillsCN

Gcc

Gcc

SKILL.md

GCC Context Controller Skill

Summary

HTTP API server that implements the Git-Context-Controller (GCC) memory system from the paper, providing structured context management via COMMIT, BRANCH, MERGE, and CONTEXT operations with per-session isolation. Each session is backed by a git repo. Includes a stdio MCP proxy that forwards tool calls to the HTTP server.

When to use

  • You need long-horizon agent memory with checkpoints, branches, and merges.
  • You want a project-level, inspectable context log stored in a .GCC/ folder.

Tools

  • HTTP endpoints: /init, /branch, /commit, /merge, /context, /log, /history, /diff, /show, /reset (all accept optional session_id; default is "default")
  • MCP proxy tools (detailed): gcc_init initializes .GCC/sessions/<session_id>/, creates main.md and git repo
  • gcc_branch creates branch files and a git branch for isolated memory work
  • gcc_commit writes structured commit.md, updates log/metadata/main, and git commits
  • gcc_merge merges memory branches and updates main.md plus git merge
  • gcc_context reads project/branch/commit/log/metadata views
  • gcc_log appends OTA logs and commits them
  • gcc_history lists git history for memory checkpoints
  • gcc_diff diffs memory changes between refs
  • gcc_show shows memory files at a ref
  • gcc_reset resets memory to a ref (soft/hard)

Install

  • Python: pip install -e .
  • Run: uvicorn gcc_skill.server:app --host 0.0.0.0 --port 8000
  • Docker: docker volume create gcc_data && docker run --rm -p 8000:8000 -e GCC_DATA_ROOT=/data -v gcc_data:/data gcc-skill:latest
  • MCP: set GCC_SERVER_URL=http://localhost:8000 && gcc-mcp (auto session_id; override with GCC_SESSION_ID)

Notes

  • All operations write to a .GCC/ folder under the provided project root.
  • Sessions are isolated under .GCC/sessions/<session_id>/.
  • File structure follows the paper: main.md, branches/<branch>/commit.md, log.md, metadata.yaml.
  • Requires git on PATH.
  • Container mode should mount a volume and set GCC_DATA_ROOT to keep memory data.