使用说明(Markdown 要点)

  • 项目简介
    • 该仓库提供一个完整的 MCP 服务端实现,遵循 MCP 协议规范,通过 JSON-RPC 2.0 的格式进行请求/响应交互,核心能力包含资源管理、工具执行以及提示模板的管理和渲染,目标是为 LLM 客户端(如 Claude 等)提供安全、可扩展的上下文服务。
  • 主要功能点
    • 通过 MCP 服务端处理初始化、工具列表查询、工具调用、资源列表读取等请求,返回结构化的 JSON-RPC 响应。
    • 提供对任务脚本的本地与远程执行路径,包含快速路径执行、需要人工审批的会话路径,以及远程执行的部署/结果回传。
    • 支持对沙箱运行环境的快照分析、自动化审批、会话结果查询,以及远程会话的创建与结果轮询。
    • 提供用于状态和配置查询的资源端点(如可用的 Profiles、Profile 配置、运行时状态、已配置 Remotes 等)。
    • 具备审计日志记录、会话管理和过期清理等安全与运维相关功能。
  • 安装步骤
    • 克隆仓库后,安装所需运行环境(纯 Python 实现,无额外运行时依赖,依赖项由代码本身尽量以标准库实现)。
    • 使用 MCP 客户端需要的配置通常包含服务端启动命令及参数(如下“服务器配置示例”所述)。
    • 通过命令入口 shannot-mcp 启动 MCP 服务器,服务器端会加载默认或自定义的配置文件并进入 JSON-RPC 循环。
  • 服务器配置(MCP 客户端需要的配置示例,使用 JSON 格式) 说明:MCP 客户端需要知道如何启动 MCP 服务器,以及要连接的服务器名称和命令行参数。配置示例如下(仅为说明用途,具体参数请结合你的实际环境配置): { "server_name": "shannot", "command": "shannot-mcp", "args": [ "--profile", "/path/to/default_profile.json" // 指向一个 JSON 配置文件,包含 auto_approve 与 always_deny 等字段 ] } 说明:
    • server_name 表示 MCP 服务器在你系统中的名称标识,便于在多服务器场景中区分。
    • command 指定启动 MCP 服务器的可执行命令(这里为 shannot-mcp)。
    • args 为启动参数列表,通常用于指定一个或多个 profile JSON 文件路径,该文件应包含 auto_approve 与 always_deny 等策略信息(详见仓库中的默认配置逻辑)。 注释:MCP 客户端本身不需要此配置代码,只需要知道服务器名称、启动命令及参数即可与 MCP 服务器建立连接。
  • 基本使用方法
    • 启动 MCP 服务器后,LLM 客户端发出 JSON-RPC 请求,服务器返回结构化的 JSON-RPC 响应或相应的错误信息。
    • 客户端可以通过以下核心能力与服务器交互:读取资源、调用工具、获取提示模板等,并通过会话机制处理需要人工审批的操作。
    • 结合测试与演示用例,可以体验快速路径执行、审批路径的会话创建、以及远程执行的完整流程。

信息

分类

AI与计算