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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Remote Terminalcheck disk usage on production server and alert if over 90%"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.3.1 (Current - February 20, 2026)
Prompt Detection Logging Overhaul:
ā Production mode: 2 log lines per command (Start + Detected) instead of hundreds
ā Debug mode: full verbose logging via
prompt_detection.debug_logging: truein config.yamlā Detection summary includes: polls, lines_checked, last_non_match, matched string, total_lines
ā Pager/sudo/verify events still logged in production (rare, meaningful)
Startup Config Dump:
ā Full config.yaml logged at startup (passwords redacted)
ā Hosts summary logged (server count + default server)
ā Simplifies remote support and troubleshooting for distributed users
Auto-Default Server:
ā Default server automatically updated on every successful connection
ā Eliminates "connected to wrong server after restart" problem
ā Persisted to hosts.yaml immediately
Buffer Overflow Fix:
ā Commands no longer return [No output] after buffer reaches max_lines
ā command_start_line now tracks absolute position with offset correction
ā Sliding window deque buffer works correctly at any fill level
Version 1.3.0 (January 2026)
Virtual Environment Prompt Support:
ā Added venv prefix support to all prompt patterns
(\(.+\)\s+)?ā Supports Python venv, Conda, Poetry, Pipenv and similar tools
ā Fixed GENERIC_PROMPT patterns in server selection and machine ID detection
ā Fixed pattern defaults not applied when missing from config.yaml
ā Fixed config file copy path for pip installations
ā Fixed hosts.yaml.example template (removed invalid default field)
ā All fixes tested and verified
Version 1.2.1 (December 2024)
Standalone Import Fix:
ā Fixed ModuleNotFoundError in standalone modules
ā Added try/except fallback imports for both source and installed package usage
Code Modularization:
ā Reorganized source into modular directory structure (batch, config, database, output, prompt, ssh, state, utils, web)
ā Split large tool modules into smaller focused files
ā All 37 MCP tools tested and working after refactor
Version 1.2.0 (December 2024)
PyPI Package Distribution:
ā Full PyPI package with modern pyproject.toml configuration
ā Automatic config initialization via REMOTE_TERMINAL_ROOT environment variable
ā Config files auto-copy to user directory on first run (survives upgrades)
ā Enhanced list_servers tool with [CURRENT] and [DEFAULT] markers
ā Fixed standalone mode crash when default server unreachable
Standalone Web UI - Help System:
ā Help button (ā) added to all MCP tools with comprehensive documentation
ā Help modal with full usage examples and parameter descriptions
ā Updated all tool schemas: workflows, commands, batch, servers, file-transfer
ā Enhanced CSS with consistent button colors (green Execute, blue Help)
Recipe Management (3 new tools):
ā
delete_recipe- Permanent deletion with two-step confirmationā
create_recipe_from_commands- Manual recipe creation without executionā
update_recipe- In-place recipe modification (preserves ID/stats)ā Recipe dropdown selectors replacing manual ID entry in standalone UI
WebSocket Multi-Terminal Sync:
ā Replaced HTTP polling with WebSocket broadcast architecture
ā Multiple browser terminals stay perfectly synchronized
ā Auto-reconnect on connection loss
Version 1.1.0 (December 2024)
Batch Script Management (5 new tools):
ā
list_batch_scripts,get_batch_script,save_batch_script,execute_script_content_by_id,delete_batch_scriptā Automatic deduplication via SHA256 content hash
ā Usage statistics tracking (times_used, last_used_at)
ā Edit mode for script modifications
ā Two-step deletion with confirmation
ā Bash syntax highlighting in standalone UI (VS Code colors)
ā Tool renaming:
create_diagnostic_scriptābuild_script_from_commands,execute_batch_scriptāexecute_script_content
Version 1.0.0 (Initial Release - December 2024)
Core Features:
ā Interactive web terminal (type, paste, scroll history)
ā Multi-server management with machine identity tracking
ā Smart output filtering (95-98% token reduction)
ā Batch script execution (10-50x faster than sequential)
ā Conversation tracking with rollback support
ā Recipe system for workflow automation
ā SFTP file transfer with compression
ā SQLite database for complete audit trail
ā Full MCP integration with Claude Desktop
ā Dual-stream architecture (full output to browser, filtered to Claude)
š 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.3.1
Last Updated: February 20, 2026
Maintainer: Tim