Context Engine MCP server
✓ 인증됨노이즈가 많은 로그, RAG 검색 청크, 코드 컨텍스트를 LLM에 최적화된 구조화된 고신호 입력값으로 압축합니다.
다른 이름 melonelish/context-engine, context-engine, melonelish-context-engine
- 스타
- 324
- Tools
- —
- 다운로드, 30일
- 84
- 최신 버전
- 0.1.0
- 마지막 커밋
- 2026년 7월 11일
- 라이선스
- MIT
Context Engine MCP란?
Context Engine은(는) MCP server입니다. 노이즈가 많은 로그, RAG 검색 청크, 코드 컨텍스트를 LLM에 최적화된 구조화된 고신호 입력값으로 압축합니다.
프로젝트 README에서 생성된 요약
Context Engine MCP server 정보
Context Engine은 노이즈가 많거나 길고 무질서한 데이터를 대규모 언어 모델을 위한 구조화된 고신호 입력값으로 변환하도록 설계된 특화된 압축 레이어입니다. 이 엔진은 컨텍스트 제한을 효과적으로 관리해야 하는 AI 에이전트 워크플로우, RAG 파이프라인, AI 코딩 어시스턴트 개발자를 위해 구축되었습니다. 엔진은 로그, RAG 검색 청크, 코드 컨텍스트라는 세 가지 특정 유형의 데이터를 처리합니다.
사용자는 Python SDK, CLI 또는 compress_context 도구를 사용하는 MCP Server를 통해 시스템과 상호작용할 수 있습니다. 로컬에서 작동하며 Python 3.11에서 3.13 버전이 필요합니다. 시스템은 small, medium, large 설정을 통해 토큰 예산을 관리하며, 텍스트 세그먼트당 200,000자 제한 및 입력 파일 2,000,000바이트 제한과 같은 안전 제한을 적용합니다. 콘텐츠의 중복을 제거하고 근본 원인이나 관련 증거를 우선순위에 따라 배치함으로써 가장 중요한 정보만 모델에 전달되도록 보장합니다.
활용 사례
- 1노이즈가 많은 시스템 로그 정리개발자는 긴 트레이스백과 반복적인 하트비트 로그를 근본 원인에 집중한 간결한 요약본으로 압축할 수 있습니다.
- 2RAG 검색 결과 최적화AI 에이전트는 특정 사용자 질문과 직접적으로 관련된 증거를 우선하도록 검색된 문서 청크의 순서를 재정렬할 수 있습니다.
- 3토큰 예산 제약 관리사용자는 표준화된 중복 제거 및 예산 인지형 크로핑을 사용하여 대규모 데이터셋을 제한된 모델 컨텍스트 창에 맞게 조정할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Context Engine MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Claude Code에 Context Engine MCP 설치
$ claude mcp add context-engine -- uvx melonelish-context-engineCursor에 Context Engine MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"context-engine": {
"command": "uvx",
"args": [
"melonelish-context-engine"
]
}
}
}VS Code에 Context Engine MCP 설치
.vscode/mcp.json
{
"servers": {
"context-engine": {
"type": "stdio",
"command": "uvx",
"args": [
"melonelish-context-engine"
]
}
}
}VS Code CLI에 Context Engine MCP 설치
$ code --add-mcp '{"name":"context-engine","type":"stdio","command":"uvx","args":["melonelish-context-engine"]}'Claude Desktop에 Context Engine MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"context-engine": {
"command": "uvx",
"args": [
"melonelish-context-engine"
]
}
}
}Codex에 Context Engine MCP 설치
~/.codex/config.toml
[mcp_servers.context-engine] command = "uvx" args = ["melonelish-context-engine"]
Gemini CLI에 Context Engine MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"context-engine": {
"command": "uvx",
"args": [
"melonelish-context-engine"
]
}
}
}자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능melonelish/context-engine is public and reachablegithub.com/melonelish/context-engine ↗통과
- 패키지가 이 저장소를 소스로 명시melonelish-context-engine names melonelish/context-engine as sourcepypi.org/project/melonelish-context-engine/ ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for melonelish-context-enginepypi.org/project/melonelish-context-engine/ ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-07-11github.com/melonelish/context-engine ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from melonelish-context-engine통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음13 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Context Engine - 面向 Agent / RAG / AI Coding 的上下文压缩引擎
为什么需要 Context Engine
很多 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<br/>本地文件 / 示例"]:::input
SDK["Python API<br/>CompressionRequest"]:::input
MCP["MCP Tool<br/>compress_context"]:::input
end
subgraph Core["核心 Pipeline"]
Validate["输入校验<br/>schema + size guard"]:::core
Normalize["标准化<br/>ContextItem list"]:::core
Dedupe["去重<br/>重复内容折叠"]:::core
Budget["预算控制<br/>small / medium / large"]:::core
end
subgraph Compressors["任务感知压缩器"]
Logs["logs<br/>root cause + traceback"]:::mode
Rag["rag<br/>question-aware evidence"]:::mode
Code["code<br/>hotspot files + failure signal"]:::mode
end
subgraph Outputs["输出契约"]
Result["ok: true<br/>summary + key facts + llm_ready_context"]:::output
Error["ok: false<br/>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: 返回结构化结果或结构化错误
核心能力
1. logs:根因导向的日志压缩
logs 模式面向长日志、重复日志、异常栈和混合噪声。
| 能力 | 说明 |
|---|---|
| 根因提取 | 优先保留 error、exception、failed、fatal 等关键行 |
| Traceback 保留 | 保留更接近根因的 traceback 尾部 |
| 噪声折叠 | 把重复 heartbeat、poll、retry、duplicate line 归并成计数 |
| LLM-ready 输出 | 生成可以直接放进诊断或修复 prompt 的上下文块 |
2. rag:围绕问题的证据重排
rag 模式接收 question 和 chunks,把检索结果从“按召回顺序堆叠”变成“围绕问题排序”。
| 分层 | 含义 |
|---|---|
HIGH |
与问题重叠度高,可能直接支持回答 |
SUPPORT |
有帮助但不是核心证据 |
| Low signal | 相关性弱,不应该占据主要上下文窗口 |
3. code:最小修复上下文
code 模式接收 issue、可选 test_output 和 files,用于给 AI Coding 助手准备更聚焦的修复输入。
| 信号 | 作用 |
|---|---|
| Issue terms | 保留用户描述的问题焦点 |
| Failure terms | 把测试失败、异常信息和候选文件关联起来 |
| Hot path hints | 对 test、parser、pipeline、service、validator 等路径加权 |
| Supporting files | 保留辅助上下文,但不让它淹没主线 |
4. CLI + MCP 双入口
同一套压缩逻辑可通过三种方式使用:
| 入口 | 用途 |
|---|---|
| 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
CLI 使用
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
输入格式
logs:纯文本
2026-07-03 10:01:12 ERROR payment.worker failed to charge order
Traceback (most recent call last):
...
ValueError: missing customer_id
rag:JSON
{
"question": "Why did checkout fail?",
"chunks": [
{
"content": "Checkout fails when customer_id is missing.",
"metadata": {"source": "runbook.md"}
}
]
}
code:JSON
{
"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): ..."
}
]
}
MCP 使用
通过 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 直接打进工具。
当前已支持
- Python
3.11到3.13 logs/rag/code三种模式- 三种模式的 CLI 使用
- 通过
compress_context暴露 MCP 工具 - 纯文本日志输入
- JSON 格式的 RAG 和 code 输入
- 结构化成功 / 失败 envelope
- 基础 benchmark 和 GitHub Actions CI
暂不支持
- PDF、图片、Office 文件等二进制输入
- embedding-aware reranking
- 仓库级依赖图分析
- 跨未来大版本的长期兼容性承诺
- 生产级鉴权、持久化、监控和审计能力
Benchmark
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: https://pypi.org/project/melonelish-context-engine/
- MCP Registry: https://registry.modelcontextprotocol.io/v0/servers/io.github.melonelish/context-engine
这个版本适合早期外部试用、集成测试和开发者工作流验证。它已经具备可复用包结构、测试、文档,以及可直接安装的 PyPI / MCP Registry 发布入口,但仍然是范围明确的早期 beta。
Roadmap
- 引入 embedding 或 reranker 驱动的 RAG 排序。
- 加强 code hotspot 识别,加入更可靠的结构化代码信号。
- 扩展 benchmark,加入更多真实脏数据样本。
- 发布更易安装的正式包版本。
- 增加更多 Agent Runtime / MCP 集成示例。
License
本项目采用 MIT License。
Context Engine MCP 질문
Context Engine MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add context-engine -- uvx melonelish-context-engine를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Context Engine MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Context Engine은 어떤 모드를 지원하나요?
근본 원인 추출을 위한 logs, 질문 인지형 증거 재정렬을 위한 rag, 최소한의 수정 컨텍스트를 위한 code 등 세 가지 특화된 모드를 지원합니다.
MCP 클라이언트에서 Context Engine을 어떻게 사용하나요?
context-engine-mcp 명령어를 실행하여 compress_context 도구를 노출하는 MCP Server로 사용할 수 있습니다.
보안을 위한 입력 제한 사항은 무엇인가요?
엔진에는 단일 텍스트 최대 길이 200,000자, 구조화된 항목 최대 64개, 입력 파일 최대 크기 2,000,000바이트를 포함한 내장 제한이 있습니다.