mcpField
C
context-first-mcp

context-first-mcp

本地服务
github.com/XJTLUmediaAI 与智能体228 周前更新

关于 context-first-mcp

context-first-mcp 是帮助 AI Agent 在多轮对话中跟踪上下文、持久记忆、推理和真实性的 MCP 服务。`context_loop` 将多项检查汇总为指令,其他工具还支持研究和文件导出。

主要功能

  1. 01通过 `context_loop` 编排上下文检查
  2. 02检测偏离、冲突、歧义和执行偏差
  3. 03存储、召回和整理持久记忆
  4. 04执行推理与真实性检查
  5. 05编排研究并将文件导出到磁盘

适用场景

  1. 01在长对话中帮助 Agent 回到原定目标
  2. 02发现矛盾并澄清未明确的需求
  3. 03跨任务存储和检索研究结果
  4. 04运行结构化研究流程并保存输出

MCP 相关

向 MCP 客户端提供包括 `context_loop` 编排器在内的 37 个工具。支持本地 stdio 使用和远程 Streamable HTTP 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"xjtlumedia-context-first": {
"command": "npx",
"args": [
"-y",
"context-first-mcp"
]
}
}
}
启动命令npx -y context-first-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcontext-first-mcp1.2.2

工具

8

收录的工具列表 · 更新于 2 周前

参数类型必填说明
checkenum否覆盖:运行指定检查。若省略,则根据参数自动选择。clear_state 与 get_state 共用参数——使用此覆盖项进行区分。recap | conflict | ambiguity | verify | entropy | abstention | grounding | drift | depth | get_state | set_state | clear_state | history
paramsobject否底层工具的参数(不含 sessionId)。如果参数匹配多个工具,则运行多个检查。recap:{messages[], lookbackTurns?};conflict:{newMessage};ambiguity:{requirement, context?};verify:{goal, output, expectedIndicators?};entropy:{outputs[], threshold?, autoReset?};abstention:{claim, requiredKeys[], threshold?};grounding:{assistantOutput, claim?};drift:{windowSize, turn?, health?, breakdown?};depth:{content, minDepthWords?, minDepthSentences?};get_state:{keys?};set_state:{key, value, source?};clear_state:(使用 check 覆盖);history:{maxTokens}
sessionIdstring否会话标识符

详细介绍

Context-First MCP

让 AI 在每一轮对话中始终扎根于上下文、保持连贯并诚实作答的 MCP 服务。

npm version npm downloads License: MIT MCP Compatible Smithery Glama Node ≥18 TypeScript

npx context-first-mcp

可立即与 Claude Desktop · Cursor · VS Code · 任意 MCP 客户端 · Vercel 远程服务配合使用——无需 API 密钥。


37 个基于研究成果的工具,涵盖 7 个层面——上下文健康、状态、沙盒、持久记忆、高级推理、真实性验证、编排、结构化研究和自主文件导出。一次 context_loop 调用即可取代 6–7 个独立工具,并返回统一的操作指令。


为什么 AI 对话会出问题

较长的 AI 对话会以可预见的方式失败。Context-First 可解决以下全部四类问题:

失败模式问题所在Context-First 解决方案
上下文偏移随着对话不断延长,AI 会忘记先前的决定和意图context_loop + detect_drift 持续在每一轮重新锚定上下文
隐性矛盾新输入悄然推翻已确立的事实——AI 却没有察觉detect_conflicts 会将每条输入与已锁定的真实依据进行比较
执行含糊AI 根据未充分说明的要求继续执行,导致输出不匹配check_ambiguity + abstention_check 会提出澄清问题,而不是猜测
虚报成功工具输出看起来成功了,实际上却没有达到目标verify_execution 会重新检查结果是否符合所述意图

你将获得什么

37 个可用于生产环境的工具,分为 7 个层面——另有 1 个编排器可运行所有工具:

context_loop  ─────────────────────────────────────────────────────────────────
  ├─ Layer 1 · Context Health   (9 tools)   recap, conflict, ambiguity, depth …
  ├─ Layer 2 · Sandbox          (3 tools)   discover_tools, quarantine, merge
  ├─ Layer 3 · Persistent Memory(6 tools)   store, recall, compact, graph …
  ├─ Layer 4 · Advanced Reasoning(5 tools)  InftyThink, Coconut, KAG, MindEvo …
  ├─ Layer 5 · Truthfulness     (7 tools)   NCB, IOE, verify_first, self_critique…
  └─ State + Research Pipeline + Export     (7 tools)

