GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
제작자가 쓴 설명(영어 원문)
Compress logs, retrieval chunks, and code context into structured LLM-ready signal.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"context-engine": {
"command": "uvx",
"args": [
"melonelish-context-engine"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add context-engine -- uvx melonelish-context-engine프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"context-engine": {
"command": "uvx",
"args": [
"melonelish-context-engine"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"context-engine": {
"type": "stdio",
"command": "uvx",
"args": [
"melonelish-context-engine"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 melonelish 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.0)은 4개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: GitHub, Desktop Commander, Cloudflare MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
把噪声日志、检索片段和代码上下文,压缩成大模型更容易使用的高信号输入。
面向 Agent 工作流、RAG 管线、AI Coding 助手的任务感知 Context Compression Layer。
PyPI · GitHub · MCP Registry
很多 Agent / RAG / AI Coding 系统的问题,不是“没有上下文”,而是“上下文太脏、太长、太乱”。
日志里有大量重复 heartbeat 和 retry;RAG 检索结果里混着相关与不相关 chunk;代码修复场景里,模型经常拿到一堆文件,却缺少最小修复线索。
Context Engine 解决的是这个中间层问题:
在把内容交给大模型之前,先按任务类型压缩、排序、去噪,并输出结构化的高信号上下文。
它不是普通摘要工具,而是一个更偏工程化的上下文整理层。
| 场景 | 直接丢给模型 | Context Engine |
|---|---|---|
| 长日志 / traceback | 复制全部日志,或者简单截断 | 保留疑似根因、traceback 尾部,折叠重复噪声 |
| RAG 检索结果 | 按检索顺序塞入所有 chunk | 围绕用户问题重新排序,区分高信号与低信号证据 |
| AI Coding 修复 | 把附近文件全部塞进去 | 根据 issue / test output 排序 hotspot file |
| 输入异常 | 抛原始 traceback | 返回结构化错误、错误码和修复提示 |
| Token 不够 | 从头或从尾硬切 | 在标准化和去重后按预算裁剪 |
核心理念:先把上下文变成可解释、可预算、可消费的结构,再交给 LLM。
flowchart TB
classDef input fill:#fff7d6,stroke:#d99b00,stroke-width:2px,color:#5c3b00; classDef core fill:#e7f1ff,stroke:#2563eb,stroke-width:2px,color:#123c8c; classDef mode fill:#eaf8ef,stroke:#1f8a4c,stroke-width:2px,color:#0f4f2b; classDef output fill:#f5ecff,stroke:#7c3aed,stroke-width:2px,color:#3f1d7a;
subgraph Inputs["输入层"] CLI["CLI 本地文件 / 示例"]:::input SDK["Python API CompressionRequest"]:::input MCP["MCP Tool compress_context"]:::input end
subgraph Core["核心 Pipeline"] Validate["输入校验 schema + size guard"]:::core Normalize["标准化 ContextItem list"]:::core Dedupe["去重 重复内容折叠"]:::core Budget["预算控制 small / medium / large"]:::core end
subgraph Compressors["任务感知压缩器"] Logs["logs root cause + traceback"]:::mode Rag["rag question-aware evidence"]:::mode Code["code hotspot files + failure signal"]:::mode end
subgraph Outputs["输出契约"] Result["ok: true summary + key facts + llm_ready_context"]:::output Error["ok: false error_code + hint + details"]:::output end
CLI --> Validate SDK --> Validate MCP --> Validate Validate --> Normalize --> Dedupe --> Budget Budget --> Logs Budget --> Rag Budget --> Code Logs --> Result Rag --> Result Code --> Result Validate --> Error
sequenceDiagram
autonumber participant U as 用户 / Agent participant C as CLI / MCP / SDK participant V as Validator participant P as Pipeline participant M as Mode Compressor participant O as Output Envelope
U->>C: 提交 logs / rag / code 输入 C->>V: 校验字段、大小和模式 V->>P: 标准化为 ContextItem P->>P: 去重、排序、预算裁剪 P->>M: 进入任务压缩器 M->>O: 生成 summary / key_facts / llm_ready_context O-->>U: 返回结构化结果或结构化错误
logs 模式面向长日志、重复日志、异常栈和混合噪声。
| 能力 | 说明 |
|---|---|
| 根因提取 | 优先保留 error、exception、failed、fatal 等关键行 |
| Traceback 保留 | 保留更接近根因的 traceback 尾部 |
| 噪声折叠 | 把重复 heartbeat、poll、retry、duplicate line 归并成计数 |
| LLM-ready 输出 | 生成可以直接放进诊断或修复 prompt 的上下文块 |
rag 模式接收 question 和 chunks,把检索结果从“按召回顺序堆叠”变成“围绕问题排序”。
| 分层 | 含义 |
|---|---|
HIGH | 与问题重叠度高,可能直接支持回答 |
SUPPORT | 有帮助但不是核心证据 |
| Low signal | 相关性弱,不应该占据主要上下文窗口 |
code 模式接收 issue、可选 test_output 和 files,用于给 AI Coding 助手准备更聚焦的修复输入。
| 信号 | 作用 |
|---|---|
| Issue terms | 保留用户描述的问题焦点 |
| Failure terms | 把测试失败、异常信息和候选文件关联起来 |
| Hot path hints | 对 test、parser、pipeline、service、validator 等路径加权 |
| Supporting files | 保留辅助上下文,但不让它淹没主线 |
同一套压缩逻辑可通过三种方式使用:
| 入口 | 用途 |
|---|---|
| Python API | 集成到自己的包或服务里 |
| CLI | 本地处理日志、样例和脚本任务 |
| MCP Server | 接入支持 MCP 的 Agent / IDE / 自动化环境 |
| 项目 | 要求 |
|---|---|
| Python | 3.11 到 3.13 |
| 包管理器 | pip |
| MCP 运行时 | 可选,通过 mcp extra 安装 |
python -m venv .venv
.venv\Scripts\Activate.ps1 python -m pip install -e .[dev,mcp]
从 PyPI 安装发布包:
python -m pip install "melonelish-context-engine[mcp]"
python -m pytest -q
context-engine --mode logs --input examples/logs/sample.log --budget medium context-engine --mode rag --input examples/rag/sample.json --budget medium context-engine --mode code --input examples/code/sample.json --budget medium
context-engine --mode logs --input examples/logs/sample.log --budget small
context-engine --mode rag --input examples/rag/sample.json --budget medium context-engine --mode code --input examples/code/sample.json --budget large
2026-07-03 10:01:12 ERROR payment.worker failed to charge order
Traceback (most recent call last): ... ValueError: missing customer_id
{
"question": "Why did checkout fail?", "chunks": [ { "content": "Checkout fails when customer_id is missing.", "metadata": {"source": "runbook.md"} } ] }
{
"issue": "Checkout test fails when customer_id is omitted.", "test_output": "ValueError: missing customer_id", "files": [ { "path": "src/payments/checkout.py", "content": "def checkout(order): ..." } ] }
通过 stdio 启动 MCP Server:
context-engine-mcp
当前暴露一个工具:
| 工具 | 参数 | 功能 |
|---|---|---|
compress_context | mode、budget、content 或 payload | 压缩 logs / rag / code 上下文 |
示例错误返回:
{
"ok": false, "error": { "error_code": "invalid_field", "message": "Field 'chunks' must be a non-empty list.", "hint": "Provide at least one item in 'chunks'." } }
CLI 和 MCP 都返回统一结构:
| 结果 | 结构 |
|---|---|
| 成功 | { "ok": true, "result": ... } |
| 失败 | { "ok": false, "error": { "error_code": "...", "message": "...", "hint": "...", "details": ... } } |
成功结果会包含 schema version、summary、key facts、被丢弃或降权的噪声,以及 llm_ready_context。
当前内置限制:
| 限制项 | 当前值 |
|---|---|
| 单段文本最大长度 | 200000 字符 |
| 结构化列表最大数量 | 64 项 |
| 输入文件最大大小 | 2000000 bytes |
| Schema version | 1.0 |
这些限制用于避免外部工作流把任意超大 payload 直接打进工具。
3.11 到 3.13logs / rag / code 三种模式compress_context 暴露 MCP 工具Benchmark 资料位于:
当前样例集体现的行为:
| 模式 | 对比对象 | 当前效果 |
|---|---|---|
logs | 原始日志 / 简单截断 | 保留根因,折叠重复噪声 |
rag | 直接 dump 检索 chunk | 围绕问题排序证据 |
code | 普通文件摘要 | 保留 issue、失败信号、hotspot file 和支持上下文 |
v0.1.0 的 benchmark 还很小,适合作为回归检查和展示样例,不代表完整生产评测。
python -m pip install -e .[dev,mcp]
python -m pytest -q python benchmarks/generate_benchmarks.py
CI 会在 push 和 pull request 时运行安装、测试和 benchmark 生成检查。
当前版本目标:v0.1.0
已发布渠道:
这个版本适合早期外部试用、集成测试和开发者工作流验证。它已经具备可复用包结构、测试、文档,以及可直接安装的 PyPI / MCP Registry 发布入口,但仍然是范围明确的早期 beta。
本项目采用 MIT License。