putty-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
PuTTY MCP Server
The full PuTTY toolchain exposed as a Model Context Protocol (MCP) server. Gives AI assistants like Claude complete access to SSH, SCP, SFTP, serial, key management, and more — all through PuTTY's battle-tested Windows tools.
30 tools across 8 categories. Windows-native. Covers every PuTTY executable.
What Makes This Different
Most SSH MCP servers give you basic ssh and scp wrappers. This one wraps the entire PuTTY suite with features you won't find elsewhere:
Persistent interactive sessions — Open a shell, send commands, read output over multiple turns. Background reader threads keep output flowing.
Native PPK v3 key conversion — Converts OpenSSH keys to PuTTY's PPK format in pure Python. No GUI puttygen needed.
Windows Registry integration — Full CRUD for PuTTY saved sessions. Create, read, update, delete sessions programmatically.
Multi-hop SSH — Chain through jump hosts with automatically constructed proxy commands.
Serial port support — Open PuTTY on COM ports with configurable baud, parity, stop bits.
Pageant integration — Load keys into PuTTY's SSH agent.
Related MCP server: R-Shell
Covered Executables
Executable | Purpose |
| GUI terminal sessions (SSH, Telnet, serial, raw) |
| Command-line SSH/Telnet/serial execution |
| SCP/SFTP file transfer |
| Interactive SFTP sessions |
| SSH key agent |
| Key generation (via |
Quick Start
Prerequisites
Python 3.10+
PuTTY installed (all tools)
Windows (PuTTY is Windows-native; registry tools require Windows)
Install
git clone https://github.com/wgthomas/putty-mcp.git
cd putty-mcp
pip install -r requirements.txtConfigure Claude Code / Claude Desktop
Add to your MCP config (~/.claude.json or Claude Desktop settings):
{
"mcpServers": {
"putty": {
"command": "python",
"args": ["/path/to/putty-mcp/putty_mcp.py"],
"env": {}
}
}
}PuTTY executables are auto-detected from C:\Program Files\PuTTY, PATH, or PUTTY_PATH env var.
Tools (30)
GUI Launch (3)
Tool | Description |
| Launch PuTTY with full connection parameters |
| Launch PuTTY from a saved session name |
| Launch PuTTY on a serial port |
Command Execution (3)
Tool | Description |
| Run a single command on a remote host via plink |
| Run commands from a local script file via plink |
| Create SSH tunnel (port forward) or |
Persistent Sessions (5)
Tool | Description |
| Open persistent interactive session (SSH/Telnet/serial/raw) |
| Send command to a session and return new output |
| Read output buffer from a session |
| List all active sessions |
| Close a session and clean up |
File Transfer (5)
Tool | Description |
| Upload file(s) to remote host via pscp |
| Download file(s) from remote host via pscp |
| List remote directory via pscp |
| Execute SFTP commands as a batch via psftp |
| Open persistent PSFTP session for multi-step workflows |
Key Management (6)
Tool | Description |
| Generate SSH key pair (OpenSSH + PPK format) |
| Get fingerprint of an existing key |
| Convert key to different format (RFC4716, PKCS8, PEM, PPK) |
| Extract public key in authorized_keys format |
| Load key(s) into Pageant |
| List keys loaded in Pageant |
Saved Sessions — Registry (4)
Tool | Description |
| List all PuTTY saved sessions |
| Get full config of a saved session |
| Create or update a saved session |
| Delete a saved session |
Utility (2)
Tool | Description |
| Test SSH/Telnet connectivity, returns host key |
| Get SSH host key fingerprint from a server |
Multi-Hop (2)
Tool | Description |
| Open interactive session through a proxy command |
| Execute command on target through one or more jump hosts |
Configuration
Copy config.template.toml to config.toml and adjust as needed:
Setting | Default | Description |
| Auto-detected | Path to PuTTY install directory |
|
| Enable Windows Registry session tools |
|
| Default connection protocol |
|
| Default port |
|
| Max simultaneous interactive sessions |
|
| Session idle timeout |
|
| Output buffer size per session |
| Standard | Default serial parameters (9600/8/N/1) |
Architecture
putty_mcp.py # FastMCP server, all 30 tool definitions
putty_lib/
config.py # Path resolution, TOML config loading
executor.py # Subprocess wrapper (run, spawn, launch_gui)
session_manager.py # Persistent sessions with background readers
registry.py # Windows Registry CRUD for saved sessions
utils.py # Arg building, host parsing, proxy chains
ppk.py # Native Python PPK v3 writerKey Design Decisions
No
shell=True— All subprocess calls use argument listsssh-keygenoverputtygen— Windows puttygen.exe is GUI-only with no batch CLI. All key generation uses Windows OpenSSH'sssh-keygen, then auto-converts to PPK.Native PPK conversion —
putty_lib/ppk.pywrites PPK v3 format from scratch in Python. Supports Ed25519, RSA, ECDSA. No GUI dependency.Thread-safe sessions — Background reader threads with bounded deque buffers and automatic cleanup of timed-out sessions.
Known Limitations
Pageant key listing: Pageant has no reliable CLI flag to list loaded keys as text. The tool tries
ssh-add -Lfirst (requires Pageant started with--openssh-config), falls back to opening the GUI key list window.PPK converter: Handles unencrypted keys only. Passphrase-protected keys need manual puttygen GUI conversion.
Persistent sessions: Return raw ANSI escape codes from remote shells. Functional but noisy.
Windows only: PuTTY is Windows-native. The registry tools require Windows. Core SSH functionality works anywhere plink is available.
Security
No shell=True — All commands use
subprocesswith argument listsNo credential storage — Keys and passwords are passed per-call, never persisted by the server
Registry scoped — Only reads/writes PuTTY's own registry keys under
HKCU\Software\SimonTatham\PuTTY
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect ChatGPT and Claude to your Mac, Windows or Linux with secure MCP remote access.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Remote MCP for RunComfy: ComfyUI deployments, hosted models, LoRA training. 31 tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to securely execute commands, transfer files, and manage port forwarding on remote servers via SSH.158 npm38Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server enabling AI assistants to securely operate remote servers via persistent SSH sessions, with tools for command execution, file transfer, directory listing, and system monitoring.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform extensive Windows system administration, file operations, process management, network configuration, registry editing, GUI automation, and more through a comprehensive set of MCP tools.1MIT
- AlicenseAqualityDmaintenanceEnables AI tools to manage SSH connections, execute commands, transfer files, and perform remote server diagnostics via MCP protocol.1710 npmMIT