Skills/npm/vsl-mcp-server

vsl-mcp-server@1.4.5

VERIFIED

Publisher claims: "VSL MCP Server — Model Context Protocol integration for AI agents (Claude Desktop, Cline, TaoCoder)" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher thinkingos · publishing for 50 daysInstalls 909Last detonated 6 h ago
$claude mcp add vsl-mcp-server -- npx -y @thinkingos/vsl-mcp-server
WatchReport an issue

Coverage

Server started and answered tools/list.
Tested
MCP initialize and tools/list · every tool description, for hidden instructions · every file read, file written and host contacted by what ran
Not tested
what the tools do when called with real credentials

Before you give it your token

It will ask for
ANTHROPIC_API_KEYOPENAI_API_KEYVSL_PROXY_PASSWORDConfiguration, not credentials: VSL_ACCEPT_DOWNLOADS, VSL_BROWSER_AUTO_INSTALL, VSL_BROWSER_HEADLESS, VSL_BROWSER_INSTALL_TIMEOUT, VSL_CDP_PORT, VSL_DOM_STABILIZATION_ENABLED, VSL_DOM_STABILIZATION_NETWORK_IDLE_TIMEOUT, VSL_DOM_STABILIZATION_POLL_INTERVAL, VSL_DOM_STABILIZATION_STABLE_PERIOD, VSL_DOM_STABILIZATION_TIMEOUT, VSL_DOM_STABILIZATION_WAIT_NETWORK_IDLE, VSL_DOWNLOAD_TIMEOUT, VSL_DOWNLOADS_PATH, VSL_HUMANIZATION_ENABLED, VSL_HUMANIZATION_INTERNAL_HOSTS, VSL_MANUAL_LOGIN_POLL_INTERVAL, VSL_MANUAL_LOGIN_RESTORE_HEADLESS, VSL_MANUAL_LOGIN_TIMEOUT, VSL_NAVIGATION_TIMEOUT, VSL_PROXY_SERVER, VSL_PROXY_USERNAME, VSL_RENDER_TIMEOUT, VSL_SESSION_ID, VSL_USER_DATA_DIR, VSL_VISION_BASE_URL, VSL_VISION_MODEL, VSL_VISION_PROVIDER
Where it talks to
no vendor host named in the codeAlso nodejs.org — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · no network
What we could not test
what the tools do when called with real credentials

Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names nodejs.org as well as its own vendor. The guard injects ANTHROPIC_API_KEY, OPENAI_API_KEY, VSL_PROXY_PASSWORD only into requests to the host you bind (and its subdomains) and refuses the rest.

$vet-skills run --net declared -- npx -y @thinkingos/vsl-mcp-server

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-11-14 and scored it 89/100 (Verified). It did what it claims and nothing else we could detect: no undeclared network egress, no credential reads, no persistent instruction writes. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 36 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
16sprocessdependency install exit 0
36sclaimed9 tools: vsl_get_snapshot, vsl_execute_action, vsl_navigate, vsl_clear_cache, vsl_get_visual, vsl_read_page, vsl_get_text_block, vsl_click_coordinates, vsl_manual_login
36stools34c45823eeef8921
36stoolsb2e53607f6d5201d
36stoolsde1d3473e09a237c
36stools865e0dd1d7f9429e
36stools847c1e89acc625e0
36stools36ba94bd445060e5
36stoolsc2d60f92156cdff9
36stools4ceb7ba91542d116
36stools9323881880edd6e4
36sprocessscript backend runs setup only
36sprocessno install scripts to re-run

Static findings

MEDIUM
npx invocation of non-well-known packagebin/setup.js:101 · npx invocation of non-well-known package — may execute untrusted codeconst result = execSync('npx playwright install --dry-run 2>&1 || true', {Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagebin/setup.js:149 · npx invocation of non-well-known package — may execute untrusted codeexecSync('npx playwright install chromium', { stdio: 'inherit', timeout: 180000 });Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Unicode escape sequence detecteddist/index.js:3015 · Unicode escape sequence detected — may contain obfuscated payloadspossible_causes: ["Playwright \u043D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D"],Fix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07
MEDIUM
npx invocation of non-well-known packagedist/index.js:139 · npx invocation of non-well-known package — may execute untrusted codeconst command = options.cliPath ? `node "${options.cliPath}" install ${info.browser}` : `npx playwright install ${info.browser}`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagebin/setup.js:148 · npx invocation of non-well-known package — may execute untrusted codelog(` ${C.dim}npx playwright install chromium...${C.reset}`);Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagebin/setup.js:128 · npx invocation of non-well-known package — may execute untrusted codeinfo(`Install later: ${C.dim}npm install playwright && npx playwright install chromium${C.reset}`);Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagebin/setup.js:107 · npx invocation of non-well-known package — may execute untrusted codeconst browsers = execSync('npx playwright install --list 2>&1 || true', {Fix: Pin versions and sources; vendor anything fetched at install time.
AST06

Cost to the agent

Instructions loaded
≈65 tok
1 file · 6 in bundle
Tool list per prompt
≈2,593 tok
9 tools · 288 per tool
Handshake
1003 ms
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 572

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for @thinkingos/vsl-mcp-server@1.4.5 as of 6 h ago. This is the package itself, not its dependencies.