robloxstudio-mcp-remake
npm
v1.1.4
Published by qqww2w2k — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.
Roblox Studio MCP server with 92+ tools for AI-powered game development
The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.
1. Threat score — 100 − 6.3 = 94. What the published surface and source actually contain:
| Points | What was found | Category |
|---|---|---|
| −6.3 | Untrusted input concatenated into a command sink MTC-SRC-009 | injection |
2. Client adoption risk — 94 − 7 = 87. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:
| Points | Adoption-risk factor |
|---|---|
| −6 | capability blast radius (high) — client exposure if the model is manipulated |
| −1 | publisher verification (public source) — no provenance, but the source is public and inspectable |
Capability observations and info notes are shown under Findings but never scored.
Open any row's finding below for the file, line and evidence behind a deduction.
Tool "run_tests" appears to run shell commands or evaluate code (parameter "script"). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool run_tests
Tool "map_dependencies" appears to run shell commands or evaluate code (parameter "script"). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool map_dependencies
Tool "find_variable_leaks" appears to run shell commands or evaluate code (parameter "script"). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool find_variable_leaks
Tool "insert_comments" appears to run shell commands or evaluate code (parameter "script"). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool insert_comments
Tool "generate_script" appears to run shell commands or evaluate code (parameter "script"). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool generate_script
Tool "build_context" appears to run shell commands or evaluate code (parameter "script"). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool build_context
In the server's implementation (`dist/index.js:7`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.
Evidence: ; import { exec } from "child_process"; import path3 from "path"; import { fileURLToPath as fileURLToPath3 } from "url";
Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.
Location: server dist/index.js
In the server's implementation (`dist/index.js:3671`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.
Evidence: const csrfRes = await fetch("https://auth.roblox.com/v2/logout", { method: "POST", headers: { "Cookie": `.
Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.
Location: server dist/index.js
In the server's implementation (`dist/index.js:6401`): A shell/process command assembled from concatenated or interpolated values is command injection when any part is attacker-influenced — the OWASP canonical RCE flow. Verify what reaches the interpolated value. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.
Evidence: en" : "xdg-open"; exec(`${startCmd} "" "${dashboardUrl}"`, (err) => { if (err) console.error("Fa
Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.
Location: server dist/index.js
Tool "run_tests" takes a command-shaped parameter "script_path" with no enum/pattern constraint. Free-form, model- or attacker-controlled arguments reaching a shell is the command-injection precondition.
Fix: Constrain the parameter (enum/pattern), or build the command from a fixed template with escaped args.
Location: tool run_tests · inputSchema.properties.script_path
Tool "map_dependencies" takes a command-shaped parameter "script_path" with no enum/pattern constraint. Free-form, model- or attacker-controlled arguments reaching a shell is the command-injection precondition.
Fix: Constrain the parameter (enum/pattern), or build the command from a fixed template with escaped args.
Location: tool map_dependencies · inputSchema.properties.script_path
Tool "find_variable_leaks" takes a command-shaped parameter "script_path" with no enum/pattern constraint. Free-form, model- or attacker-controlled arguments reaching a shell is the command-injection precondition.
Fix: Constrain the parameter (enum/pattern), or build the command from a fixed template with escaped args.
Location: tool find_variable_leaks · inputSchema.properties.script_path
Tool "insert_comments" takes a command-shaped parameter "script_path" with no enum/pattern constraint. Free-form, model- or attacker-controlled arguments reaching a shell is the command-injection precondition.
Fix: Constrain the parameter (enum/pattern), or build the command from a fixed template with escaped args.
Location: tool insert_comments · inputSchema.properties.script_path
Tool "generate_script" takes a command-shaped parameter "script_name" with no enum/pattern constraint. Free-form, model- or attacker-controlled arguments reaching a shell is the command-injection precondition.
Fix: Constrain the parameter (enum/pattern), or build the command from a fixed template with escaped args.
Location: tool generate_script · inputSchema.properties.script_name
Tool "build_context" takes a command-shaped parameter "script_path" with no enum/pattern constraint. Free-form, model- or attacker-controlled arguments reaching a shell is the command-injection precondition.
Fix: Constrain the parameter (enum/pattern), or build the command from a fixed template with escaped args.
Location: tool build_context · inputSchema.properties.script_path
Tool "run_tests" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool run_tests
Tool "map_dependencies" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool map_dependencies
Tool "find_variable_leaks" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool find_variable_leaks
Tool "insert_comments" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool insert_comments
Tool "generate_script" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool generate_script
Tool "build_context" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool build_context
Each tool and what it can reach — statically extracted from the published source.
build_contextruns code / shellfind_variable_leaksruns code / shellgenerate_scriptruns code / shellinsert_commentsruns code / shellmap_dependenciesruns code / shellrun_testsruns code / shelladd_tagno sensitive capabilityanalyze_performanceno sensitive capabilityauto_placeno sensitive capabilitybatch_executeno sensitive capabilitybuild_cutsceneno sensitive capabilitybuild_libraryno sensitive capabilitybuild_uino sensitive capabilitybulk_get_scriptsno sensitive capabilitybulk_set_propertiesno sensitive capabilitycapture_screenshotno sensitive capabilitycapture_uino sensitive capabilitycapture_viewportno sensitive capabilitycheck_collisionsno sensitive capabilitycheck_ui_designno sensitive capabilitycontrol_audio_animationno sensitive capabilitycontrol_lightingno sensitive capabilitycontrol_selectionno sensitive capabilitycreate_buildno sensitive capabilitycreate_objectno sensitive capabilitydelete_attributeno sensitive capabilitydelete_objectno sensitive capabilitydelete_script_linesno sensitive capabilitydiff_instancesno sensitive capabilityedit_script_linesno sensitive capabilityexecute_luauno sensitive capabilityexport_buildno sensitive capabilityfix_namingno sensitive capabilitygenerate_buildno sensitive capabilitygenerate_terrainno sensitive capabilitygenerate_test_reportno sensitive capabilityget_asset_detailsno sensitive capabilityget_asset_thumbnailno sensitive capabilityget_attributeno sensitive capabilityget_attributesno sensitive capabilityget_buildno sensitive capabilityget_class_infono sensitive capabilityget_file_treeno sensitive capabilityget_instance_childrenno sensitive capabilityget_instance_children_pathno sensitive capabilityget_instance_propertiesno sensitive capabilityget_place_infono sensitive capabilityget_playtest_outputno sensitive capabilityget_project_structureno sensitive capabilityget_script_sourceno sensitive capabilityget_selectionno sensitive capabilityget_servicesno sensitive capabilityget_taggedno sensitive capabilityget_tagsno sensitive capabilityget_tree_pathno sensitive capabilityget_ui_templatesno sensitive capabilitygrep_scriptsno sensitive capabilityhistory_controlno sensitive capabilityimport_buildno sensitive capabilityimport_sceneno sensitive capabilityinsert_assetno sensitive capabilityinsert_script_linesno sensitive capabilitylist_libraryno sensitive capabilitymanage_backupsno sensitive capabilitymanage_datastoreno sensitive capabilitymanage_placesno sensitive capabilitymass_create_objectsno sensitive capabilitymass_duplicateno sensitive capabilitymass_get_propertyno sensitive capabilitymass_set_propertyno sensitive capabilitymirror_instancesno sensitive capabilitymonitor_remotesno sensitive capabilitypaint_surfacesno sensitive capabilitypreview_assetno sensitive capabilityredono sensitive capabilityremove_tagno sensitive capabilityroblox_studio_workflowno sensitive capabilityscan_anticheatno sensitive capabilitysearch_assetsno sensitive capabilitysearch_by_propertyno sensitive capabilitysearch_filesno sensitive capabilitysearch_materialsno sensitive capabilitysearch_objectsno sensitive capabilityset_attributeno sensitive capabilityset_propertyno sensitive capabilityset_script_sourceno sensitive capabilitysimulate_physicsno sensitive capabilitysmart_duplicateno sensitive capabilitysnap_to_gridno sensitive capabilitystart_playtestno sensitive capabilitystop_playtestno sensitive capabilitysync_projectno sensitive capabilitysync_project_enhancedno sensitive capabilitytrack_changesno sensitive capabilityundono sensitive capabilityvalidate_pathfindingno sensitive capabilityScan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
v1.1.4 latest |
B 87/100 | 21 | 1.13.0 | 2026-09-07 |
Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.
The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.
npx mcptrustchecker scan robloxstudio-mcp-remake --online
Uncensored AI tools (chat, image, RE/malware analysis, JS deobfuscation, multi-step research) for Claude Desktop, Cursor, Cline, Zed, and any MCP client.
儿童故事 MCP 服务 - 提供故事列表和搜索功能
Grade any bet against thousands of play-by-play game simulations: win probability, odds, edge.
World Cup MCP server for the 2026 men's football tournament — live scores, fixtures, standings, read-only prediction-market signals, and paste-ready match cards. Works with Claude Code, Cursor, Codex, Windsurf, Zed. Not affiliated with FIFA or Anthropic.
MCP server exposing a live Dwarf Fortress fort to an AI agent as curated, semantic tools
MCP Server for Arknights: Endfield (TypeScript / stdio + Streamable HTTP)