关于 Remote Session Mcp
Remote Session Mcp 是供 AI 助手管理远程主机的 MCP 服务,可创建持久 SSH 会话并执行命令。会话保留目录和环境变量状态,并读取 SSH 配置连接主机。
主要功能
- 01创建并管理持久 SSH 会话
- 02跨命令保留目录和环境状态
- 03读取 ~/.ssh/config 主机设置
- 04上传和下载远程文件
适用场景
- 01在远程主机上逐步部署应用
- 02通过连续命令调试服务器
- 03管理并传输远程文件
MCP 相关
它向 MCP 客户端提供主机查询、会话创建与关闭、命令执行及文件传输工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Remote Session MCP Server
一个 Model Context Protocol(MCP)服务,可让 AI 助手管理持久化 SSH 会话并在远程服务上执行命令。
主要优势
带状态的持久化会话
与每次独立执行单条命令的 SSH 工具不同,此服务使用 invoke_shell() 维护交互式 Shell 会话,状态会在多条命令之间持续保留:
| 能力 | 持久化会话 | 单命令 |
|---|---|---|
工作目录(cd) | 持续保留 | 每条命令执行后丢失 |
环境变量(export) | 持续保留 | 每条命令执行后丢失 |
| 多步工作流 | 流畅自然 | 需要手动传递上下文 |
| AI 上下文感知 | 自动跟踪 pwd | 不跟踪状态 |
典型工作流:
create → execute("cd /app") → execute("export ENV=prod") → execute("./deploy.sh") → close
这非常适合 AI 驱动的部署、调试和服务器管理任务,因为这些任务中的命令彼此关联。
自动集成 SSH 配置
- 自动解析
~/.ssh/config中的连接参数 - 支持基于密钥的身份验证、自定义端口、跳板主机和所有标准 SSH 选项
- 无需硬编码凭据或连接详情
安装
# Using uv (recommended)
uv pip install -e .
# Or using pip
pip install -e .
使用方法
1. 配置 SSH
确保服务器已配置在 ~/.ssh/config 中:
Host production
HostName 192.168.1.100
User deploy
IdentityFile ~/.ssh/id_rsa
2. 运行 MCP 服务
remote-session-mcp
# Or: python -m remote_session_mcp
3. Claude Code 集成
在项目中创建 .claude/settings.json 或 mcp.json:
{
"mcpServers": {
"remote-session": {
"command": "uv",
"args": ["run", "remote-session-mcp"],
"cwd": "/path/to/sshmcp"
}
}
}
4. 可用工具
| 工具 | 描述 |
|---|---|
hosts | 列出 ~/.ssh/config 中的所有主机 |
create | 创建持久化 SSH 会话 |
execute | 执行命令(状态持续保留) |
close | 关闭会话 |
sessions | 列出活动会话 |
upload | 将文件上传到远程服务 |
download | 从远程服务下载文件 |
示例:部署应用程序
// 1. Create session
{"tool": "create", "arguments": {"host": "production"}}
// 2. Navigate and deploy (state persists)
{"tool": "execute", "arguments": {"session_id": "session_abc", "command": "cd /var/www/myapp"}}
{"tool": "execute", "arguments": {"session_id": "session_abc", "command": "git pull"}}
{"tool": "execute", "arguments": {"session_id": "session_abc", "command": "npm install"}}
{"tool": "execute", "arguments": {"session_id": "session_abc", "command": "sudo systemctl restart myapp"}}
// 3. Close session
{"tool": "close", "arguments": {"session_id": "session_abc"}}
配置(可选)
创建 ~/.remote-session/config.json 以使用自定义设置:
{
"enable_raw_output": false,
"ssh_config_path": "~/.ssh/config"
}
| 选项 | 默认值 | 描述 |
|---|---|---|
enable_raw_output | false | 返回仅移除 ANSI 代码的原始输出 |
ssh_config_path | ~/.ssh/config | SSH 配置文件的自定义路径 |
限制
- 仅支持 Linux/POSIX - 假定使用兼容 POSIX 的 Shell 和命令(
pwd、echo $?) - 需要交互式 Shell - 远程服务必须支持交互式 Shell 会话
- 会话超时 - 会话在闲置 1 小时后自动关闭(可配置)
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。