OneContext MCP
LLM代理的Git风格上下文控制(GCC)。转发是通过将有界的提交范围导出到段中并共享段id来完成的。
本项目MCP从以下方面提出了想法:
- Git上下文控制器(GCC):COMMIT/BRANCH/MERGE/Context
- (可选)导入一段代理历史(例如,Codex
sessions/*.jsonl)成为可共享的细分市场
它的作用
- 创建并维护
.GCC/当前工作目录中的目录。 - 提供MCP工具以:
- 初始化上下文存储 - 创建/签出分支 - 提交里程碑 - 合并分支 - 列表/搜索提交(选择一个范围) - 将有界提交范围导出到段中(事件+转录) - 在多个粒度上检索上下文 - (可选)导入一片Codex *.jsonl 将会话文件转换为片段(事件+文字记录)
- 公开MCP资源,以便另一个代理可以通过id读取提交(
onecontext://gcc/commit/{id})或导出段(onecontext://segment/{id}/...).
文件布局
.GCC/
main.md
state.json
branches/
main/
commit.md
commits.jsonl
log.jsonl
metadata.yaml
/
...
segments/
/
meta.json
transcript.md
events.jsonl
blobs/
.txt安装
npm i
npm run build作为包安装(私有、GitHub包)
此仓库配置为以以下方式发布到GitHub包 @pangyuanbo/onecontext-mcp.
- 配置npm auth(示例):
npm config set @pangyuanbo:registry https://npm.pkg.github.com你的 ~/.npmrc 还必须包含一个身份验证令牌,例如:
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}令牌必须具有 read:packages 许可。
- 安装(全局)或通过npx运行:
npm i -g @pangyuanbo/onecontext-mcp
# or:
npx @pangyuanbo/onecontext-mcp运行(MCP stdio)
node dist/index.jsMCP工具
gcc-initgcc-branchgcc-checkoutgcc-commitgcc-mergegcc-contextgcc-list-commitsgcc-search-commitsgcc-exportforward-codex-session-segment(可选助手)
MCP资源
onecontext://aboutonecontext://instructionsonecontext://gcc/mainonecontext://gcc/stateonecontext://gcc/branchesonecontext://gcc/commit/{id}onecontext://gcc/branch/{branch}/commitonecontext://gcc/branch/{branch}/commitsonecontext://gcc/branch/{branch}/log/{tail}onecontext://gcc/branch/{branch}/metadataonecontext://segment/{id}/metaonecontext://segment/{id}/transcriptonecontext://segment/{id}/eventsonecontext://segment/{id}/blob/{sha256}
备注
- 此服务器在磁盘上存储纯文本/JSON工件。它故意这样做 不 连锁店思维。
- 大型工具输入/输出被截断;在使用时
forward-codex-session-segment,原始的大型有效载荷也可以保存为blobs.GCC/segments//blobs/.