一次调用。一个指令。一个分数。

{
  "directive": {
    "action": "clarify",
    "contextHealth": 0.62,
    "instruction": "Resolve with the user: (1) Is this a firm requirement? (2) Which framework?",
    "autoExtractedFacts": { "deploy_to": "Vercel" },
    "suggestedNextTools": ["verify_execution", "quarantine_context"]
  }
}

快速开始

npx——无需安装
npx context-first-mcp
Claude Desktop
{
  "mcpServers": {
    "context-first": {
      "command": "npx",
      "args": ["-y", "context-first-mcp"]
    }
  }
}
Cursor / VS Code
{
  "mcp": {
    "servers": {
      "context-first": {
        "command": "npx",
        "args": ["-y", "context-first-mcp"]
      }
    }
  }
}
远程(Streamable HTTP)
{
  "mcpServers": {
    "context-first": {
      "url": "https://context-first-mcp.vercel.app/api/mcp"
    }
  }
}
部署你自己的 Vercel 实例

Deploy with Vercel


工具参考

第 1 层:核心上下文健康(9 个工具)
工具用途
context_loop一次调用即可完成编排。 运行 8 个阶段(摄取→回顾→冲突→歧义→熵→弃答→发现→综合),并返回一个包含 action、contextHealth 分数、提取出的事实和建议后续工具的 directive
recap_conversation提取隐含意图和关键决策,并生成汇总后的状态摘要
detect_conflicts将新输入与真实依据进行比较,并指出矛盾
check_ambiguity识别说明不充分的要求,并生成澄清问题
verify_execution验证工具输出是否真正达成所述目标
entropy_monitor通过词汇多样性、矛盾密度、保留措辞频率和 n 元语法重复率进行代理熵评分(ERGO)
abstention_check从 5 个维度评估置信度——通过提问而非产生幻觉来弃答(RLAAR)
detect_drift检测对话是否偏离最初意图
check_depth根据问题复杂度评估回答深度
第 1b 层:状态管理(4 个工具)
工具用途
get_state获取已确认的事实和任务状态
set_state锁定真实情况——后续冲突检查将以这些值为依据
clear_state重置特定键或全部状态
get_history_summary带有意图注释的压缩对话历史
第 2 层:沙箱与发现(3 个工具)
工具方法用途
discover_toolsMCP-Zero + ScaleMCP自然语言工具路由——仅返回语义相关的工具,最多可减少 98% 的上下文膨胀
quarantine_contextMulti-Agent Quarantine为子任务创建隔离的记忆区,防止意图被稀释
merge_quarantineMulti-Agent Quarantine合并记忆区结果并过滤噪声——只有提升后的键会返回主上下文
第 3 层:持久化记忆(6 个工具)
工具用途
memory_store存储带有元数据的发现、决策和中间结果
memory_recall根据语义查询检索相关记忆
memory_compact压缩并整合记忆条目
memory_graph根据存储的记忆构建和查询知识图谱
memory_inspect检查记忆存储的内容和统计信息
memory_curate对记忆条目去重并整理
第 4 层:高级推理(5 个工具)
工具方法用途
inftythink_reasonInftyThink通过自适应停止实现无限深度推理
coconut_reasonCoconut在潜在空间中进行连续思维链推理
extracot_compressExtraCoT压缩思维链,同时保留推理准确性
mindevolution_solveMindEvolution在解空间中进行进化搜索
kagthinker_solveKAG-Thinker通过结构化思考实现知识增强生成
第 5 层:真实性与验证(7 个工具)
工具用途
probe_internal_state通过改述后的提示词探测模型的一致性
detect_truth_direction检测模型推理是在趋向真相还是偏离真相
ncb_check检查语义等价输入之间的一致性
check_logical_consistency验证推理链的逻辑连贯性
verify_first在认定结论前进行预验证
ioe_self_correct内在与外在自我纠正
self_critique结构化自我批评并提出改进建议
研究流程与导出(2 个工具)
工具用途
research_pipeline按 init → gather → analyze → verify → finalize 进行结构化研究编排。涵盖全部 34 个底层等效工具——状态、沙箱、记忆、推理、真实性和上下文健康状况。流程运行时会自动将文件写入磁盘;输出文件无需 LLM 配合。
export_research_files通过单次调用,将每个已验证的报告片段和/或每批原始证据写入磁盘。

