
Tunnel
STDIOMCP server for executing commands on VM with web terminal and tunneling capabilities
MCP server for executing commands on VM with web terminal and tunneling capabilities
A simple MCP (Model Context Protocol) server that allows accessing the command line of a VM machine. When started, it also tunnels the host to the web so it can be accessed via MCP.
npx mcp-cli
npm install -g mcp-cli mcp-cli
# Clone repository git clone [repository-url] cd mcp-cli # Install dependencies npm install
Run the development server with hot-reloading for both backend and frontend:
npm run dev
Build both the frontend and backend for production:
npm run build-all
# Start with automatic tunneling npm start # Start without automatic tunneling npm start -- --no-tunnel
This will build the project and start the server. By default, a tunnel will be created automatically. Use the --no-tunnel
flag to disable automatic tunneling.
The server will start and provide output on stderr (to avoid interfering with MCP communication on stdout)
Use MCP to interact with the server using the following tools:
execute_command
: Run a shell command on the VM
{ "command": "your shell command" }
start_tunnel
: Create a web tunnel to access the VM interface
{ "port": 8080, "subdomain": "optional-subdomain" }
After starting the tunnel, you can access the web-based terminal interface at the URL provided by the tunnel. This interface allows you to:
Create a .env
file to configure the server:
# Server configuration
PORT=8080
# Localtunnel configuration
LOCALTUNNEL_SUBDOMAIN=your-preferred-subdomain
This tool provides direct access to your VM's command line. Consider these security practices: