VPS MCP Server
# VPS MCP Server
An MCP server that enables an AI agent to connect to and control a VPS (Virtual Private Server) via SSH.
## Tools
### Session Management
- **`connect_vps`**: Establish SSH connection (Host, Port, User, Password/Key).
- **`disconnect_vps`**: Close the session.
### File System Operations
- **`list_directory`**: List files/folders in a path (supports relative paths to CWD).
- **`create_directory`**: Create a new directory.
- **`read_file`**: Read file contents.
- **`write_file`**: Create or overwrite a file with content.
- **`delete_item`**: Recursively delete a file or directory.
- **`change_directory`**: Change the current working directory for subsequent commands.
- **`get_current_directory`**: Get the current tracked working directory.
### Command Execution
- **`execute_command`**: Run shell commands.
- **Note**: Commands are automatically prefixed with `cd <current_working_directory>`.
- To change directory persistently, use `change_directory` instead of running `cd` here.
## Usage
Add the following configuration to your MCP client (e.g., Claude Desktop config file):
```json
{
"mcpServers": {
"vps": {
"command": "npx",
"args": ["-y", "vps-mcp"]
}
}
}
```
## Support
If you find this project useful, consider supporting me on Patreon:
[](https://patreon.com/harjjot) or click [here](https://patreon.com/harjjot) to donate.TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose with no ambiguity. For example, change_directory modifies the working directory while get_current_directory retrieves it, and list_directory shows contents while read_file reads file data. The actions (change, connect, create, delete, etc.) and targets (directory, VPS, file) are consistently differentiated.
All tool names follow a consistent verb_noun pattern with snake_case throughout. Examples include change_directory, execute_command, and list_directory. There are no deviations in naming conventions, making the set predictable and readable.
With 10 tools, the count is well-scoped for managing a VPS via SSH. Each tool earns its place by covering essential operations like connection management, file system navigation, and command execution, without being excessive or insufficient for the domain.
The tool set provides strong coverage for core VPS management tasks, including connection handling, file CRUD operations, and directory navigation. A minor gap is the lack of tools for advanced operations like file permissions management or process monitoring, but agents can work around this using execute_command.