vpsnet-mcp 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -1
- package/build/index.js +20 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,7 +28,27 @@ This MCP server manages your VPS infrastructure through the VPSnet.com API, incl
|
|
|
28
28
|
|
|
29
29
|
Most AI coding environments (Claude Code, Cline, Cursor, Codex) have built-in terminal access, so the AI can SSH into your VPS immediately after deploying a key — no extra tools needed.
|
|
30
30
|
|
|
31
|
-
For environments without native SSH access,
|
|
31
|
+
For environments without native SSH access, pair this with [mcp-server-ssh](https://github.com/bacarrdy/mcp-server-ssh) for direct server connectivity via MCP tools.
|
|
32
|
+
|
|
33
|
+
**Combined config:**
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"vpsnet": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["-y", "vpsnet-mcp"],
|
|
41
|
+
"env": {
|
|
42
|
+
"VPSNET_API_KEY": "your_api_key_here"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"ssh": {
|
|
46
|
+
"command": "npx",
|
|
47
|
+
"args": ["-y", "mcp-server-ssh"]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
32
52
|
|
|
33
53
|
## Requirements
|
|
34
54
|
|
package/build/index.js
CHANGED
|
@@ -26,19 +26,32 @@ const server = new McpServer({ name: "vpsnet", version: "1.0.0" }, {
|
|
|
26
26
|
"Use that terminal to run: ssh -o StrictHostKeyChecking=no root@<vps_ip>",
|
|
27
27
|
"",
|
|
28
28
|
"### Step-by-step SSH key flow:",
|
|
29
|
-
"1.
|
|
30
|
-
"2.
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
29
|
+
"1. Check if a local SSH public key exists: try reading ~/.ssh/id_rsa.pub, ~/.ssh/id_ed25519.pub, or ~/.ssh/id_ecdsa.pub",
|
|
30
|
+
"2. If NO local key exists, you MUST generate one BEFORE proceeding:",
|
|
31
|
+
" - If mcp-server-ssh is available: use ssh_keygen(type='ecdsa', bits=256) to generate a key pair, then save the files locally",
|
|
32
|
+
" - If a terminal/bash is available: run ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_ed25519",
|
|
33
|
+
" - Then read the newly created public key file",
|
|
34
|
+
"3. Upload the public key via create_ssh_key(name, public_key) — name it descriptively e.g. 'claude-code-key'",
|
|
35
|
+
"4. Deploy it to the VPS via deploy_ssh_key(orderNo, ssh_key_id) OR pass sshKey when ordering a new VPS",
|
|
36
|
+
"5. SSH directly using your environment's terminal: ssh -o StrictHostKeyChecking=no root@<vps_ip>",
|
|
37
|
+
"6. Now you can run any commands inside the VPS (apt install, configure services, deploy apps, etc.)",
|
|
34
38
|
"",
|
|
35
39
|
"### Important SSH notes:",
|
|
36
40
|
"- ALWAYS prefer sshKey over rootPassword — it's more secure and enables direct access.",
|
|
37
41
|
"- NEVER use someone else's SSH key — always read from the local machine where you are running.",
|
|
38
42
|
"- Use -o StrictHostKeyChecking=no when connecting to newly created VPS to avoid host key prompts.",
|
|
39
43
|
"- order_service uses 'sshKey' (camelCase) but deploy_ssh_key uses 'ssh_key' (snake_case) — different field names!",
|
|
40
|
-
"- Only fall back to rootPassword if
|
|
41
|
-
"
|
|
44
|
+
"- Only fall back to rootPassword if key generation is truly impossible (no ssh-keygen, no mcp-server-ssh, no filesystem write).",
|
|
45
|
+
"",
|
|
46
|
+
"## Pairing with mcp-server-ssh (npm: mcp-server-ssh)",
|
|
47
|
+
"If mcp-server-ssh is also installed, you get powerful SSH tools for direct VPS management:",
|
|
48
|
+
"- ssh_keygen: generate SSH key pairs without needing ssh-keygen binary",
|
|
49
|
+
"- ssh_connect + ssh_exec: execute commands on VPS via pure JS SSH (no native SSH client needed)",
|
|
50
|
+
"- sftp_write/sftp_read: transfer files to/from VPS without scp",
|
|
51
|
+
"Combined workflow: order VPS with vpsnet-mcp → generate key with ssh_keygen → upload with create_ssh_key → connect with ssh_connect → manage with ssh_exec/sftp_*",
|
|
52
|
+
"Combined config for Claude Desktop:",
|
|
53
|
+
' "vpsnet": { "command": "npx", "args": ["-y", "vpsnet-mcp"], "env": { "VPSNET_API_KEY": "..." } }',
|
|
54
|
+
' "ssh": { "command": "npx", "args": ["-y", "mcp-server-ssh"] }',
|
|
42
55
|
"",
|
|
43
56
|
"## Plan changes",
|
|
44
57
|
"Plan changes are FREE — remaining time is recalculated (upgrade = shorter expiry, downgrade = longer expiry).",
|