Skip to main content
Glama
maricoxu
by maricoxu
README.md
# Remote Terminal MCP

一个强大的远程终端管理模块化控制协议(MCP)服务器,为Cursor提供完整的远程服务器配置、连接管理和代码同步功能。

## 🌟 主要功能

- **智能服务器配置** - 支持SSH直连、Relay跳板机、Docker容器
- **代码同步系统** - 自动同步本地和远程代码库
- **FTP服务部署** - 自动部署和管理远程FTP服务
- **Git集成** - 本地stash和远程同步
- **配置管理** - 完整的服务器配置向导

## 🚀 快速开始

### 安装

```bash
npm install @xuyehua/remote-terminal-mcp
```

### 配置

在Cursor中配置MCP服务器:

```json
{
  "mcpServers": {
    "remote-terminal": {
      "command": "npx",
      "args": ["@xuyehua/remote-terminal-mcp"],
      "env": {}
    }
  }
}
```

## 🔄 同步工具使用指南

### 1. Git同步工具 (`git_sync`)

**功能**: 同步本地和远程代码库,确保代码一致性

**使用场景**: 
- 开发前同步远程最新代码
- 确保本地和远程代码库一致
- 备份本地修改并同步远程代码

**提示词示例**:

```markdown
# 基本同步
请帮我同步代码库,服务器名称是 "prod-server",本地路径是 "/Users/me/projects/myapp",远程路径是 "/home/user/myapp",使用main分支

# 指定分支同步
请使用git_sync工具同步代码,服务器:dev-server,本地路径:/Users/me/dev/project,远程路径:/home/dev/project,分支:develop

# 强制同步
请强制同步代码库,服务器:test-server,本地路径:/Users/me/test/app,远程路径:/home/test/app,分支:feature/new-ui,强制模式

# 同步到特定提交
请同步代码到特定提交,服务器:prod-server,本地路径:/Users/me/prod/app,远程路径:/home/prod/app,提交哈希:abc123def
```

**参数说明**:
- `server_name`: 服务器名称(必需)
- `local_path`: 本地Git仓库路径(必需)
- `remote_path`: 远程Git仓库路径(必需)
- `branch`: Git分支名称(可选)
- `commit_hash`: 特定提交哈希(可选)
- `force`: 强制同步(可选,默认false)

### 2. 自动同步启用工具 (`autosync_enable`)

**功能**: 启用自动同步,部署远程FTP服务并配置本地同步

**使用场景**:
- 开发过程中自动同步本地修改到远程
- 部署远程FTP服务用于文件同步
- 配置VSCode SFTP扩展

**提示词示例**:

```markdown
# 启用自动同步
请启用自动同步功能,服务器:dev-server,本地路径:/Users/me/dev/project,远程路径:/home/dev/project

# 使用默认路径启用
请为prod-server启用自动同步,使用配置中的默认路径

# 自定义FTP配置
请启用自动同步,服务器:test-server,本地路径:/Users/me/test/app,远程路径:/home/test/app,FTP端口:8021,FTP用户:syncuser

# 完整配置启用
请启用自动同步功能,包含以下配置:
- 服务器:prod-server
- 本地路径:/Users/me/prod/app
- 远程路径:/home/prod/app
- FTP端口:8021
- FTP用户:syncuser
- FTP密码:syncpass
```

**参数说明**:
- `server_name`: 服务器名称(必需)
- `local_path`: 本地工作目录(可选,默认使用配置)
- `remote_path`: 远程工作目录(可选,默认使用配置)

### 3. 自动同步禁用工具 (`autosync_disable`)

**功能**: 禁用自动同步,停止远程FTP服务

**使用场景**:
- 开发完成后停止自动同步
- 停止远程FTP服务
- 清理同步配置

**提示词示例**:

```markdown
# 禁用自动同步
请禁用prod-server的自动同步功能

# 停止同步服务
请停止dev-server的自动同步服务

# 清理同步配置
请为test-server禁用自动同步并清理相关配置
```

**参数说明**:
- `server_name`: 服务器名称(必需)

## 📋 完整工作流程示例

### 开发工作流程

```markdown
# 1. 开始开发前 - 同步代码
请帮我同步代码库,确保本地和远程一致:
- 服务器:dev-server
- 本地路径:/Users/me/dev/project
- 远程路径:/home/dev/project
- 分支:main

# 2. 启用自动同步 - 开始开发
请启用自动同步功能,这样我修改代码时会自动同步到远程:
- 服务器:dev-server
- 本地路径:/Users/me/dev/project
- 远程路径:/home/dev/project

# 3. 开发完成后 - 停止同步
请禁用dev-server的自动同步功能
```

### 部署工作流程

```markdown
# 1. 同步生产代码
请同步生产环境代码:
- 服务器:prod-server
- 本地路径:/Users/me/prod/app
- 远程路径:/home/prod/app
- 分支:release

# 2. 启用生产同步
请为生产环境启用自动同步:
- 服务器:prod-server
- 本地路径:/Users/me/prod/app
- 远程路径:/home/prod/app

# 3. 部署完成后停止
请禁用prod-server的自动同步
```

## 🔧 高级配置

### 服务器配置

在配置向导中可以设置:
- SSH连接信息(主机、用户名、端口)
- Docker容器配置
- 同步配置(FTP端口、用户名、密码)
- 文件包含/排除模式

### 同步配置选项

- **FTP端口**: 默认8021
- **FTP用户**: 默认syncuser
- **包含模式**: *.py, *.js, *.md
- **排除模式**: *.pyc, __pycache__, .git

## 🛠️ 故障排除

### 常见问题

1. **路径不存在错误**
   ```
   错误:本地路径不存在: /path/to/local
   解决:确保指定的本地路径存在
   ```

2. **非Git仓库错误**
   ```
   错误:本地路径不是Git仓库: /path/to/local
   解决:确保本地路径包含.git目录
   ```

3. **FTP服务启动失败**
   ```
   错误:远程FTP服务启动失败
   解决:检查远程服务器权限和网络连接
   ```

### 调试命令

```bash
# 检查同步状态
请获取dev-server的同步状态

# 查看服务器配置
请列出所有服务器配置

# 测试连接
请诊断dev-server的连接状态
```

## 📚 更多资源

- [项目文档](docs/)
- [配置指南](docs/CONFIGURATION_GUIDE.md)
- [开发指南](docs/DEVELOPMENT_GUIDE.md)
- [问题反馈](https://github.com/maricoxu/remote-terminal-mcp/issues)

## 🤝 贡献

欢迎提交Issue和Pull Request!

## �� 许可证

MIT License