内容
align="center">
# 上下文优先CP
**让保持接地气、连贯性和诚实 — 在每一次对话中。**
[](https://www.npmjs.com/package/context-first-mcp)
[](https://www.npmjs.com/package/context-first-mcp)
[](LICENSE)
[](https://protocol.io)
[
[](https://glama.ai/mcp/servers)
[](https://nodejs.org)
[](https://www.typescriptlang.org)
```bash
npx context-first-mcp
```
*与Claude Desktop · Cursor · VS Code · 任意MCP客户端 · Vercel远程服务器即时兼容 — 无需API密钥。*
</div>
---
> **37个研究支持的工具**,涵盖7个层次 — 上下文健康、状态、沙盒、持久内存、高级推理、真实性验证、编排、结构化研究和自主文件导出。一个`context_loop`调用取代6-7个独立工具,并返回一个统一的操作指令。
---
## 为什么您的AI对话会中断
长时间的AI对话会以可预测的方式失败。上下文优先解决了这四个问题:
| 失败模式 | 问题所在 | 上下文优先解决方案 |
|---|---|---|
| **上下文漂移** | AI随着对话的增长,忘记早期的决定和意图 | `context_loop` + `detect_drift` 持续重新锚定每一次对话 |
| **沉默的矛盾** | 新输入静默地覆盖已建立的事实 — AI没有注意到 | `detect_conflicts` 将每个输入与锁定的基本事实进行比较 |
| **模糊执行** | AI根据不明确的要求进行,产生不匹配的输出 | `check_ambiguity` + `abstention_check` 提出澄清问题,而不是猜测 |
| **幻觉成功** | 工具输出*看起来*成功,但实际上并未实现目标 | `verify_execution` 重新检查结果是否与预期意图匹配 |
---
## 您将获得
**37个可立即使用的工具**,分为7个层次 — 加上1个编排器来运行所有这些工具:
```
context_loop ─────────────────────────────────────────────────────────────────
├─ 层1 · 上下文健康 (9) recap, conflict, ambiguity, depth …
├─ 层2 · 沙盒 (3个工具) discover_tools, quarantine, merge
├─3 · 持久内存(6个工具) store, recall, compact, graph …
├─ 层4 · 高级推理(5个工具) InftyThink, Coconut, KAG, MindEvo …
├─ 层5 · 真实性 (7个工具) NCB, IOE, verify_first, self_critique…
└─ 状态 + 研究流程 + 导出 (7个工具)
```
**一次调用。一个指令。一个分数。**
```json
{
"directive": {
"action": "clarify",
"context 0.62,
"instruction": "与用户解决:(1)这是一个明确的要求吗?(2)使用哪个框架?",
"autoExtractedFacts": { "deploy_to": "Vercel" },
"suggestedNextTools": ["verify_execution", "quarantine_context"]
}
}
```
---
## 快速入门
### npx — 零安装
```bash
npx context-first-mcp
```
### 克劳德桌面
```json
{
"mcpServers": {
"context-first": {
"command": "npx",
"args": ["-y", "context-first-mcp"]
}
}
}
```
### 游标 / VS```json
{
"mcp": {
"servers": {
"context-first": {
"command": "npx",
"args": ["-y", "context-first-mcp"]
}
}
}
}
```
### 远程(可流式HTTP)
```json
{
"mcpServers": {
"context-first": {
"url": "https://context-first-mcp.vercel.app/api/mcp"
}
}
}
```
### 部署您自己的Vercel实例
[](https://vercel.com/new/clone?repository-url=https://github.com/XJTLUmedia/Context-First-Mroot-directory=packages/remote-server)
---
##参考
### 层1:核心上下文健康(9个工具)
| 工具 | 目的 |
---------|
| `context_loop` | **一次性编。** 运行8个阶段(ingest→recap→conflict→ambiguity→entropy→abstention→discovery→synthesis),并返回带有`action`、`contextHealth`分数、提取的事实和建议的下一个工具的单个`directive` |
| `recap_conversation` | 提取隐藏的意图、关键决策,并生成合并的状态摘要 |
| `detect_conflicts` | 将新输入与基本事实进行比较;揭示| `check_ambiguity` | 确定未并生成澄清问题 |
| `verify_execution 验证工具输出是否实际实现了预期的目标 |
| `entropy_monitor` | 通过词汇多样性、矛盾密度、 hedge频率和n-gram重复(ERGO)进行代理熵评分 |
| `abstention_check` | 5维置信度评分 — 用问题代替(RLAAR) |
| `detect_drift` | 检测对话漂移与原始意图 |
| `check_depth` | 评估响应深度与问题复杂性 |
### 层1b:状态管理(4个工具)
| 工具 | 目的 |
|------|---------|
| `get_state` | 检索确认的事实和任务状态 |
| `set_state` | 锁定基本事实 — 随后的冲突检查将运行这些值 |
| `clear_state` | 重置特定键或所有状态 |
| `get_history_summary` | 压缩的对话历史记录,带有意图注释 |
### 层2:沙盒(3个工具| 工具 | 方法 | 目的 |
|------|--------|---------|
| `discover_tools` | MCP-Zero + ScaleMCP | 自然语言工具路由 — 仅返回语义相关的工具,减少上下文膨胀高达98% |
| `quarantine_context` | 多智能体隔离 | 为子任务创建隔离的内存隔离,防止意图稀释 |
merge_quarantine` | 多智能体隔离 | 合并隔离结果并进行噪声过滤 — 只有已推广的键返回到主上下文 |
### 层3:持久内存(6个工具)
| 工具 | 目的 |
|------|---------|
| `memory_store` | 存储发现、决策和中间结果以及元数据 |
| `memory_recall` | 通过语义查询检索相关记忆 |
| `memory_compact` | 压缩和合并内存条目 |
| `memory_graph` | 从存储的记忆中构建和查询知识图谱 |
| `memory_inspect` | 检查内存存储内容和统计信息 |
| `memory_curate` | 删除重复和组织内存条目 |
### 层4:高级推理(5个工具)
| 工具 | 方法 | 目的 |
|------|--------|---------|
| `inftythink_reason` | InftyThink | 具有自适应停止的无限深度推理 |
| `coconut_reason` | Coconut | 潜在空间中的连续思维链 |
| `extracot_compress` | ExtraCoT | 在保留推理保真度的情况下压缩思维链 |
| `mindevolution_solve` | MindEvolution | 解决方案空间的进化搜索 |
| `kagthinker_solve` | KAG-Thinker | 具有结构化增强生成 |
###:真实性和7个工具) 工具 | |------|---------|
| `probe_internal_state`探测模型在转述提示下的一致性 |
detect_truth_direction`检测模型的推理是否趋向或远离真相 |
| `ncb_check` | 邻域一致,适用于语义输入 |
| `check_logical_consistency` | 验证推理链的逻辑一致性 |
| `verify | 在承诺之前进行预验证 |
| `ioe_self_correct` | 内在-外在自我纠正 |
| `self_critique` | 带有改进建议的结构化自我批评 |
### 研究流程和导出(2个工具)
| 工具 | 目的 |
|------|---------|
| `research_pipeline` | 跨`init → gather → analyze → verify → finalize`的结构化研究编排。涵盖所有34个底层工具等效项 — 状态、沙盒、内存、推理、真实性、上下文健康。**在流程运行时将文件自主写入磁盘**,无需LLM合作即可输出文件。 |
| `export_research_files` | 将每个已验证块和/或证据批次写入磁盘,单次调用。 |
---
## 构建于同行评审研究
每个都追溯到论文:
| 论文 | arXiv | 工具 |
-------|-------|------|
| MCP-Zero | 主请求 | [2506.01056](https://arxiv.org/abs/2506.01056) | `discover_tools` |
| ScaleMCP | 语义工具分组 | [2505.06416](https://arxiv.org/abs/2505.06416) | `discover_tools` 注册表 |
| ERGO | 基于熵的质量 | [2510.14077](https://arxiv.org/abs/2510.14077) | `entropy_monitor` |
| RLAAR | 校准放弃 | [2510.18731://arxiv.org/abs/2510.18731) | `abstention_check` |
**实现:**
- **代理熵(ERGO 4个响应级(词汇多样性、矛盾密度、 hedge词频率和n-gram访问的令牌级对数概率分数超过阈值会触发自适应上下文重置。
- **TF-IDF发现(MCP-Zero):** 纯TypeScript,无外部依赖。启动时索引所有工具描述;余弦相似度将查询路由到仅限于前k个相关工具。
- **推理时放弃(RLAAR):** 5维置信度评分取代强化学习训练循环。当置信度 < 阈值时,用有针对性的问题放弃 — 无幻觉回退。
### 导出助手(1个工具)
| 工具 | 描述 |
|------|-------------|
| `export_research_files` | 直接将研究工件写入磁盘。它可以自动扩展和写入每个的报告块,无需LLM手动循环`finalize`,还可以写入每个收集的原始证据批次,即使`verify`未通过。 |
#### context_loop 管道
```
context_loop(单个MCP工具调用)
├── 阶段 1:INGEST — 将消息存储到会话历史记录
├── 阶段 2:RECAP — 提取意图、决策、摘要
├── 阶段 3:CONFLICT — 检测与基本冲突
├── 阶段 4:AMBIGUITY — 检查未指定的要求
├── 5:ENTROPY — 监控下降(ERGO)
├── 阶段 6:ABSTENTION — 多维置信度检查(RLAAR)
├── 阶段 7:DISCOVERY — 建议相关工具(MCP-Zero)
└── 阶段 8:SYNTHESIS — 结合信号 → 操作建议 + LLM指令
```
**合成优先级:** `abstain` > `reset` > `clarify` >ceed`
每个阶段都具有独立的错误隔离 — 某个阶段的故障不会阻止其他阶段。结果包括每个阶段的计时、状态和详细结果,以进行可观察性。
#### LLM 指令(新)
`context_loop` 响应包含一个顶级 `directive` 对象,设计用于LLM消费紧凑、操作性的指令,取代了套阶段结果的
```json
"directive": {
"action":ify",
"instruction在继续之前,请与用户解决以下问题:\n1. 您能否明确您所指的内容?\n2. 这是一个明确的要求还是仍在讨论中?",
"questions": ["您能否明确您所指的内容?", "这是一个明确的要求吗?"],
"contextHealth": 0.62,
"autoExtractedFacts": { "framework": "React", "deploy_to": "Vercel" },
"suggestedNextTools": ["verify_execution", "quarantine_context"]
}
}
```
---
## `context_loop` 工作原理
```
context_loop(单个MCP工具调用)
├── 阶段 1:INGEST — 将消息存储到会话历史记录
├── 阶段 2:RECAP — 提取意图、决策、摘要
├── 阶段 3:CONFLICT —与基本事实的冲突
├── 阶段 4:AMBIGU — 检查未指定的要求
├── 阶段 5:ENTROPY — 监控输出质量下降(ERGO)
├── 阶段 6:ABSTENTION — 多维置信度检查(RLAAR)
├── 阶段 7:DISCOVERY — 建议相关工具(MCP-Zero)
└── 阶段 8:SYNTHESIS — 结合信号 → 操作 + 指令
```
**合成优先级:** `abstain` > `reset` > `clarify` > `proceed`
每个阶段都具有独立的错误隔离。`directive` 响应字段包含LLM所需的一切:
| 字段 | 描述 |
|-------|-------------|
| `action` | `proceed` · `clarify` · `reset` · `abstain` |
| `instruction` | 面向LLM的下一步骤的清晰语言指导 |
| `questions` | 聚合的澄清问题(歧义 + 放弃 + 冲突) |
| `contextHealth` | 0–1 复合分数。 1 = 健康,0 = 退化 |
| `autoExtractedFacts` | 从用户消息中自动提取的关键值事实,存储为基本事实 |
| `suggestedNextTools` | LLM应考虑的下一个相关工具 |
**智能默认值:** `currentInput` 自动从最后一个用户消息中推断。诸如“使用React”的事实会自动提取并存储。
---
## 使用协议:充分利用上下文优先
> **最大的错误:** LLM将 `context_loop` 视为可选的。事实并非如此 — 它是骨干。
### 内置强制执行(v1.2.1+)
服务器配备了四项合规机制,无需配置:
1. **服务器指令** — 完整的用法协议通过 `ServerOptions.instructions` 注入MCP握手
2. **启动门** — 第一个非 `context_loop` 调用追加一个强重定向提醒
3. **跨工具提醒** — 在连续调用3次 `context_loop` 后,工具响应中会出现提醒
4. **MCP提示** — `context-first-protocol` 和 `research-protocol` 提示模板按需可用
### 在系统提示中强化(可选)
```
使用上下文优先MCP时:
1. 在任何复杂任务之前调用context_loop
2. 每2-3个工具调用后调用context_loop
3. 在生成长表单输出后调用context_loop
4. 始终遵循directive.action(proceed/clarify/reset/abstain/deepen/verify)
5. 使用memory_store保存发现结果;使用memory_recall检索结果
```
### 研究任务工作流程
`research_pipeline`编排内存、阶段控制、推理和自主文件写入。它不是网络爬虫 — 请自带来自网络搜索、GitHub、获取工具、PDF或其他MCP的源。
```
阶段 1 · 初始化 research_pipeline(init)→ 设置状态,启用自主文件写入
阶段 2 · 收集 research_pipeline(gather)→ 编写文件到磁盘 → 重复
阶段 3 · 分析 research_pipeline(analyze)→ 推理引擎生成干净的分析文件
阶段 4 · 验证 research_pipeline(verify)→ 上下文健康门(非阻塞)
阶段 5 · 完成 research_pipeline(finalize)→ synthesis.md + 磁盘上的所有批次文件
自动化快捷方式:
export_research_files(outputDir,exportVerifiedReport = true)→ 写入所有报告块
export_research_files(outputDir,exportRawEvidence = true 写入所有证据批次
```
**自主始终开启。**`./-research-output 无需LLM传递`output覆盖。
---
## 架构
```
┌──────────────────────────────────────────────────────────────┐
│ @xjtlumedia/context-first-mcp-server │
│ (核心 — 共享逻辑) │
│
│ │
│ 层 1:上下文健康 (9 个工具) │
│ 层 2:沙盒 (3 个工具) │
│ 层 3:持久内存(6 个工具) │
│ 层 4:高级推理(5 个工具) │
│ 层 5:真实性 (7 个工具) │
│ 状态(4)·编排器·管道·导出 │
└──────────────┬───────────────────────┬──────────────────────┘
│ │
┌──────▼──────┐ ┌──────▼────────┐
│stdio-server │ │ remote-server │
│(npx 本地) │ │ (Vercel) │
│ stdio │ │ 流式HTTP │
│ 37 个工具 │ │ 37 个工具 │
└──────────────┘ │ 37 个工具 │
└───────────────┘
```
- **核心库**(`@xjtlumedia/context-first-mcp-server`):所有工具实现。默认情况下无需外部API密钥 — 基于启发式。
- **stdio-server**(`context-first-mcp`):`npx` 入口点,stdio传输,37个工具。
- **remote-server**:Vercel无服务器,流式HTTP传输,37个工具。
---
## 前端演示
在 **[context-first-mcp.vercel.app](https://context-first-mcp.vercel.app)** 浏览器中实时试用所有37个工具。
---
## 开发
```bash
git clone https://github.com/XJTLUmedia/Context-First-MCP.git
cd Context-First-MCP
pnpm install
# 构建所有内容
pnpm build
# 运行stdio服务器
cd packages/stdio-server && pnpm start
# 运行前端
cd packages/frontend && pnpm dev
# 测试
pnpm test
```
## 贡献
参见 [CONTRIBUTING.md](CONTRIBUTING.md).
## 许可证
[MIT](LICENSE)
---
<div align="center">
**上下文优先MCP** · [@xjtlumedia/context-first-mcp-server](https://www.npmjs.com/package/@xjtlumedia/context-first-mcp-server) · [context-first-mcp](https://www.npmjs.com/package/context-first-mcp)
*为每个开发人员构建,让他们摆脱AI失去线索的困扰。*
</div>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器