Can check Docker installation status and version on remote Linux servers through command execution.
Built with FastAPI as the web framework powering the standalone web interface and control panel.
Enables remote Linux server management through SSH, allowing execution of bash commands, system diagnostics, software installation, file operations, and log analysis with real-time terminal output and smart filtering.
Supports installation, configuration, and management of NGINX web servers on remote Linux systems through SSH command execution.
Core implementation language requiring Python 3.9+ for running the MCP server and its components.
Uses SQLite for maintaining audit trails, command history, conversation tracking, batch script library, and automation recipes with usage statistics.
Remote Terminal
AI-Powered Remote Linux Server Management via MCP
Remote Terminal lets Claude (the AI assistant) execute commands on your remote Linux servers through a natural chat interface. Watch full output in your browser in real-time while Claude receives smart-filtered summaries optimized for token efficiency.
šÆ What Is This?
Imagine telling Claude:
And Claude does it - executing commands, analyzing output, saving useful scripts, and taking action on your behalf.
That's Remote Terminal.
⨠Key Features
Core Capabilities
š„ļø Remote Command Execution - Run any bash command on Linux servers
š Multi-Server Management - Switch between multiple servers easily
š File Transfer (SFTP) - Upload/download files and directories with compression
š Batch Script Execution - Run multi-command scripts 10-50x faster
š Batch Script Library - Save, browse, and reuse batch scripts (NEW in 3.1)
š¬ Conversation Tracking - Group commands by goal with rollback support
šÆ Recipe System - Save successful workflows for reuse
šļø Database Integration - Full audit trail with SQLite
š Interactive Web Terminal - Full-featured terminal in browser (type, paste, scroll history)
š Multi-Terminal Sync - Open multiple terminals, all perfectly synchronized
⨠Bash Syntax Highlighting - VS Code-style colors in standalone UI (NEW in 3.1)
The Interactive Web Terminal
Remote Terminal provides a fully interactive terminal window in your browser at http://localhost:8080 - it looks and feels just like WSL, PuTTY, or any standard terminal:
You can:
Type commands directly (just like any terminal)
Copy/paste text (Ctrl+C, Ctrl+V)
Scroll through command history
Use arrow keys for history navigation
View real-time command output with colors preserved
Claude can:
Execute commands that appear in your terminal
See command results instantly
Continue working while you watch
The key advantage: You maintain complete visibility and control. Every command Claude runs appears in your terminal window in real-time. You're never in the dark about what's happening on your server - it's like sitting side-by-side with an assistant who types commands for you while you watch the screen.
Multi-Terminal Support: Open multiple browser windows at http://localhost:8080 - they all stay perfectly synchronized via WebSocket broadcast. Type in one terminal, see it in all terminals instantly. Perfect for multi-monitor setups or sharing your view with others.
ā ļø Best Practice: Close unused terminal tabs when done. While the system handles multiple connections efficiently, keeping many old tabs open can consume unnecessary resources and may cause connection issues.
š¬ See It In Action
https://github.com/user-attachments/assets/98a6fa41-ec4f-410b-8d4a-a2422d8ac7c9
Watch the interactive web terminal in action - see Claude execute commands while you maintain full visibility and control
The Dual-Stream Architecture
Behind the scenes, Remote Terminal uses a smart two-stream approach:
Result:
You: Full visibility and control in interactive terminal
Claude: Efficient work with 95% token savings
Both: Shared SSH session, synchronized state
Best of both worlds!
š Quick Start
Installation
Step 1: Create Installation Directory
Step 2: Install Package
Step 3: Configure Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json:
Important: Replace C:\RemoteTerminal with your actual installation path from Step 1.
Step 4: First Run - Auto Setup
Restart Claude Desktop. On first use, configuration files will automatically copy to C:\RemoteTerminal:
config.yaml- Default settings (auto-created from package defaults)hosts.yaml- Server list (auto-created from template)
Step 5: Configure Your Servers
You have two options to configure your servers:
Option A: Manual Configuration (Recommended for first server)
Edit C:\RemoteTerminal\hosts.yaml:
Option B: AI-Assisted Configuration
Ask Claude to help you add a new server:
Claude will use the add_server tool to update your hosts.yaml file automatically.
Restart Claude Desktop and test:
Step 6: (Optional) Run Standalone Web Interface
Access at:
Control Panel: http://localhost:8081
Terminal: http://localhost:8082
š Documentation
Complete guides for every use case:
Quick Start ā Get running in 5 minutes
Installation ā Detailed setup instructions
User Guide ā Complete feature walkthrough
Feature Reference ā All MCP tools reference
Troubleshooting ā Common problems and solutions
WebSocket Broadcast ā Multi-terminal synchronization details
Release Notes v3.1 ā Release notes for version 3.1
š” Usage Examples
System Administration
Software Management
Troubleshooting
File Operations
Automation & Script Management
šØ Example Session
You:
Install nginx on my production server
Claude:
I'll install nginx. This will create a package installation...
Interactive terminal opens automatically at
Web Terminal shows (real-time):
Claude receives (filtered summary):
Claude responds:
nginx has been successfully installed and is now running. The service is active. Would you like me to configure it or show you the default page?
Token savings: 96% (15,000 tokens ā 600 tokens)
šļø Architecture
Project Structure
Technology Stack
Python 3.9+ - Core language
MCP Protocol - Claude integration
Paramiko - SSH/SFTP library
NiceGUI + WebSockets - Web terminal with multi-terminal sync
SQLite - Database for history/recipes/scripts
FastAPI - Web framework
š§ Configuration
Configuration Files Location
Configuration files are automatically copied to your working directory on first run:
For PyPI users:
Set
REMOTE_TERMINAL_ROOTin Claude Desktop configFiles auto-copy to that directory on first run
Location:
%REMOTE_TERMINAL_ROOT%\config.yamlandhosts.yamlUser data preserved when reinstalling/upgrading
Default template files packaged with installation:
config/config.yaml- Default settings templateconfig/hosts.yaml.example- Server configuration template
hosts.yaml
Define your servers:
š”ļø Security Considerations
Current Status
Passwords stored in plain text in
hosts.yamlWeb terminal bound to localhost only (not network-exposed)
Full command audit trail in database
SSH uses standard security (password authentication)
User config files stored outside package (preserved on reinstall)
š Performance
Token Efficiency
Average token savings on verbose commands:
Command Type | Full Output | Filtered | Savings |
apt install | ~15,000 | ~600 | 96% |
ls -la /var | ~8,000 | ~400 | 95% |
Log search | ~12,000 | ~500 | 96% |
find / | ~30,000 | ~800 | 97% |
Average: 95-98% token reduction on verbose commands
Speed Improvements
Batch execution vs sequential:
10 commands sequential: 5 minutes (10 round-trips)
10 commands batch: 30 seconds (1 round-trip)
Speed improvement: 10x faster!
š Advanced Features
Batch Script Library
Save batch scripts for reuse:
Features:
Automatic deduplication via SHA256 hash
Usage statistics tracking
Edit mode for modifications
Search and sort capabilities
Two-step deletion with confirmation
Conversation Tracking
Group related commands by goal:
Benefits:
Organized command history
Rollback capability
Context for AI
Recipe generation
Recipe System
Save successful workflows:
Reuse on any compatible server:
Machine Identity
Each server tracked by unique machine_id (hardware + OS fingerprint):
Commands tracked per physical machine
Recipes execute on compatible systems
Audit trail maintains integrity
Handles server IP changes
š Known Issues & Limitations
Current Limitations
Designed for Windows local machine
Currently optimized for Windows 10/11
Linux/Mac support possible with modifications
SSH Key Support not implemented
Password authentication only
SSH keys work with manual SSH but not integrated with MCP tools
Works with only one remote server at a time
Can configure multiple servers
Can only actively work with one server per session
Switch between servers as needed
š¤ Contributing
This is Tim's personal project. If you'd like to contribute:
Test thoroughly on your setup
Document any issues found
Suggest improvements
Share recipes and scripts you create
š Version History
Version 1.1.3 (Current - December 20, 2024)
Configuration System Improvements:
ā Auto-copy config files on first run
ā User data preserved outside package directory
ā REMOTE_TERMINAL_ROOT environment variable support
ā Simplified installation process
ā Config templates packaged in config/ folder
Version 3.1 (December 16, 2024)
NEW - Batch Script Management:
ā 5 new MCP tools for batch script library management
ā Automatic deduplication via SHA256 content hash
ā Usage statistics tracking (times_used, last_used_at)
ā Edit mode for modifying saved scripts
ā Two-step deletion with confirmation
ā Standalone UI with bash syntax highlighting (VS Code colors)
ā Script dropdown selectors with auto-population
Tool Renaming (for clarity):
ā
create_diagnostic_scriptābuild_script_from_commandsā
execute_batch_scriptāexecute_script_content
Version 3.0 (December 2024)
ā Converted from PostgreSQL to SQLite
ā Eliminated Docker dependency
ā Multi-server support with server selection
ā Machine identity tracking (hardware fingerprints)
ā Conversation management (pause/resume)
ā Recipe system for automation
ā Batch script execution with progress tracking
ā SFTP directory transfer with compression
ā Comprehensive database integration
ā Full audit trail
ā WebSocket-based multi-terminal synchronization
Version 2.0 (October 2024)
ā Dual-stream architecture
ā Smart output filtering
ā Web terminal auto-open
ā MCP integration with Claude
Version 1.0 (Initial Release)
ā Basic SSH command execution
ā Simple web terminal
ā PostgreSQL backend
š Support
For issues or questions:
Check Documentation
Review Logs
Claude Desktop logs (Help ā Show Logs)
Test Components
Use standalone mode (start_standalone.ps1)
Test SSH manually
Verify database (view_db.py)
š License
This project is for personal use by Tim. Not currently open source.
š Acknowledgments
Anthropic - Claude and MCP protocol
Paramiko - SSH library
FastAPI - Web framework
NiceGUI - UI components with WebSocket support
Ready to let Claude manage your servers? Check out
Version: 1.2.0 (Auto-config, user data preservation)
Last Updated: December 23, 2024
Maintainer: Tim