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 启动等)。
- 完整的测试覆盖与易于扩展的接口设计。
- 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)决定了可调用工具集合,危险命令会被拦截并记录审计。
- 审计与日志:所有工具调用与结果写入审计日志,便于审计追踪与安全合规。
-
基本使用方法(简易步骤)
- 安装 MCP 相关依赖并确保环境就绪。
- 启动 MCP 服务器:运行 servonaut --mcp。服务器启动后将监听并响应来自 AI 客户端的 JSON-RPC 请求。
- 在 AI 客户端(如 Claude Code)中配置 MCP 服务入口,提供服务器的启动命令与参数(如上面的 JSON 配置示意)。
- AI 客户端通过 MCP 调用暴露出的工具,如 list_instances、run_command、get_logs、transfer_file 等,服务器返回相应的执行结果或错误信息。
- 如需用户界面化安装到 Claude Code,执行 servonaut --mcp-install。
- 如需审计与 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 服务端能力。