Ship Safe Model Context Protocol 服务端

使用说明(Markdown)

  • 项目简介

    • 该仓库实现了一个 MCP 服务器,核心功能包括:暴露一组可供 LLM 调用的工具(Tools)、管理资源(Resources)、定义与渲染 Prompt 模板(Prompts),并通过 JSON-RPC 2.0 在 STDIO 传输通道与客户端通信。
    • 服务器端负责会话管理、能力声明,并为未来扩展(如 SSE、WebSocket 等传输协议)提供基础框架。
  • 主要功能点

    • MCP 服务端实现:按照 MCP 规范处理初始化、工具列表查询、工具调用等 JSON-RPC 请求,返回标准化响应。
    • Tool 集成:目前实现了若干工具,如 scan_secrets、get_checklist、analyze_file,便于 LLM 调用并获取结构化结果。
    • 资源与安全:通过扫描与分析,返回包含文件路径、行/列、发现项、描述等的结果,便于 LLM 在对话中引用与处理。
    • 易于扩展:代码结构清晰,便于后续扩展更多 Tools、Resources、Prompts,以及支持 SSE/WebSocket 等传输协议。
    • 安全与鲁棒性:实现了对请求的基本处理与错误返回,遵循 JSON-RPC 的标准格式。
  • 安装与运行

    • 进入项目后,执行相关命令安装依赖并启动 MCP 服务端(CLI 内置 mcp 命令)。
    • 启动命令示例(请按实际环境执行):
      • npx ship-safe mcp
    • 服务器通过标准输入输出(stdio)与客户端进行 JSON-RPC 通信,客户端需将服务器名称、启动命令和参数配置成 MCP 客户端使用的 JSON 配置。
  • 服务器配置(MCP 客户端需要的配置示例描述)

    • 服务器名称(serverName):ship-safe
    • 启动命令(command):npx
    • 启动参数(args):["ship-safe", "mcp"]
    • 上述字段组成一个用于 MCP 客户端连接的配置对象,客户端通过该信息知道如何启动并连接到该 MCP 服务器。该配置仅用于 MCP 客户端建立连接,不需要在 MCP 服务器端运行时代码中显式暴露实现细节。
  • 基本使用方法

    • 启动服务器:运行命令 npx ship-safe mcp
    • 客户端接入:将服务器信息以 JSON 配置形式提供给 MCP 客户端,包含 serverName、command 与 args,用于启动与连接到 MCP 服务器。
    • 客户端调用示例(不在此处展示代码,仅描述流程):LLM 客户端通过 MCP 的 JSON-RPC 调用“initialize”、“tools/list”、“tools/call”等方法,服务器返回相应的数据或执行对应工具,并将结果返回给客户端,形成对话中的上下文和功能调用能力。

服务器信息