模型上下文协议适配器

用于Cortex Context集成的MCP适配器,提供模型上下文协议通信功能,支持与Claude Desktop等客户端集成。

  • by CortexGuardAI
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 CortexGuardAI/mcp

使用说明

Cortex上下文MCP适配器

用于Cortex上下文集成的MCP(模型上下文协议)适配器。

入门指南/开始使用

要使用这个适配器,您需要是注册用户。请访问我们的着陆页进行注册并获取您的登录凭据:

https://mcp.cortexguardai.com/(该网址可直接翻译为中文表述,但网址本身无需翻译,保持原样即可。若仅需说明其含义,可表述为:“这是CortexGuardAI的MCP(可能指管理控制面板或类似服务)网站地址。”)

安装

你可以使用其中任何一个 pnpm 或者 npm.

pnpm: (这个词汇本身在中文中没有直接对应的翻译,它是一个专有名词,通常指“Performance Packaged Node Modules”,即一种用于JavaScript包管理的工具,类似于npm但性能更优。)不过,如果仅从字面或作为专有名词来翻译,可以保留原样或稍作解释性说明,如“pnpm(Performance Packaged Node Modules,一种高效的Node.js包管理工具):”。但在多数情况下,直接使用“pnpm”这一名称即可,无需额外翻译

pnpm install @cortexguardai/mcp

npm:(通常指“Node Package Manager”,即“Node包管理器”)

npm install @cortexguardai/mcp

重要提示:MCP适配器的工作原理

MCP适配器通过stdin/stdout使用MCP协议进行通信。 当你直接从命令行运行它时,它似乎会“挂起”——这是因为 正常行为适配器正在等待来自兼容客户端的MCP协议消息。

使用方法

使用 Claude Desktop(推荐)

  1. 配置您的 mcp.json 文件。

对于 pnpm 用户:

{
  "mcpServers": {
    "cortex-context": {
      "command": "pnpm",
      "args": [
        "dlx",
        "@cortexguardai/mcp@latest",
        "--token", "your-auth-token",
        "--project-id", "your-project-id"
      ]
    }
  }
}

对于npm/npx用户:

{
  "mcpServers": {
    "cortex-context": {
      "command": "npx",
      "args": [
        "@cortexguardai/mcp@latest",
        "--token", "your-auth-token",
        "--project-id", "your-project-id"
      ]
    }
  }
}
  1. 重启Claude桌面版
  2. 该适配器将作为上下文源可用

直接命令行(仅用于测试)

pnpm:

pnpm dlx @cortexguardai/mcp --token <auth-token> --project-id <project-id>

npx:(通常指运行 Node.js 包的命令行工具,可直接执行 npm 包中的可执行文件,无需全局安装)

npx @cortexguardai/mcp --token <auth-token> --project-id <project-id>

注: 当直接运行时,适配器将启动并等待MCP消息。这是预期的行为,并非错误。

测试适配器

为了验证适配器是否正常工作,您可以使用测试客户端:

# From the project root
node test-mcp-client.js

这将启动适配器,发送一个MCP初始化请求,并确认其正确响应。

配置选项

  • --token, -t认证令牌(必需)
  • --project-id, -p要将适配器限定到的项目ID(必填)
  • --timeout请求超时时间(毫秒)(默认:30000)
  • --verbose, -v启用详细日志记录(默认:false)

故障排除

“适配器似乎卡住了”

这是正常的!MCP适配器使用标准输入/输出进行通信,并等待MCP协议消息。只有当兼容的MCP客户端(如Claude Desktop)发送请求时,它才会作出响应。

模式验证错误

如果你遇到 invalid_literal 在工具输入模式中,预期为“对象”但出现错误:

  • 在1.0.5及以上版本中,此问题已通过在JSON Schema定义中使用明确的字符串字面量得到解决
  • 确保您使用的是最新版本:
    • pnpm add -g @cortexguardai/mcp@latest
    • npm install -g @cortexguardai/mcp@latest
  • 如果在本地开发,请重新构建适配器:
    • pnpm run build
    • npm run build

测试连接性

你可以测试一下你的服务器是否可访问:

curl -I "https://cortex-context-mcp.vercel.app/api/mcp"

应返回401(需要身份验证)响应,以确认该端点存在。

发展

# Build the adapter
pnpm run build
# or
npm run build

# Run in development mode
pnpm run dev
# or
npm run dev

上下文优先的工作流程与工具选择

为了优化工具选择并使决策更加直接,此适配器提供了带有类似提示的描述来展示工具,引导模型遵循一致的工作流程:

  • 获取上下文

    • 选择提示:从这里开始。
    • 目的:检查当前项目的可用性并获取上下文文件的元数据。
    • 行为:返回一个包含上下文文件元数据(id、名称、类型、大小、时间戳)的JSON列表 内容未包含在内如果为空,则继续进行 generate_initial_context。
  • 获取文件

    • 目的:通过UUID读取特定上下文文件的内容。
    • 用法:在……之后调用 get_contexts 当你知道哪个文件与当前任务相匹配时。这是访问文件内容所必需的。
  • 添加文件

    • 目的:在已准备好内容的情况下,添加一个新的上下文文件。
    • 提示:更喜欢 generate_initial_context 对于第一个项目文件,请提供文件名、内容以及可选的逻辑类型。
  • 生成初始上下文

    • 选择提示:在以下情况下使用 get_contexts 没有返回任何文件。
    • 目的:创建第一个上下文文件,其中包含简洁的项目概述(代码库结构、关键模块、工作流程)。
    • 输入: content (必填),可选 filename (默认为 project-context.md),可选 file_type。

推荐的决策流程

  • 第一步打电话 get_contexts 首先查看可用的上下文文件(仅包含元数据)。
  • 步骤2a如果存在上下文,请选择相关的文件并调用 get_file(id) 检索内容。
  • 步骤2b如果不存在上下文,则从代码库中综合生成一个简要概述,并调用 generate_initial_context。
  • 第三步当添加额外文件时,请调用 add_file 使用已准备好的内容。

重要的现在的工作流程需要两次API调用来访问文件内容——首先 get_contexts 为了探索,然后 get_file 用于内容检索。这提高了包含大量或大型上下文文件的项目的性能。

这些描述就像轻量级的提示一样,帮助模型合理地确定优先级并集中使用MCP工具。