基于同行评审研究构建

每种核心算法均源自已发表的论文:

算法论文arXiv工具
MCP-Zero主动工具请求2506.01056discover_tools
ScaleMCP语义工具分组2505.06416discover_tools 注册表
ERGO基于熵的质量评估2510.14077entropy_monitor
RLAAR校准式弃答2510.18731abstention_check

实现亮点:

  • 代理熵(ERGO): 使用 4 种响应级代理信号(词汇多样性、矛盾密度、模糊措辞频率、n 元语法重复)替代无法访问的词元级 logprobs。综合分数超过阈值时,会触发自适应上下文重置。
  • TF-IDF 发现(MCP-Zero): 纯 TypeScript 实现,无外部依赖。启动时为所有工具描述建立索引;通过余弦相似度,将查询路由到仅包含最相关工具的 top-k 集合。
  • 推理时弃答(RLAAR): 使用 5 维置信度评分替代强化学习训练循环。置信度低于阈值时,会通过有针对性的问题弃答,不使用幻觉回退方案。
导出助手(1 个工具)
工具描述
export_research_files将研究成果直接写入磁盘。它可以自动展开并写入每个已验证的报告分块,无需请求大模型手动循环调用 finalize;也可以写入每一批收集到的原始证据,即使尚未通过 verify。
context_loop 流水线
context_loop (single MCP tool call)
├── Stage 1: INGEST     — Store messages to session history
├── Stage 2: RECAP      — Extract intents, decisions, summaries
├── Stage 3: CONFLICT   — Detect contradictions against ground truth
├── Stage 4: AMBIGUITY  — Check for underspecified requirements
├── Stage 5: ENTROPY    — Monitor output quality degradation (ERGO)
├── Stage 6: ABSTENTION — Multi-dimensional confidence check (RLAAR)
├── Stage 7: DISCOVERY  — Suggest relevant next tools (MCP-Zero)
└── Stage 8: SYNTHESIS   — Combine signals → action recommendation + LLM directive

综合优先级: abstain > reset > clarify > proceed

每个阶段都会独立运行并隔离错误——某个阶段发生故障不会阻塞其他阶段。结果包含各阶段的耗时、状态和详细结果,便于观察。

LLM 指令(新增)

context_loop 响应包含一个顶层 directive 对象,专为 LLM 消费而设计——它是一条简洁、可执行的指令,无需解析嵌套的阶段结果:

{
  "directive": {
    "action": "clarify",
    "instruction": "Before proceeding, resolve these issues with the user:\n1. Could you specify exactly what you mean?\n2. Is this a firm requirement or still open for discussion?",
    "questions": ["Could you specify exactly what you mean?", "Is this a firm requirement?"],
    "contextHealth": 0.62,
    "autoExtractedFacts": { "framework": "React", "deploy_to": "Vercel" },
    "suggestedNextTools": ["verify_execution", "quarantine_context"]
  }
}

context_loop 的工作原理

context_loop (single MCP tool call)
├── Stage 1: INGEST     — Store messages to session history
├── Stage 2: RECAP      — Extract intents, decisions, summaries
├── Stage 3: CONFLICT   — Detect contradictions against ground truth
├── Stage 4: AMBIGUITY  — Check for underspecified requirements
├── Stage 5: ENTROPY    — Monitor output quality degradation (ERGO)
├── Stage 6: ABSTENTION — Multi-dimensional confidence check (RLAAR)
├── Stage 7: DISCOVERY  — Suggest relevant next tools (MCP-Zero)
└── Stage 8: SYNTHESIS  — Combine signals → action + directive

综合优先级: abstain > reset > clarify > proceed

每个阶段都会独立运行并隔离错误。directive 响应字段包含 LLM 所需的一切信息:

字段描述
actionproceed · clarify · reset · abstain
instruction为 LLM 的下一步提供的自然语言指导
questions汇总的澄清问题(歧义 + 弃答 + 冲突)
contextHealth0–1 的综合分数。1 = 健康,0 = 已退化
autoExtractedFacts从用户消息中自动提取并作为事实依据存储的键值信息
suggestedNextTools建议 LLM 接下来考虑使用的相关工具

