Skip to content

Conversation

@chouzz
Copy link
Owner

@chouzz chouzz commented Dec 23, 2025

Major refactor to v1.0.0 - Redesigned MCP tool surface and persistence layer

This PR implements a comprehensive refactor of the RemoteShell MCP server according to the task.md requirements:

Key Changes

  • Complete redesign of MCP tools: Replaced the old 6 tools with a new streamlined set:

    • list_servers - Get all saved server configurations with status
    • save_server - Persist server connection info
    • remove_server - Delete saved server configurations
    • execute_command - Execute non-interactive shell commands
    • upload_file - Upload files to remote servers
    • download_file - Download files from remote servers
  • New persistence layer: Moved from ~/.remoteShell/config.json to ~/.config/remoteshell/hosts.json with enhanced schema

  • Connection status caching: Added last_connected timestamp tracking to help LLMs prioritize recently used servers

  • Enhanced error handling: Added machine-readable error codes (e.g., auth_failed) to enable better LLM recovery and user guidance

  • Automatic path handling: File transfer tools now auto-generate local paths when omitted and return them in responses

  • Simplified configuration: Single uvx setup method only, removed complex multi-config approaches

  • FastMCP 2.x features: Leveraged new decorator capabilities for richer tool descriptions and parameter validation

Breaking Changes

  • All existing MCP tools have been removed/replaced
  • Configuration file location and format changed
  • CLI arguments removed
  • Version bumped to 1.0.0

Testing

All tests pass and the server builds correctly with the new architecture.

…istence layer

- Complete redesign of MCP tools: replaced create_connection/list_connections/close_connection
  with streamlined set: list_servers, save_server, remove_server, execute_command, upload_file, download_file
- Moved persistence from ~/.remoteShell/config.json to ~/.config/remoteshell/hosts.json
- Added connection status caching with last_connected timestamp tracking
- Enhanced error messages with machine-readable codes (e.g., auth_failed) for better LLM recovery
- Implemented automatic local path generation for file transfer tools
- Simplified configuration to single uvx setup method
- Updated to FastMCP 2.x features for richer tool descriptions
- Updated version to 1.0.0
@chouzz chouzz force-pushed the feature/v1.0.0-refactor branch from 413522e to 6be2303 Compare December 23, 2025 14:28
@chouzz chouzz merged commit e1eae3d into main Dec 23, 2025
2 checks passed
chouzz added a commit that referenced this pull request Dec 23, 2025
…istence layer (#5)

- Complete redesign of MCP tools: replaced create_connection/list_connections/close_connection
  with streamlined set: list_servers, save_server, remove_server, execute_command, upload_file, download_file
- Moved persistence from ~/.remoteShell/config.json to ~/.config/remoteshell/hosts.json
- Added connection status caching with last_connected timestamp tracking
- Enhanced error messages with machine-readable codes (e.g., auth_failed) for better LLM recovery
- Implemented automatic local path generation for file transfer tools
- Simplified configuration to single uvx setup method
- Updated to FastMCP 2.x features for richer tool descriptions
- Updated version to 1.0.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants