mcpField
C
Cortex MCP — Multi-Level Reasoning Server

Cortex MCP — Multi-Level Reasoning Server

本地服务
github.comAI 与智能体134 周前更新

关于 Cortex MCP — Multi-Level Reasoning Server

Cortex MCP 是面向需要可调深度、结构化状态推理的客户端的 stdio 服务。它管理内存中的会话,并在推理工具之外提供提示词和实时轨迹资源。

主要功能

  1. 01四种可配置推理深度
  2. 02逐步或批量推理
  3. 03会话续接与回滚
  4. 04结构化观察与评估
  5. 05实时会话和轨迹资源

适用场景

  1. 01按指定深度分析问题
  2. 02继续或修订推理会话
  3. 03一次提交多个思考步骤
  4. 04查看会话轨迹

MCP 相关

它向 stdio MCP 客户端提供 `reasoning_think` 工具、七种提示词以及会话和轨迹资源。会话状态保存在内存中,并在进程重启时清除。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"j0hanz-cortex": {
"command": "npx",
"args": [
"-y",
"@j0hanz/cortex-mcp"
]
}
}
}
启动命令npx -y @j0hanz/cortex-mcp

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

安装包
npm@j0hanz/cortex-mcp1.11.0

工具

1

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

参数类型必填说明
levelenum否深度级别。新会话必填。basic(1–3 步,2K 预算)、normal(4–8 步,8K 预算)、high(10–15 步,32K 预算)、expert(20–25 步,128K 预算)。basic | normal | high | expert
querystring否要分析的问题或事项。
runModeenum否"step"(默认)或 "run_to_completion"(仅限 basic 级别)。step | run_to_completion
thoughtany否推理文本。按原样存储。step 模式下为字符串,批处理模式下为 string[]。
sessionIdstring否用于继续会话的会话 ID。
evaluationstring否对假设的评议。
hypothesisstring否建议的下一个想法。
observationstring否当前步骤已知的事实。
stepSummarystring否用一句话概述该步骤。
isConclusionboolean否在最终答案时提前结束会话。
rollbackToStepinteger否要回滚到的从 0 开始计数的索引。之后的思考将被丢弃。
targetThoughtsinteger否精确的步骤数。必须在级别范围内。

详细介绍

Cortex MCP

npm version License

Install in VS Code Install in VS Code Insiders Install in Visual Studio

Add to LM Studio Install in Cursor Install in Goose

支持多层推理的 MCP 服务,具备可配置的深度级别、基于会话的状态管理、结构化思考输入和实时跟踪资源。

概述

Cortex MCP 是一款仅通过 stdio 传输的 MCP 服务,用于执行有状态、深度可控的推理。src/index.ts 中的运行时入口将 createServer() 连接到 StdioServerTransport,而 src/server.ts 中的服务接口则围绕单一的基于会话的推理引擎启用工具、提示词、补全、日志记录和可订阅资源。

Inspector 确认的实时 MCP 接口包含 1 个工具、6 个具体资源、4 个资源模板和 7 个提示词。会话存储在内存中,并以 MCP 资源的形式公开;进程重启后会清除会话。

主要功能

  • reasoning_think 支持分步会话、run_to_completion 批量处理、回滚、提前得出结论,以及结构化的 observation / hypothesis / evaluation 输入。
  • 引擎内置四种深度级别:basic、normal、high 和 expert,每种级别均设有思考范围和令牌预算上限。
  • 提示词辅助功能提供 reasoning.basic、reasoning.normal、reasoning.high、reasoning.expert、reasoning.continue、reasoning.retry 和 get-help。
  • 资源端点提供内部文档,以及实时会话列表、各会话的 JSON 视图、完整 Markdown 跟踪记录和单条思考文档。
  • 通过 completable() 和资源模板补全钩子,为级别、会话 ID 和思考名称提供补全功能。

要求

  • 本地使用 npx 或 npm 需要 Node.js >=24。
  • 支持 stdio 传输的 MCP 客户端。
  • 可选:如果要构建或运行 Dockerfile 定义的容器镜像,则需要 Docker。

快速开始

使用以下标准 MCP 客户端配置:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

客户端配置

在 VS Code 中安装 [![在 VS Code 中安装](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=cortex-mcp&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40j0hanz%2Fcortex-mcp%40latest%22%5D%7D)

添加到 .vscode/mcp.json:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

或通过命令行安装:

code --add-mcp '{"name":"cortex-mcp","command":"npx","args":["-y","@j0hanz/cortex-mcp@latest"]}'

更多信息,请参阅 VS Code MCP 文档。

在 VS Code Insiders 中安装

在 VS Code Insiders 中安装

添加到 .vscode/mcp.json:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

或通过命令行安装:

code-insiders --add-mcp '{"name":"cortex-mcp","command":"npx","args":["-y","@j0hanz/cortex-mcp@latest"]}'

更多信息,请参阅 VS Code Insiders MCP 文档。

在 Cursor 中安装

在 Cursor 中安装

添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息,请参阅 Cursor MCP 文档。

在 Visual Studio 中安装

在 Visual Studio 中安装

添加到 mcp.json (VS integrated):

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息,请参阅 Visual Studio MCP 文档。

在 Goose 中安装

在 Goose 中安装

添加到 Goose extension registry:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息,请参阅 Goose MCP 文档。

在 LM Studio 中安装

添加到 LM Studio

添加到 LM Studio MCP config:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息,请参阅 LM Studio MCP 文档。

在 Claude Desktop 中安装

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息,请参阅 Claude Desktop MCP 文档。

在 Claude Code 中安装

添加到 Claude Code CLI:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

或通过命令行安装:

claude mcp add cortex-mcp -- npx -y @j0hanz/cortex-mcp@latest

更多信息,请参阅 Claude Code MCP 文档。

在 Windsurf 中安装

添加到 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息,请参阅 Windsurf MCP 文档。

在 Amp 中安装

添加到 Amp MCP config:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

或通过命令行安装:

amp mcp add cortex-mcp -- npx -y @j0hanz/cortex-mcp@latest

更多信息,请参阅 Amp MCP 文档。

在 Cline 中安装

添加到 cline_mcp_settings.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Cline MCP 文档.

在 Codex CLI 中安装

添加到 ~/.codex/config.yaml or codex CLI:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息请参阅 Codex CLI MCP 文档。

在 GitHub Copilot 中安装

添加到 .vscode/mcp.json:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息请参阅 GitHub Copilot MCP 文档。

在 Warp 中安装

添加到 Warp MCP config:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息请参阅 Warp MCP 文档。

在 Kiro 中安装

添加到 .kiro/settings/mcp.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息请参阅 Kiro MCP 文档。

在 Gemini CLI 中安装

添加到 ~/.gemini/settings.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息请参阅 Gemini CLI MCP 文档。

在 Zed 中安装

添加到 ~/.config/zed/settings.json:

{
  "context_servers": {
    "cortex-mcp": {
      "settings": {
        "command": "npx",
        "args": ["-y", "@j0hanz/cortex-mcp@latest"]
      }
    }
  }
}

更多信息请参阅 Zed MCP 文档。

在 Augment 中安装

添加到 VS Code settings.json:

在 VS Code 的 settings.json 中,将其添加到 augment.advanced 下。

{
  "augment.advanced": {
    "mcpServers": [
      {
        "id": "cortex-mcp",
        "command": "npx",
        "args": ["-y", "@j0hanz/cortex-mcp@latest"]
      }
    ]
  }
}

更多信息请参阅 Augment MCP 文档。

在 Roo Code 中安装

添加到 Roo Code MCP settings:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息请参阅 Roo Code MCP 文档。

在 Kilo Code 中安装

添加到 Kilo Code MCP settings:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

更多信息请参阅 Kilo Code MCP 文档。

使用场景

在合适的深度启动有界推理

当客户端需要以提示词优先的方式开始时,可使用 reasoning.basic、reasoning.normal、reasoning.high 或 reasoning.expert;也可以直接调用 reasoning_think,并提供 query、level 和第一个 thought。每个响应都会返回当前会话状态,以及一段说明客户端如何继续的 summary 字符串。

相关工具:reasoning_think
相关提示词:reasoning.basic、reasoning.normal、reasoning.high、reasoning.expert

继续、重试或批量处理活跃会话

重复使用 sessionId 以继续先前的跟踪;如果已有剩余的 thought 输入,则切换到 runMode="run_to_completion";也可以使用继续和重试提示词来生成下一次调用所需的有效负载。处理程序还支持 rollbackToStep 和 isConclusion,用于修订跟踪或提前结束跟踪。

相关工具:reasoning_think
相关提示词:reasoning.continue、reasoning.retry

检查实时跟踪,而不重新运行工具

读取 reasoning://sessions 获取活跃会话列表,读取 reasoning://sessions/{sessionId} 获取 JSON 详情视图,读取 reasoning://sessions/{sessionId}/trace 获取 Markdown 记录,或读取 reasoning://sessions/{sessionId}/thoughts/{thoughtName} 获取单个 thought。这样,客户端就可以独立于下一次工具调用来展示进度或审计会话。

相关资源:reasoning://sessions、reasoning://sessions/{sessionId}、reasoning://sessions/{sessionId}/trace、reasoning://sessions/{sessionId}/thoughts/{thoughtName}

架构

[MCP Client]
    |
    | stdio
    v
[src/index.ts]
    createServer()
    -> new StdioServerTransport()
    -> server.connect(transport)
    |
    v
[src/server.ts]
    McpServer("cortex-mcp")
    capabilities:
      - tools
      - prompts
      - completions
      - logging
      - resources { subscribe: true, listChanged: true }
    |
    +--> tools/call
    |     -> reasoning_think
    |     -> src/tools/reasoning-think.ts
    |     -> ReasoningThinkInputSchema / ReasoningThinkToolOutputSchema
    |     -> src/engine/reasoner.ts
    |     -> SessionStore
    |
    +--> prompts/get
    |     -> src/prompts/index.ts
    |
    +--> resources/read
    |     -> src/resources/index.ts
    |     -> internal://* and reasoning://sessions/*
    |
    +--> notifications
          -> logging messages
          -> resources/list_changed
          -> resources/updated
          -> notifications/progress
请求生命周期
[Client] -- initialize --> [Server]
[Server] -- serverInfo + capabilities --> [Client]
[Client] -- notifications/initialized --> [Server]
[Client] -- tools/call {name: "reasoning_think", arguments} --> [Handler]
[Handler] -- validate args --> [Reasoner + SessionStore]
[Reasoner] -- progress/resource events --> [Server notifications]
[Handler] -- structuredContent + optional trace resource --> [Client]

MCP 接口

工具
reasoning_think

用于创建和继续多步骤会话的有状态推理工具。支持单步交互调用、run_to_completion 批处理、结构化的观察/假设/评估输入、回滚,以及提前得出结论,同时返回结构化会话状态。

参数类型必填描述
querystring否要分析的问题。
levelstring否深度级别。新建会话时必填。basic(1–3 步,2K 预算)、normal(4–8 步,8K 预算)、high(10–15 步,32K 预算)、expert(20–25 步,128K 预算)。
targetThoughtsinteger否精确步数。必须在级别范围内。
sessionIdstring否要继续的会话 ID。
runModestring否"step"(默认)或 "run_to_completion"。
thoughtany否推理文本。按原样存储。step 模式下为字符串,批处理模式下为 string[]。
isConclusionboolean否在给出最终答案时提前结束会话。
rollbackToStepinteger否要回滚到的 0 起始索引。丢弃后续推理。
stepSummarystring否一句话概括步骤。
observationstring否此步骤已知的事实。
hypothesisstring否提出的下一步思路。
evaluationstring否对假设的评估。
数据流
1. [Client] -- tools/call {name: "reasoning_think", arguments} --> [Server]
   Transport: stdio
2. [Server] -- dispatch("reasoning_think") --> [Handler: src/tools/reasoning-think.ts]
3. [Handler] -- validate(ReasoningThinkInputSchema) --> [src/engine/reasoner.ts]
4. [Reasoner] -- create/update session --> [src/engine/session-store.ts]
5. [Handler] -- structuredContent + optional embedded trace resource --> [Client]
### 资源
资源URI 或模板MIME 类型描述
server-instructionsinternal://instructionstext/markdownMCP 服务的使用说明。
server-configinternal://server-configapplication/json推理服务的运行时限制和级别配置。
tool-cataloginternal://tool-catalogtext/markdown工具参考:模型、参数、输出、数据流。
tool-infointernal://tool-info/{toolName}text/markdown各工具的契约详情。
tool-info-reasoning_thinkinternal://tool-info/reasoning_thinktext/markdownreasoning_think 的契约详情。
workflowsinternal://workflowstext/markdown推荐的工作流和工具调用顺序。
reasoning.sessionsreasoning://sessionsapplication/json活跃推理会话及其摘要列表。随着会话进展实时更新。
reasoning.sessionreasoning://sessions/{sessionId}application/json单个推理会话的详细视图,包括所有思考内容和元数据。
reasoning.tracereasoning://sessions/{sessionId}/tracetext/markdown推理会话的 Markdown 轨迹(完整内容)。
reasoning.thoughtreasoning://sessions/{sessionId}/thoughts/{thoughtName}text/markdown单条思考内容的 Markdown 内容(例如 Thought-1)。
提示词
提示词参数描述
get-help无返回服务使用说明。
reasoning.basicquery 必填,targetThoughts 可选基础深度推理(1-3 条思考)。
reasoning.normalquery 必填,targetThoughts 可选普通深度推理(4-8 条思考)。
reasoning.highquery 必填,targetThoughts 可选高深度推理(10-15 条思考)。
reasoning.expertquery 必填,targetThoughts 可选专家级深度推理(20-25 条思考)。
reasoning.continuesessionId 必填,query 可选,level 可选继续现有会话。可选提供后续查询。
reasoning.retryquery 必填,level 必填,targetThoughts 可选使用修改后的参数重试失败的推理任务。

MCP 能力

能力状态依据
tools已确认src/server.ts:203-205, src/tools/reasoning-think.ts:479
prompts已确认src/server.ts:205, src/prompts/index.ts:201
completions已确认src/server.ts:207, src/prompts/index.ts:249, src/resources/index.ts:375
logging已确认src/server.ts:204, src/server.ts:98
resources.subscribe已确认src/server.ts:208, src/server.ts:121
resources.listChanged已确认src/server.ts:208, src/server.ts:114
progress notifications已确认src/lib/mcp.ts:71, src/tools/reasoning-think.ts:424
工具注解
注解值依据
readOnlyHintfalsesrc/tools/reasoning-think.ts:500
destructiveHintfalsesrc/tools/reasoning-think.ts:502
openWorldHintfalsesrc/tools/reasoning-think.ts:503
idempotentHintfalsesrc/tools/reasoning-think.ts:501
结构化输出
  • reasoning_think 声明了 outputSchema 并返回 structuredContent;当跟踪信息足够小时,还会嵌入跟踪资源。依据:src/tools/reasoning-think.ts:498, src/lib/mcp.ts:97-114。

配置

变量默认值必需依据
CORTEX_SESSION_TTL_MS1800000(30 分钟)否src/engine/reasoner.ts:22, src/engine/session-store.ts:19
CORTEX_MAX_SESSIONS100否src/engine/reasoner.ts:23, src/engine/session-store.ts:20
CORTEX_MAX_TOTAL_TOKENS2000000否src/engine/reasoner.ts:24, src/engine/session-store.ts:21
CORTEX_MAX_ACTIVE_REASONING_TASKS32否src/engine/config.ts:41-44
CORTEX_REDACT_TRACE_CONTENTfalse否src/engine/config.ts:21

说明

源代码未定义任何 HTTP 主机/端口配置。其他唯一与环境相关的信号是 Docker 镜像中的 NODE_ENV=production,以及本地 dev:run 脚本中的 --env-file=.env。

安全性

控制项状态依据
输入验证已确认src/schemas/inputs.ts:13, src/schemas/outputs.ts:46, src/prompts/index.ts:207
stdout 安全的日志回退机制已确认src/server.ts:98, src/server.ts:145
仅在主线程运行已确认src/index.ts:15-25
非 root 容器用户已确认Dockerfile:37

说明

当前源代码未实现身份验证、OAuth、HTTP 来源检查或速率限制控制,因为该服务仅公开 stdio 传输方式。

开发

脚本命令用途
devtsc --watch --preserveWatchOutput在开发期间监视并编译源代码。
dev:runnode --env-file=.env --watch dist/index.js以监视模式运行构建后的服务,并可选择使用本地 .env 文件。
buildnode scripts/tasks.mjs build清理 dist、编译 TypeScript、复制资源,并将入口文件设为可执行。
linteslint .在整个代码库中运行 ESLint。
type-checknode scripts/tasks.mjs type-check并行运行源代码和测试的 TypeScript 检查。
testnode scripts/tasks.mjs test使用已配置的加载器运行 TypeScript 测试套件。
test:distnode scripts/tasks.mjs test:dist先重新构建,然后针对构建产物运行测试。
test:fastnode --test --import tsx/esm src/__tests__/**/*.test.ts node-tests/**/*.test.ts直接运行快速测试命令,不使用任务封装器。
formatprettier --write .格式化代码库。
inspectornpm run build && npx -y @modelcontextprotocol/inspector node dist/index.js构建服务并在 MCP Inspector 中打开。
prepublishOnlynpm run lint && npm run type-check && npm run build发布前执行必要的检查。

package.json 中还定义了用于诊断、覆盖率、资源复制和 knip 的辅助脚本。

构建与发布

  • .github/workflows/release.yml 会更新 package.json 和 server.json,然后运行 npm run lint、npm run type-check、npm run test 和 npm run build,再添加标签并创建 GitHub 发布版本。
  • 同一工作流会通过 Trusted Publishing 将包发布到 npm,通过 mcp-publisher 发布到 MCP Registry,并将多架构 Docker 镜像推送到 ghcr.io。
  • Dockerfile 使用多阶段 Node 24 Alpine 构建,清理开发依赖,并以 mcp 用户运行已发布的容器。

故障排除

  • 会话存储在内存中,默认 30 分钟后过期。如果收到 E_SESSION_NOT_FOUND,请启动新会话或增大 CORTEX_SESSION_TTL_MS。
  • runMode="run_to_completion" 需要足够数量的 thought 条目来覆盖剩余步骤。如果希望服务在每一步后返回,请保留默认的 step 模式。
  • 对于 stdio 传输,请勿在服务进程周围添加自定义 stdout 日志。此服务通过 MCP 日志记录日志,发生故障时则回退到 stderr。

致谢

依赖项注册表
@modelcontextprotocol/sdknpm
zodnpm

贡献与许可证

  • 许可证:MIT
  • 欢迎通过拉取请求贡献代码。

评论

支持 Markdown

第一次接触 MCP?

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

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