# 功能说明

SSHMCP 5.1.1 提供 42 个 MCP 工具，精确参数以 [tools.json](../schemas/tools.json) 为准。

| 能力 | 工具 |
| --- | --- |
| 服务器目录与运行时增删改 | ssh_list_servers、ssh_server_manage |
| 单机、sudo、多机同命令 | ssh_execute、ssh_execute_sudo、ssh_execute_group |
| 上传、批量上传、下载、同步 | ssh_upload、ssh_upload_batch、ssh_download、ssh_sync |
| 远端读、写、局部编辑 | ssh_read、ssh_write、ssh_edit |
| 会话状态和命令发送 | ssh_session_start、ssh_session_send、ssh_session_list、ssh_session_close |
| 健康、服务、进程、日志、告警配置 | ssh_health_check、ssh_service_status、ssh_process_manager、ssh_monitor、ssh_tail、ssh_alert_setup |
| 备份创建、清单、恢复和计划配置 | ssh_backup_create、ssh_backup_list、ssh_backup_restore、ssh_backup_schedule |
| 数据库导出、导入、清单、查询 | ssh_db_dump、ssh_db_import、ssh_db_list、ssh_db_query |
| 部署 | ssh_deploy |
| 本地别名、Hook、Profile、分组和历史 | ssh_alias、ssh_command_alias、ssh_hooks、ssh_profile、ssh_group_manage、ssh_history |
| 连接池状态、主机密钥与 SSH 隧道 | ssh_connection_status、ssh_key_manage、ssh_tunnel_create、ssh_tunnel_list、ssh_tunnel_close |

## 传输与性能

- 原生 SSH 连接池复用连接，ProxyJump 沿用户配置的原跳板链路连接；localPath 指运行本机连接器的电脑。
- 同一命令作用于多机时，ssh_execute_group 一次调用返回各机器结果，支持 parallel、sequential、rolling。并行不是跨服务器事务。
- ssh_upload_batch 一次处理同机 1–256 个普通文件，并发 1–8、默认 4；按输入顺序返回紧凑结果，单文件原子替换，整个批次不回滚、不重放已完成文件。
- 远端文件助手在支持的 Linux x86_64 目标进行读写与原子编辑。大文件编辑无需先下载全文件到客户端；不能运行助手的目标使用兼容路径。Windows OpenSSH 目标支持 Windows 命令/路径，但不能把全部 Linux 运维封装当作 Windows 等价功能。
- 数据库和服务管理等封装依赖目标机已有命令、权限和服务；“工具可发现”不表示目标环境全部满足。

## 两种运行模式

| 项目 | 独立本机模式 | 自有中心 + 本机连接器 |
| --- | --- | --- |
| 是否需要中心/API Key | 不需要 | 需要自己的 HTTPS 中心和 Key |
| 服务器目录 | 本机 TOML / 环境配置 | 中心权威目录，通常约 5 秒同步 |
| SSH 连接与文件字节 | 本机 | 本机，沿直连/原跳板发送 |
| 同机不同客户端共享后台 | 每个独立进程拥有自己的池 | 同程序/同 profile 的客户端共享后台和池 |
| SSH 凭据 | 本机自己保存的目录、密钥文件或 agent | 中心下发的私钥和密码只放本机后台内存 |
| 会话与隧道 | 进程所有 | 每个客户端隔离，退出只清理自己的会话/隧道 |

中心连接器只将 public known_hosts 存到受限临时目录；MCP 接入 Key 仍持久化在用户私密 profile。空闲且没有客户端的后台五分钟后退出。daemon-stop 拒绝打断活动客户端。此内存约束针对应用写文件，不控制操作系统 swap/pagefile。

## 权限与兼容

服务器可设置 unrestricted、readonly、restricted；restricted 的允许规则为空时拒绝命令。此策略过滤与 SSH 账号权限共同决定可执行范围，不能把命令过滤当作操作系统沙箱。超时单位全部是毫秒，例如 timeout=10000 是 10 秒。

支持 MCP 2026-07-28 与旧 initialize 协商，传输为 stdio 或 Streamable HTTP。HTTP 模式下命令在 HTTP 服务所在主机执行；本机连接器模式才在接入电脑执行。公开 HTTP 服务需配置鉴权及 HTTPS。不存在无需授权即可接入的公共中心。
