Skip to main content
Glama
README.md
# 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:

[![Patreon](https://img.shields.io/badge/Patreon-Donate-FF5722)](https://patreon.com/harjjot) or click [here](https://patreon.com/harjjot) to donate.

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues