Skip to content
Agentmart
Submit a tool

Remote Terminal MCP

Complete SSH terminal for Linux with AI/user control and dual-stream visibility

Connector by TiM00R · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/tim00r-remote-terminal

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Complete SSH terminal for Linux with AI/user control and dual-stream visibility

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
15 read · 18 write · 5 delete · 3 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 41

Read from the source code; the running server may list different tools.

Read 15 · Look things up without changing anything.

  • check_command_status
  • get_batch_script
  • get_command_output
  • get_conversation_commands
  • get_current_server
  • get_recipe
  • get_remote_file_info
  • get_terminal_status
  • list_batch_scripts
  • list_command_history
  • list_conversations
  • list_recipes
Show 3 more tools
  • list_remote_directory
  • list_servers
  • list_session_commands

Write 18 · Create, change, send or run things.

  • add_server
  • build_script_from_commands
  • cancel_command
  • create_recipe
  • create_recipe_from_commands
  • download_directory
  • download_file
  • execute_recipe
  • execute_script_content_by_id
  • save_batch_script
  • select_server
  • set_default_server
Show 6 more tools
  • start_conversation
  • update_command_status
  • update_recipe
  • update_server
  • upload_directory
  • upload_file

Delete 5 · Delete, drop, revoke or wipe things.

  • delete_batch_script
  • delete_recipe
  • execute_command
  • execute_script_content
  • remove_server

Not yet classified 3 · We could not tell from the name and description.

  • end_conversation
  • open_terminal
  • resume_conversation

Secrets and settings it asks for

Other settings (environment variables or headers).

  • REMOTE_TERMINAL_ROOT

Tools (41)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_server

    Add a new server configuration

  • build_script_from_commands

    Helper tool to create a batch (shell) script from command list. Useful for AI to quickly build properly formatted scripts. Example: commands = [ {"description": "Network interfaces", "command": "ip link show"}, {"description": "Routing table", "command": "ip route show"}, {"description": "DNS config", "command": "cat /etc/resolv.conf"} ]

  • cancel_command

    Send Ctrl+C to a running command. Use when user wants to stop a long-running command.

  • check_command_status

    Check status of a long-running command. OUTPUT_MODE: Same options as execute_command - "auto": Smart decision based on output size - "full": Get complete output (for completed commands) - "preview": Peek at first/last lines - "summary": Just metadata (polling frequently) - "minimal": Status only - "raw": Complete unfiltered output (no truncation, no filtering) Use "summary" or "minimal" when polling frequently to save tokens. Use "full" when command completes and you need results. …

  • create_recipe

    Create a reusable recipe from a successful conversation. A recipe is a documented, reusable command sequence extracted from a successful conversation. Recipes can be executed later on any compatible server. USAGE: - Call after a conversation ends successfully - Provide clear name and description - Optionally specify prerequisites and success criteria - Command sequence is automatically extracted from conversation RETURNS: - recipe_id: Use this to reference the recipe - name: Recipe name - command_count: Number of commands in recipe

  • create_recipe_from_commands

    Create a recipe from a command list (no conversation required). Use this to: - Build recipes manually without executing first - Create recipes from documentation - Combine commands from multiple sources COMMAND TYPES: 1. Shell: {"sequence": 1, "command": "ls -la", "description": "List"} 2. MCP: {"sequence": 2, "type": "mcp_tool", "tool": "execute_script_content", "params": {...}}

  • delete_batch_script

    Delete a batch script from database (requires confirmation). First call without confirm shows script details and warning. Second call with confirm=true actually deletes. This is a hard delete - execution history is preserved but script content is lost.

  • delete_recipe

    Delete a recipe (nard delete - not recoverable). USAGE: - First call without confirm=true to see recipe details - Second call with confirm=true to actually delete - Deleted recipes are hidden but preserved in database IMPORTANT: This requires confirmation to prevent accidental deletion.

  • download_directory

    Smart directory download with automatic compression and progress tracking. Automatically decides whether to use compression and background mode based on transfer characteristics.

  • download_file

    Download a file from remote server to local machine via SFTP

  • end_conversation

    End a conversation and mark its final status. STATUS OPTIONS: - 'success': Goal achieved successfully - 'failed': Goal not achieved - 'rolled_back': Commands were undone IMPORTANT: Status should be determined by USER feedback, not just command exit codes. A command can succeed technically but fail to achieve the user's goal. USAGE: - Call after user confirms goal is achieved or failed - Optionally add user_notes for context

  • execute_command

    Execute command on remote Linux machine with smart completion detection. BEHAVIOR: - Waits for command completion (detects prompt return) OR timeout - Returns smart-formatted output based on output_mode - Full output stored in buffer - Optionally tracks in conversation for rollback support TIMEOUT: - Default: 10 seconds (sufficient for most commands) - Override for long operations: timeout=300 (5 min), timeout=1800 (30 min) - Maximum: 3600 seconds (1 hour) OUTPUT_MODE OPTIONS: - "auto" (default): Smart output based on command type and size * < 100 lines: returns full output * >= 100 lin…

  • execute_recipe

    Execute a saved recipe on current or specified server. Handles both shell commands and MCP tool calls automatically.

  • execute_script_content

    Execute multi-command batch script on remote Linux server. OUTPUT_MODE_GUIDANCE: Use output_mode='full' for diagnostic commands with expected concise output. Full output returns directly in the response for immediate analysis. LOG_FILE_LOCATION: Script output is automatically saved to the local user's home directory: - %USERPROFILE%\mcp_batch_logs\batch_output_[timestamp].log Use Aspen tools (apsen-tool_v2:read_file) with project root ~\mcp_batch_logs to access saved log files for post-execution analysis—for example, extracting specific error context, parsing structured data, debugging by r…

  • execute_script_content_by_id

    Execute a saved batch script by ID. Loads script from database and executes it on the remote server. Increments usage counter and tracks execution in batch_executions table.

Show 26 more tools
  • get_batch_script

    Get batch script details and content by ID. Returns complete script information including source code. Use this to view a script before executing or editing it.

  • get_command_output

    Get full unfiltered output of a command. WARNING: Uses more tokens than filtered output.

  • get_conversation_commands

    Get all commands from a conversation. USAGE FOR ROLLBACK: - Set reverse_order=true to get commands in undo sequence - Check has_errors and backup_file_path fields - Use this data to generate undo commands RETURNS: Array of command objects with: - id, sequence_num: Identification - command_text: Original command - result_output: Command output - has_errors: Boolean from output analysis - error_context: Error details if has_errors=true - backup_file_path: Backup location if file was modified - status: 'executed' or 'undone'

  • get_current_server

    Get the currently connected server information

  • get_recipe

    Get detailed recipe information including command sequence. Use this to: - View complete recipe details - See exact command sequence - Check prerequisites and success criteria RETURNS: - Full recipe details - Complete command sequence - Usage statistics

  • get_remote_file_info

    Get detailed information about a remote file or directory

  • get_terminal_status

    Check the connection status of the remote terminal

  • list_batch_scripts

    List batch scripts saved in database. Browse saved scripts with filtering and sorting options. Use this to find scripts to reuse or manage.

  • list_command_history

    List command execution history from database with flexible filters. Query persistent command history across all servers and sessions. Useful for: - Reviewing what commands were executed on a server - Finding commands from specific dates or time periods - Debugging by examining command history - Auditing command execution - Analyzing errors across multiple sessions Returns database records with integer IDs, command text, execution status, timestamps, error information, and conversation context when available. By default, shows commands from the currently connected server.

  • list_conversations

    List conversations with optional filters. Useful for: - Finding previous work on similar goals - Reviewing conversation history - Identifying successful patterns for recipes FILTERS: - server_identifier: Limit to specific server - status: Filter by 'in_progress', 'paused', 'success', 'failed', 'rolled_back' - limit: Max number to return (default 50)

  • list_recipes

    List all available recipes. Useful for: - Browsing available automation recipes - Finding recipes for specific tasks - Reviewing recipe history RETURNS: List of recipes with: - id, name, description - command_count - times_used, last_used_at - created_at, created_by

  • list_remote_directory

    List contents of a remote directory

  • list_servers

    List all configured servers with their details. Shows server status markers: - [CURRENT]: Currently connected server - [DEFAULT]: Default server (auto-connects when no server specified) Returns: Server names, hosts, ports, users, descriptions, tags, and status markers.

  • list_session_commands

    List tracked commands from current session with status. Shows commands in CommandRegistry (in-memory, max 50). Useful for checking what's currently running or was recently executed in this session. For historical commands from database, use list_command_history instead.

  • open_terminal

    Open the web terminal in a browser tab. If a terminal tab is already open, closes it and opens a fresh one. If the web server is not running, starts it first. Use this when the terminal tab has been lost or closed.

  • remove_server

    Remove a server configuration

  • resume_conversation

    Resume a paused conversation. Use this when: - New Claude dialog started and previous conversation still in progress - Switched back to server with paused conversation - Want to continue previous work RETURNS: - conversation_id: Resumed conversation ID - goal: Original goal summary - message: Confirmation message

  • save_batch_script

    Save a batch script to database (without executing). Saves script for later reuse. Automatically deduplicates based on content hash. Does NOT execute the script - use execute_script_content_by_id to run it.

  • select_server

    Select and connect to a server by name, IP, or tag. ⚠️ CRITICAL CLAUDE WORKFLOW: When this tool returns 'open_conversations' in the response, Claude MUST: 1. STOP and present the information to the user 2. ASK the user to choose ONE of these options: - Resume specific conversation: "resume conversation [ID]" - Start new conversation: "start new conversation for [goal]" - Run without conversation: "run commands without conversation" 3. Wait for user's explicit choice 4. Execute the choice (start_conversation, resume_conversation, or set no-conversation mode) 5. After user choice, ALL …

  • set_default_server

    Set default server (shown in list_servers with [DEFAULT] marker). The default server is the preferred server for operations that don't specify a server. When you execute commands without an active connection, Claude will automatically connect to the default server. Note: Use list_servers to see which server is currently marked as default.

  • start_conversation

    Start a new command conversation to track related commands. A conversation groups commands by goal (e.g., "configure wifi", "install docker"). This enables rollback of entire workflows and recipe creation from successful sequences. IMPORTANT - ACTIVE CONVERSATION DETECTION: - If conversation already in progress on this server, returns warning - Use force=true to create new conversation anyway - Otherwise, resume existing conversation or end it first USAGE: - Start conversation before executing related commands - All subsequent execute_command calls with conversation_id use this conversation…

  • update_command_status

    Update command status (for rollback tracking). Call this after undoing a command to mark it as 'undone'. This prevents re-attempting undo on already undone commands. USAGE: - Execute undo command via SSH - If successful, call update_command_status(command_id, 'undone')

  • update_recipe

    Update an existing recipe in-place (preserves ID and usage stats). Allows modifying any recipe fields while keeping the same recipe ID. Only updates fields you specify - all other fields remain unchanged. USAGE: - Specify recipe_id and any fields you want to update - Fields not specified will remain unchanged - Preserves: recipe ID, created_at, times_used, last_used_at - Updates: any fields you provide IMPORTANT: This modifies the recipe in-place. The old version is not saved. If you want to keep both versions, use create_recipe_from_commands instead.

  • update_server

    Update an existing server configuration

  • upload_directory

    Smart directory upload with automatic compression and progress tracking. Automatically decides whether to use compression and background mode based on transfer characteristics.

  • upload_file

    Upload a file from local machine to remote server via SFTP

Signals

Weekly downloads
39
Last release
Jun 3, 2026 (4 months ago)
Last package publish
Jun 3, 2026 (4 months ago)

From the package registry.

Details

Registry name
io.github.TiM00R/remote-terminal
Version
1.3.3
Auth
No auth
Packages
pypi remote-terminal-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from TiM00R

Cite this page

Remote Terminal MCP. Agent Mart. https://agentmart.dev/connectors/tim00r-remote-terminal (last updated 2026-10-24)