CyberChef MCP 服务器

以下为使用说明,分为项目概述、主要功能、安装与运行、服务器对 MCP 客户端的配置示例,以及基本使用方法等要点,帮助你快速理解与部署该 MCP 服务器。

项目简介

  • 该仓库实现了一个基于 MCP(Model Context Protocol)的后端服务器,用于将 CyberChef 的大量数据处理操作作为可调用的工具集成进人工智能应用。通过 MCP,LLM 客户端可以请求数据资源、调用工具(如 Base64 编解码、哈希、加解密、数据分析等)以及获取或渲染提示模板,从而实现自带上下文能力的推理与执行。

主要功能点

  • MCP 核心能力
    • 资源管理:托管与提供对数据资源的访问,便于 AI 客户端获取需要的上下文数据。
    • 工具注册与执行:将 CyberChef 的 463+ 原子操作和组合工具暴露为 MCP 工具,支持逐步执行和批量执行(如 recipe/管道化操作)。
    • 提示模板(Prompts)管理与渲染:支持按需渲染对话模板,适配多种交互场景。
    • JSON-RPC 通信:以标准的 MCP JSON-RPC 请求/响应格式与客户端交互,返回结果或发送通知。
    • 会话管理与能力声明:服务器端维护会话状态、能力集声明,以及对客户端能力的协商。
  • 传输与可扩展性
    • 支持多种传输协议:标准输入输出(Stdio)、HTTP、SSE、WebSocket,满足本地开发与远程部署场景。
    • 进度流、错误处理与重试机制:对长时间操作支持可观测的进度通知,包含错误分类与恢复建议。
  • 构建与运维
    • 通过 Docker 容器化部署,提供可重复的运行环境及供应链安全特性(SBOM、 attestations 等)——与 CyberChef-MCP 项目文档保持一致的发布与版本管理。
    • 详细的测试与 CI 配置,确保服务器端逻辑、配置生成与运行时行为的稳定性。

安装与运行

  • 选项 A:使用 Docker 快速启动

    • 通过 Docker 镜像直接运行,适合快速接入和埃及环境的 MCP 客户端对接。
    • 典型流程包括拉取镜像、启动容器、确保网络可达及端口暴露等。
  • 选项 B:从源码构建运行

    • 安装 Node.js 22+、依赖并构建,运行本地 MCP 服务器实例。
    • 适合需要自定义配置、开发调试以及深度集成的场景。
  • 常用部署方式的要点

    • 容器化部署:推荐使用官方镜像以获得与文档一致的行为、进度流、HTTP 传输等特性。
    • 本地运行:可通过 npm 脚本或 Grunt 构建,确保依赖和生成的配置文件与 Core 操作列表一致。

服务器对 MCP 客户端的配置(示例描述)

以下配置用于 MCP 客户端注册并连接到 CyberChef MCP 服务器的启动信息(JSON 格式,客户端只需读取此配置即可发起连接,不需要自行实现服务器启动逻辑):

{ "serverName": "CyberChef", "description": "CyberChef MCP 后端服务,暴露 CyberChef 操作与工具供 MCP 客户端使用。", "command": "docker", "args": ["run", "-i", "--rm", "cyberchef-mcp"] }

说明:

  • serverName:对该 MCP 服务器的标识名称,便于 MCP 客户端在多服务器环境中区分。
  • description:对服务器的简要描述,帮助运维与自动化系统识别用途。
  • command 与 args:指明如何启动服务器进程(此示例展示使用 Docker 启动 CyberChef MCP 守护进程的方式)。若在本地直接执行 Node.js 服务,可将 command/args 替换为相应的 Node CLI 启动命令和参数。
  • 注:实际部署时,请根据你的环境选择最合适的启动方式(容器化或本地进程),配置中仅包含启动该 MCP 服务器所需的命令信息,MCP 客户端会读取并使用这些信息来建立连接。

基本使用方法

  • 启动服务器后,MCP 客户端将通过 JSON-RPC 请求与服务器交互,执行以下典型场景:
    • 读取与获取资源数据,作为 AI 推理时的上下文输入。
    • 调用 CyberChef 的单一操作或完整 recipe(组合操作链)作为工具执行单元。
    • 请求并渲染适配当前对话场景的 Prompt 模板,用于引导 AI 的交互。
  • MCP 客户端的常见操作包括:
    • 连接到服务器、查询服务器能力、发送资源读取请求、调用工具、获取执行进度通知、获取并渲染 Prompt。
    • 如需在本地开发中测试,可参考仓库提供的测试用例和 CI 流程,确保本地运行时输出与预期一致。
  • 重要提示
    • 确保服务器端与客户端之间的通信协议、传输通道(Stdio、HTTP、SSE、WebSocket)一致,以避免连接失败或数据格式异常。
    • 若使用容器化部署,请遵循仓库提供的安全性和性能配置,如资源限制、传输选项、以及日志与监控设置。

服务器信息