vps-mcp (MauricioPerera/vps-mcp) is an MCP server listed on the M8ven Trust Index. It scores 85 out of 100, grade B. It declares 11 tools. The publisher has proved control of what we score (Verified Publisher). It is connected through the M8ven GitHub App, so the listing is re-checked on every push.

B
Caution
85/100
4 days ago

vps-mcp

Stateless MCP server to connect to any VPS over SSH using your own credentials (password or key). Tools: ssh_exec, ssh_test_connection, ssh_read_file.

MauricioPerera/vps-mcp· npm: ssh-deploy-mcp

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Sandbox Verified⚡ Live Monitored

Monitored 19 days · every push re-verified

Who stands behind it

gmail.com (@MauricioPerera) · Verified Publisher

Source: github_app_install

Maintenance & responsiveness
as of 2026-08-20
Issues closed (90d): 0 · 0 open
Releases (90d): none
Active contributors (6mo): 1

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
⚠️
Tool descriptions don’t match what handlers do
1 tool describes read intent but its handler mutates — ssh_read_file (line 62: conn.exec(command, (err, stream) => {)
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 1 credential: VPS_PASSWORD
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
Are you the publisher? Confirm or correct these findings.
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configVPS_HOSTIP o host del VPS (obligatorio).
configVPS_KEY_PASSPHRASEusa VPS_KEY_PATH (ruta a la llave privada) + opcional.
configVPS_KEY_PATHusa (ruta a la llave privada) + VPS_KEY_PASSPHRASE opcional.
🔐 secretVPS_PASSWORDAutenticación por clave (más seguro que password): en vez de ,
configVPS_PORTPuerto SSH.
configVPS_TASK_DIRDir remoto donde los tasks guardan estado/salida.
configVPS_TIMEOUT_MSTimeout por comando (no aplica a tasks en background).
configVPS_USERUsuario SSH.
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

11/11 tools missing one or more hints — ssh_exec (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); ssh_test_connection (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); ssh_read_file (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +8 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Descriptions match behaviour

1 tool describes read intent but its handler mutates — ssh_read_file (line 62: conn.exec(command, (err, stream) => {)

Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.

Tool test coverage

Only 1/11 tools referenced in tests (9%)

Write tests that reference each tool by name so every tool has at least one test.

Tool description accuracy

ssh_read_file: description implies read-only but handler writes/deletes/executes; ssh_task_list: description implies read-only but handler writes/deletes/executes

Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.

// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/mauricioperera-vps-mcp-1vpv50?variant=verified)](https://m8ven.ai/mcp/mauricioperera-vps-mcp-1vpv50)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 588cb2acd90551e10f2de06ce23fc2cde1bf8a0e
code hash: 860053de04d30a17a7b1798007a5646931140c1d0db1a911483357001c104cb7
verified: 9/4/2026, 1:40:30 AM
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client