FsTTY

A secure Windows SSH workspace and MCP server for Codex, Claude Code, Cursor and other AI agents.

LLM Mart 0 views 5 listing impressions
Transport
Not stated
Package
—
Registry id
—

No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.

面向 AI Agent 的 Windows SSH 与 MCP 安全操作台。

简体中文 | English

最新版本 Version Windows x64 MIT License

FsTTY MCP 设置

为什么使用 FsTTY MCP

FsTTY 把已经保存的 SSH 会话安全地开放给 Codex、Claude、Cursor 等 Agent。Agent 不接触密码和私钥,只能在用户授权的会话分组中调用明确的工具。

  • 最小权限:按会话分组分别控制访问、文件读取、文件传输、命令、编辑和删除。
  • 复用 SSH 能力:终端、SFTP、主机密钥校验和凭据保护由 FsTTY 统一处理。
  • 本地与远程接入:支持本机 stdio,以及可信局域网或 VPN 内的 Streamable HTTP。
  • 一键配置 Agent:自动检测本机 Agent,支持 stdio 或本地 HTTP,合并 MCP 配置和全局提示词,不覆盖无关设置。
  • 适合生产排障:支持远程日志搜索、分段读取、命令执行、原子写入和受控文件传输。
  • 可审计:独立记录工具、会话、结果和耗时;可选记录脱敏后的工具输入。

MCP 工具

FsTTY 目前提供 17 个 MCP 工具:

权限 工具 能力
无需会话权限 get_permission_guide 返回目标工具所需权限和当前界面的设置步骤
访问 list_sessions、get_device_status 发现已授权会话;读取 CPU、内存、磁盘、网络、系统和运行时间;也是所有工具的前置权限
文件读取 list_remote_files、read_remote_file、search_remote_file 浏览目录、分段读取文件、按关键词扫描远程日志
文件传输 upload_local_file、download_remote_file、create_remote_file_upload_link、create_remote_file_download_link 通过 stdio Roots 或五分钟有效链接上传、下载文件
编辑 write_remote_file、create_remote_directory、rename_remote_entry、move_remote_entry 原子写入文件;创建、重命名和移动远程条目
删除 delete_remote_entry 递归删除远程文件或目录
命令 get_command_policy、execute_command 查询当前高级命令策略,并在已授权会话中执行远程 Shell 命令

search_remote_file 单次最多扫描 16 MiB,响应限制为 8 MiB,可携带前后各 0–50 行上下文,并通过 nextOffset 继续扫描。适合搜索大日志,无需先读取完整文件。

权限与安全边界

新会话分组默认未向 MCP 开放。启用分组访问后即可发现会话并读取设备状态;文件读取默认开启,文件传输、命令、编辑和删除默认关闭。

  • 权限保存后对下一次 stdio 或 HTTP 请求立即生效,无需重连。
  • 命令权限可能绕过编辑和删除限制,只应授予可信 Agent。
  • FsTTY MCP 工具不会返回密码、私钥正文、私钥口令或 HTTP Bearer Token。
  • 首次出现或发生变化的主机密钥必须先在 FsTTY 界面核对并确认。
  • 文件写入采用临时文件和原子替换;上传、重命名和移动不会覆盖已有目标。
  • 删除没有回收站,FsTTY 会在工具描述中将其标记为破坏性操作。
  • 权限配置无法读取或校验失败时,请求默认拒绝。

stdio 与 HTTP

当前开发分支在 Windows 默认使用独立 SSH 凭据服务。安装、迁移和认证配置变更需要 UAC;日常连接免交互。原私钥文件、剪贴板和尚未清理的旧副本仍可被同账号程序读取。服务不提供秘密导出,MCP Token 继续使用原有存储。参见 Windows 凭据服务与验收说明。

stdio Streamable HTTP
场景 本机 Agent 本机、可信局域网或 VPN 内的 Agent
地址 cmd.exe 调用应用数据目录中的固定 MCP 启动脚本 http://<FSTTY_HOST_IP>:37653/mcp(默认端口)
认证 本地进程通信 Windows 凭据库中的 Bearer Token
本地文件传输 使用 MCP 客户端 Roots 使用 5 分钟传输链接
网络暴露 无监听端口 监听所有 IPv4 接口,明文传输

stdio 与 HTTP 开关独立生效,关闭其中一种不会停止另一种。一键配置只启用所选传输方式,并保留另一开关的状态。

stdio 本地配置固定指向 mcp-runtime/fstty-mcp.cmd;脚本会从原子更新的版本指针启动当前 FsTTY MCP 运行时,因此应用更新后只需重新连接 Agent。

HTTP 的“一键本地配置”写入 http://127.0.0.1:<已保存端口>/mcp,不准备或启动独立 stdio 运行时。FsTTY 必须保持运行,轻量模式同样可用。

HTTP 禁止暴露到公网。/mcp 面向原生 MCP 客户端,拒绝带 Origin 的请求,不支持浏览器 MCP 客户端或 CORS。

传输链接本身即凭据,不再要求 Bearer Token。下载支持单区间断点续传;上传首次成功后立即失效,并且绝不覆盖已有远程文件。

GUI 全模式单实例

同一登录会话内,普通、最小化、最大化和轻量模式共用一个 GUI 主实例。再次启动 FsTTY 会唤回已有窗口;最小化窗口先还原,最大化窗口保持最大化,轻量模式重建主窗口并恢复原有会话。不会启动第二套托盘或 MCP HTTP 服务。

--mcp-stdio 仍按客户端独立运行,不受 GUI 单实例限制;WebView2 也可能产生多个系统进程。单实例不等于任务管理器中只有一个进程,不会自动结束旧版本进程。

开机自启

在“设置 → 常规 → 通用设置”开启“开机自启”,当前 Windows 用户登录后启动 FsTTY,默认关闭。普通模式显示主窗口;上次处于轻量模式时仅显示托盘。沿用 GUI 单实例检查,不自动重连 SSH,也不另行启动 MCP stdio 进程。

开关直接读取系统登记,不在应用配置中重复保存。加载和保存期间禁止重复操作;返回设置页或窗口重新获得焦点时刷新,失败可重新读取或重试。自启与 HTTP 一键配置独立控制,不创建系统服务或计划任务。

轻量模式

点击标题栏最小化按钮左侧的叶子按钮,可关闭主 WebView,保留同一进程中的 SSH、终端程序和后台上传下载。首次进入需确认,可选择“不再提示”。从托盘“显示主窗口”或再次启动 FsTTY 恢复界面;普通关闭按钮仍退出程序。

CPU、内存曲线在轻量期间继续采样,恢复后显示最近 10 分钟。每个 GUI 连接独立保存最多 121 条样本;数据只在内存中保留,断开连接或退出进程后清除。后台沿用约 5 秒一轮的设备采集,会继续产生少量 SSH 请求。

轻量开关跨进程重启保留,SSH、Vim 和传输本身不跨进程保活。终端快照仅保存在内存;缓存达到上限时截断旧历史,保留当前画面。详见实现边界与 Windows 验收清单。

快速开始

From the project's README.

Related servers

Semantic search over free-to-use stock photos from 9 libraries: by words, image, or similar.

25 views

Universal MCP Server with advanced AI memory capabilities and semantic search.

24 views

Control plane MCP for scoped recon, triage, and bounded proofs.

23 views

Let Codex orchestrate external coding agents through their native harnesses.

23 views