Back to Browse

Iterminal MCP Server

by ITophua
Developer ToolsLow Risk9.7MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP Server for iTerminal SSH Connection Manager - Control SSH servers through Claude.

About

MCP Server for iTerminal SSH Connection Manager - Control SSH servers through Claude.

Security Report

9.7
Low Risk9.7Low Risk

Valid MCP server (2 strong, 4 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

6 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

clipboard

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-itophua-iterminal": {
      "args": [
        "-y",
        "iterminal-mcp-server"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

iTerminal - SSH 连接管理器

一款基于 Tauri 2 + React 构建的现代化 SSH 连接管理工具,专注于提供高效的 SSH 连接管理和终端操作体验。

项目介绍

背景

iTerminal 是一款类似于 XTerminal 的 SSH 连接管理工具,旨在帮助开发者和运维人员更便捷地管理多台服务器。

技术栈

技术版本说明
Tauri2.x跨平台桌面应用框架
React19.x前端 UI 框架
TypeScript5.x类型安全的 JavaScript
Vite7.x下一代前端构建工具
Ant Design6.x企业级 UI 组件库
xterm.js6.x终端模拟器
Zustand5.x轻量级状态管理
Rust1.75+后端 SSH 实现
russh0.50Rust SSH 客户端库
russh-sftp2.1Rust SFTP 客户端库

核心特性

  • 🚀 轻量高效 - 基于 Tauri,内存占用低,启动速度快
  • 🔐 安全可靠 - AES-256-GCM 加密存储连接信息,支持 SSH 密钥认证,自动密码迁移
  • 🖥️ 多标签管理 - 支持同时打开多个 SSH 会话
  • 📐 终端分屏 - 支持水平/垂直分屏,嵌套分屏,可拖拽调整大小
  • 🔍 终端搜索 - 支持终端内容全文搜索
  • ⌨️ 快捷键系统 - 丰富的快捷键支持,可自定义
  • 📁 文件管理 - SFTP 文件浏览、上传下载、拖拽上传、文件搜索、压缩解压、文件预览/编辑
  • 📊 系统监控 - 实时 CPU、内存、磁盘监控面板,进程管理
  • 🤖 MCP 支持 - 内置 MCP 服务器,支持 AI 助手集成
  • 🪟 多窗口支持 - 拖拽连接到边缘创建新窗口,完整终端功能复用
  • 📋 中文支持 - 完整的中文界面和右键菜单
  • 🌍 跨平台 - 支持 Windows、macOS、Linux

目标用户

  • 开发者
  • 系统运维工程师
  • DevOps 工程师
  • 需要管理多台服务器的技术人员

应用图片

安装与打包

环境要求

通用要求
  • Node.js >= 18.x
  • Rust >= 1.75
  • npm 或 pnpm
Windows
macOS
  • Xcode Command Line Tools: xcode-select --install
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install -y libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev

开发环境搭建

# 1. 克隆项目
git clone <repository-url>
cd iTerminal

# 2. 安装依赖
npm install

# 3. 启动开发模式
npm run tauri dev

生产环境打包

# 构建并打包应用
npm run tauri build

打包输出

构建完成后,安装包位于 src-tauri/target/release/bundle/ 目录:

平台输出格式文件位置
Windows.msi / .exebundle/msi/ bundle/nsis/
macOS.dmg / .appbundle/dmg/ bundle/macos/
Linux.deb / .AppImagebundle/deb/ bundle/appimage/

功能介绍

1. 连接管理

1.1 连接列表
  • 卡片式展示所有 SSH 连接
  • 分组管理(自定义分组)
  • 标签分类
  • 实时显示连接状态(在线/离线)
  • 支持按名称、IP、标签搜索筛选
  • 连接排序、批量管理
1.2 连接操作
操作说明
新建连接创建新的 SSH 连接配置
编辑连接修改现有连接信息
删除连接删除单个连接
复制连接快速复制现有配置创建新连接
连接测试测试 SSH 连通性和认证
快速连接一键打开 SSH 终端
导入/导出JSON 格式批量导入导出连接
复制 IP一键复制服务器 IP 地址
1.3 连接状态
  • 在线 - 端口可达(绿色指示灯)
  • 离线 - 端口不可达(灰色指示灯)
  • 连接中 - 正在建立连接(蓝色指示灯)

💡 启动后自动检测所有连接状态,定期刷新。

1.4 连接配置

基本配置:

  • 连接名称
  • 分组
  • 标签
  • 主机名/IP 地址
  • 端口(默认 22)
  • 用户名

认证方式:

  • 密码认证
  • SSH 密钥认证(支持 OpenSSH 和 PEM 格式)

2. SSH 终端

2.1 多标签管理
  • 支持同时打开多个 SSH 会话
  • 连接级别标签页(每个连接可创建多个会话)
  • 标签页显示服务器名称/IP
  • 会话状态标识
2.2 终端分屏
  • 支持水平/垂直分屏
  • 可拖拽调整分屏大小
  • 每个分屏独立会话管理
  • 拖拽会话标签创建新分屏
2.3 终端功能
功能快捷键/操作
终端模拟完整的 xterm.js 终端
彩色输出支持 ANSI 颜色
复制工具栏按钮 / 右键菜单 / CmdOrCtrl+Shift+C
粘贴右键菜单 / CmdOrCtrl+Shift+V
全选右键菜单
搜索工具栏搜索按钮 / CmdOrCtrl+F
全屏工具栏全屏按钮
分屏CmdOrCtrl+D 水平 / CmdOrCtrl+Shift+D 垂直
新建会话CmdOrCtrl+T
关闭会话CmdOrCtrl+W
2.4 工具栏

悬浮工具栏提供快捷操作:

  • 📋 复制 - 复制选中的终端内容
  • 🔍 搜索 - 打开搜索栏,搜索终端内容
  • 🖥️ 全屏 - 窗口最大化并收起侧边栏
  • 📊 系统监控 - 打开实时监控面板
  • 📁 文件管理 - 打开 SFTP 文件管理面板
  • 收起 - 收起工具栏为小球形态
2.5 多窗口支持
  • 拖拽连接标签到窗口边缘创建新窗口
  • 新窗口保留完整终端功能
  • 终端会话自动恢复到新窗口
  • 窗口位置自动记忆

3. 文件管理

3.1 文件浏览
  • SFTP 协议远程文件浏览
  • 树形/列表双视图切换
  • 路径输入框快速跳转
  • 显示/隐藏隐藏文件
  • 文件大小显示
  • 拖拽上传到指定目录
3.2 文件操作
操作说明
新建文件创建空文件
新建文件夹创建目录
重命名修改文件/文件夹名称
删除删除文件或目录
修改权限chmod 权限设置
压缩远程 tar.gz 压缩
解压支持 tar.gz/zip/gz 等格式
文件搜索远程文件搜索
文件预览文本文件预览
文件编辑在线编辑远程文件
复制文件名复制选中文件名
复制路径复制完整路径
3.3 文件传输
  • 上传文件 - 支持多文件选择上传
  • 上传文件夹 - 整个文件夹上传
  • 拖拽上传 - 直接拖拽文件到面板上传
  • 下载文件 - 选择保存位置下载
  • 传输进度 - 实时显示传输进度
  • 暂停/恢复 - 支持传输暂停和恢复

4. 系统监控

4.1 监控面板

实时显示服务器状态,自动刷新:

系统信息:

  • 主机名
  • 操作系统
  • 内核版本
  • 运行时间

CPU 监控:

  • 总体使用率
  • 各核心使用率(可视化)
  • 核心数量
  • 负载均值

内存监控:

  • 内存使用率(可视化)
  • 已用/总量/可用
  • Swap 使用情况

磁盘监控:

  • 各挂载点使用率
  • 已用/总量/可用空间
  • 使用率百分比

进程管理:

  • 进程列表(按内存排序)
  • 进程终止
4.2 状态指示
  • 🟢 绿色 - 使用率 < 70%
  • 🟡 黄色 - 使用率 70% - 90%
  • 🔴 红色 - 使用率 > 90%

5. MCP 服务器

内置 MCP (Model Context Protocol) 服务器,支持 AI 助手集成:

  • 通过 HTTP API 控制 SSH 连接
  • 支持命令执行、文件操作、系统监控
  • 可与 Claude 等 AI 助手集成

项目结构

iTerminal/
├── src/                        # React 前端
│   ├── main.tsx                # 应用入口
│   ├── App.tsx                 # 路由 + 布局
│   ├── components/             # 公共组件
│   │   ├── Sidebar.tsx         # 侧边栏
│   │   ├── FileManagerPanel.tsx # 文件管理面板
│   │   ├── MonitorPanel.tsx    # 系统监控面板
│   │   ├── SettingsPanel.tsx   # 设置面板
│   │   └── fileManager/        # 文件管理子模块
│   ├── pages/                  # 页面组件
│   │   ├── Terminal.tsx        # 终端页面
│   │   ├── TerminalWindow.tsx  # 新窗口终端
│   │   ├── Connections.tsx     # 连接管理
│   │   └── Transfers.tsx       # 传输管理
│   ├── stores/                 # Zustand 状态管理
│   │   ├── terminalStore.ts    # 连接/会话状态
│   │   └── transferStore.ts    # 传输记录状态
│   ├── services/               # 服务层
│   │   ├── database.ts         # 数据库服务
│   │   └── sftp.ts             # SFTP 服务
│   ├── utils/                  # 工具函数
│   │   ├── paneUtils.ts        # 分屏工具
│   │   └── TerminalManager.ts  # 终端管理
│   └── styles/                 # 全局样式
│       └── global.css          # xterm.js 样式覆盖
├── src-tauri/                  # Rust 后端
│   ├── src/
│   │   ├── main.rs             # Tauri 入口
│   │   ├── lib.rs              # 模块声明
│   │   ├── db/                 # 数据库
│   │   │   ├── schema.sql      # 数据库结构
│   │   │   └── crypto.rs       # 加密模块
│   │   └── commands/           # Tauri 命令
│   │       ├── ssh.rs          # SSH 操作
│   │       ├── sftp.rs         # SFTP 文件传输
│   │       ├── db.rs           # 数据库操作
│   │       ├── api.rs          # HTTP API 服务器
│   │       └── window.rs       # 窗口管理
│   ├── Cargo.toml              # Rust 依赖
│   ├── tauri.conf.json         # Tauri 配置
│   └── capabilities/           # 权限配置
├── mcp/                        # MCP 服务器
│   └── src/index.ts            # MCP 工具定义
├── package.json                # npm 依赖
├── vite.config.ts              # Vite 配置
└── tsconfig.json               # TypeScript 配置

安全注意事项

风险项当前状态建议
密码存储AES-256-GCM 加密存储安全
主机密钥验证已跳过后续版本将支持 known_hosts
密钥认证已实现推荐使用密钥认证
会话超时无自动锁定手动断开不使用的连接

常见问题

Q: 无法连接服务器?

  1. 检查网络连通性
  2. 确认 SSH 服务已启动
  3. 验证用户名和密码/密钥
  4. 检查防火墙设置

Q: Windows 打包失败?

  1. 确保已安装 Visual Studio Build Tools
  2. 选择 "Desktop development with C++" 工作负载
  3. 安装 WebView2 Runtime

Q: macOS 提示无法打开?

  1. 系统偏好设置 → 安全性与隐私
  2. 点击「仍要打开」
  3. 或使用命令:xattr -cr iTerminal.app

Q: 终端显示乱码?

  1. 检查服务器 locale 设置
  2. 确保终端字体支持 UTF-8
  3. 尝试调整终端字体

开发计划

已完成功能

  • SSH 连接管理
  • 多会话终端
  • 终端搜索功能
  • SFTP 文件管理
  • 文件上传/下载
  • 拖拽上传
  • 系统监控面板
  • 远程文件压缩/解压
  • 密钥认证
  • 密码加密存储
  • 连接导入/导出
  • 断线自动重连
  • 快捷键系统
  • 分屏终端
  • 终端主题配置
  • 文件预览/编辑
  • 文件搜索
  • 传输暂停/恢复
  • MCP 服务器
  • 多窗口支持

计划功能

  • 文件夹下载
  • 断点续传
  • 进程管理增强
  • Docker 管理
  • 主题切换
  • 多语言支持
  • 命令片段/Snippets

贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

Reviews

No reviews yet

Be the first to review this server!