智能默认值: currentInput 会根据最后一条用户消息自动推断。像“使用 React”这样的事实会自动提取并存储。


使用协议:充分利用 Context-First

最常见的错误: LLM 将 context_loop 视为可选项。事实并非如此——它是整个流程的支柱。

内置强制机制(v1.2.1+)

服务内置了四种合规机制,无需任何配置:

  1. 服务说明 — 通过 ServerOptions.instructions 在 MCP 握手时注入完整使用协议
  2. 启动门控 — 首次调用非 context_loop 工具时,会追加一条强制重定向提醒
  3. 跨工具提醒 — 连续 3 次调用未使用 context_loop 后,工具响应中会出现提醒
  4. MCP 提示词 — 可按需使用 context-first-protocol 和 research-protocol 提示词模板
在系统提示词中强化(可选)
When using Context-First MCP:
1. Call context_loop BEFORE any complex task
2. Call context_loop every 2–3 tool calls
3. Call context_loop AFTER generating long-form output
4. ALWAYS follow directive.action (proceed/clarify/reset/abstain/deepen/verify)
5. Use memory_store to save findings; memory_recall to retrieve them
研究任务工作流

research_pipeline 可协调记忆、阶段控制、推理和自主文件写入。它不是网页爬虫——请自行从网页搜索、GitHub、抓取工具、PDF 或其他 MCP 获取来源。

Phase 1 · Init     research_pipeline(init) → sets up state, enables autonomous file writing
Phase 2 · Gather   ONE web search → research_pipeline(gather) → file written to disk → repeat
Phase 3 · Analyze  research_pipeline(analyze) → reasoning engines produce clean analysis file
Phase 4 · Verify   research_pipeline(verify) → context health gate (non-blocking)
Phase 5 · Finalize research_pipeline(finalize) → synthesis.md + all batch files on disk

Automation shortcut:
  export_research_files(outputDir, exportVerifiedReport=true)  → write all report chunks
  export_research_files(outputDir, exportRawEvidence=true)     → write all evidence batches

始终启用自主文件写入。 文件默认写入 ./context-first-research-output/——无需 LLM 协作。传入 outputDir 可覆盖默认值。


架构

┌──────────────────────────────────────────────────────────────┐
│               @xjtlumedia/context-first-mcp-server            │
│                     (Core — shared logic)                     │
│                                                               │
│  Layer 1: Context Health    (9 tools)                         │
│  Layer 2: Sandbox           (3 tools)                         │
│  Layer 3: Persistent Memory (6 tools)                         │
│  Layer 4: Advanced Reasoning(5 tools)                         │
│  Layer 5: Truthfulness      (7 tools)                         │
│  State (4) · Orchestrator · Pipeline · Export                 │
└──────────────┬───────────────────────┬──────────────────────┘
               │                       │
        ┌──────▼──────┐         ┌──────▼────────┐
        │ stdio-server │         │ remote-server │
        │ (npx local)  │         │   (Vercel)    │
        │   stdio      │         │ Streamable    │
        │  37 tools    │         │    HTTP       │
        └──────────────┘         │   37 tools    │
                                 └───────────────┘
  • 核心库(@xjtlumedia/context-first-mcp-server):所有工具实现。无需外部 API 密钥——默认基于启发式方法。
  • stdio-server(context-first-mcp):npx 入口点、stdio 传输,包含 37 个工具。
  • remote-server:Vercel 无服务器架构、Streamable HTTP 传输,包含 37 个工具。

前端演示

在浏览器中访问 context-first-mcp.vercel.app,试用全部 37 个工具。


开发

git clone https://github.com/XJTLUmedia/Context-First-MCP.git
cd Context-First-MCP
pnpm install

# Build everything
pnpm build

# Run stdio server
cd packages/stdio-server && pnpm start

# Run frontend
cd packages/frontend && pnpm dev

# Tests
pnpm test

参与贡献

请参阅 CONTRIBUTING.md。

许可证

MIT


Context-First MCP · @xjtlumedia/context-first-mcp-server · context-first-mcp

为每一位厌倦了看着 AI 跑题的开发者打造。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。