Servonaut MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • Servonaut 提供一个内置的 MCP 服务器,采用 MCP 标准通过 JSON-RPC 与 AI 客户端通信。核心职责包括托管和管理资源(Resources)、注册并执行 Tools、定义并渲染 Prompt 模板,以及提供会话管理、能力声明和审计日志等能力,供 AI 客户端以标准化方式调用后端功能。
  • 主要功能点

    • MCP 核心功能
      • 资源与数据访问:后端管理与暴露服务器资源信息。
      • 工具注册与执行:定义 Tool 集合,允许 AI 客户端调用外部功能(如列出实例、执行命令、获取日志等)。
      • Prompt 模板渲染:支持按需渲染与注入到 AI 会话中的提示模板。
      • 会话与能力声明:维护会话状态、能力区分与审计追踪。
      • 多协议传输:支持 stdio、SSE、WebSocket 等传输方案(实现重点为 stdio 传输)。
    • 安全与审计
      • Guard 机制:对工具与命令进行严格的访问控制,按只读、标准、危险等级分级。
      • 审计日志:对工具调用、结果及是否允许等事件进行审计记录。
    • 集成化工具与后端
      • MCP 服务将工具实现封装为 ServonautTools,结合 AWS、SSH、SCP、关键字存储、IP-ban、CloudTrail/CW 等子服务,提供可调用的 API 集合。
    • 开发与部署便利性
      • 提供 Claude Code 等 AI 客户端的自动安装与接入支持(--mcp-install、--mcp 启动等)。
      • 完整的测试覆盖与易于扩展的接口设计。
  • 安装与运行步骤

    • 安装
      • 使用 Python 包安装,包含 MCP 模块的依赖:pip install 'servonaut[mcp]',或运行时以 dev 方式安装。
    • 运行 MCP 服务器
      • 直接运行命令启动 MCP 服务器(标准输入输出传输):servonaut --mcp
      • 如需自动将服务器注册到 Claude Code 等环境,执行:servonaut --mcp-install
    • 系统依赖
      • 需要 Python 3.x 环境,mcp 库及相关依赖在安装时一同安装。
    • 配置与集成要点
      • MCP 客户端需要的配置信息包括服务器名称、启动命令和参数(command 与 args),用于与 MCP 服务器建立连接。
      • 示例配置结构(仅示意,不作为代码块): { "name": "servonaut-mcp", "command": "servonaut", "args": ["--mcp"] }
      • 客户端配置通常不需要暴露给最终用户,主要用于实现端到端的 MCP 连接。
  • 服务器配置与使用注意

    • MCP 服务器在 Claude Code 等 AI 客户端中充当后端服务,客户端通过 JSON-RPC 调用来读取资源、执行工具、获取或渲染 Prompt。
    • 可扩展性:Guard 级别(readonly、standard、dangerous)决定了可调用工具集合,危险命令会被拦截并记录审计。
    • 审计与日志:所有工具调用与结果写入审计日志,便于审计追踪与安全合规。
  • 基本使用方法(简易步骤)

    1. 安装 MCP 相关依赖并确保环境就绪。
    2. 启动 MCP 服务器:运行 servonaut --mcp。服务器启动后将监听并响应来自 AI 客户端的 JSON-RPC 请求。
    3. 在 AI 客户端(如 Claude Code)中配置 MCP 服务入口,提供服务器的启动命令与参数(如上面的 JSON 配置示意)。
    4. AI 客户端通过 MCP 调用暴露出的工具,如 list_instances、run_command、get_logs、transfer_file 等,服务器返回相应的执行结果或错误信息。
    5. 如需用户界面化安装到 Claude Code,执行 servonaut --mcp-install。
    6. 如需审计与 guard 检查,关注 mcp_audit.jsonl 日志与 GuardGuard 规则。
  • 额外信息

    • 本实现提供的工具包括:list_instances、check_status、get_server_info、run_command、get_logs、transfer_file 等。每个工具在 MCPGuard 的监管下执行,执行结果会被审计日志记录。
    • 服务器端还包含 AuditTrail、ServonautTools、以及对接的 ConfigManager、AWSService、SSHService、SCPService、ConnectionService、CacheService 等组件,形成完整的 MCP 服务端能力。

服务器信息