godot-catalyst
npm
v1.2.0
Published by an unidentified publisher — no publish provenance and no public repository, so the publisher could not be verified and the source cannot be independently located.
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 − 0 = 100. What the published surface and source actually contain:
The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.
2. Client adoption risk — 100 − 12 = 88. 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 |
|---|---|
| −10 | capability blast radius (critical) — client exposure if the model is manipulated |
| −2 | publisher verification (unlinked) — no provenance/repo link, but the shipped source was fully read |
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.
This server (without client built-ins) exposes a complete data-exfiltration chain: godot_download_asset → godot_read_file → godot_create_http_request. Untrusted input is ingested, private data is read, and it can be sent to an external sink via the agent composing the tools (→). Static analysis proves the primitive exists, not that a specific run will occur.
Fix: Remove one leg of the trifecta: isolate untrusted-input tools from secret-reading tools and from egress tools, or require human approval between them.
Location: flow godot_download_asset → godot_read_file → godot_create_http_request
Tool "godot_eval_gdscript" appears to run shell commands or evaluate code (keyword "eval" in tool name). 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 godot_eval_gdscript
In the server's implementation (`dist/tools/networking-tools.js:71`): 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: describe("Scene path to spawn (for spawner)"), }, async (params) => { try { const result = await
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/tools/networking-tools.js
In the server's implementation (`dist/tools/ai-asset-tools.js:19`): 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 response = await fetch("https://api.meshy.ai/v2/text-to-3d", { method: "POST",
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/tools/ai-asset-tools.js
Tool "godot_eval_gdscript" 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 godot_eval_gdscript
Each tool and what it can reach — statically extracted from the published source.
godot_create_http_requestnetwork egressgodot_download_assetingests untrusted inputgodot_eval_gdscriptruns code / shellgodot_read_filereads sensitive datagodot_read_project_godotingests untrusted inputgodot_read_resourceingests untrusted inputgodot_activateno sensitive capabilitygodot_add_audio_busno sensitive capabilitygodot_add_audio_effectno sensitive capabilitygodot_add_audio_playerno sensitive capabilitygodot_add_gridmapno sensitive capabilitygodot_add_mesh_instanceno sensitive capabilitygodot_add_raycastno sensitive capabilitygodot_add_to_groupno sensitive capabilitygodot_add_trackno sensitive capabilitygodot_add_translation_keyno sensitive capabilitygodot_analyze_architectureno sensitive capabilitygodot_apply_particle_presetno sensitive capabilitygodot_bake_navigationno sensitive capabilitygodot_batch_create_nodesno sensitive capabilitygodot_batch_delete_nodesno sensitive capabilitygodot_batch_get_propertiesno sensitive capabilitygodot_batch_operationsno sensitive capabilitygodot_batch_set_propertiesno sensitive capabilitygodot_check_conventionsno sensitive capabilitygodot_clear_outputno sensitive capabilitygodot_close_sceneno sensitive capabilitygodot_create_animationno sensitive capabilitygodot_create_area2dno sensitive capabilitygodot_create_csgno sensitive capabilitygodot_create_gdscriptno sensitive capabilitygodot_create_inherited_sceneno sensitive capabilitygodot_create_line2dno sensitive capabilitygodot_create_multimeshno sensitive capabilitygodot_create_nodeno sensitive capabilitygodot_create_particlesno sensitive capabilitygodot_create_polygon2dno sensitive capabilitygodot_create_resourceno sensitive capabilitygodot_create_sceneno sensitive capabilitygodot_create_scriptno sensitive capabilitygodot_create_sprite2dno sensitive capabilitygodot_create_tilemapno sensitive capabilitygodot_create_translationno sensitive capabilitygodot_debug_continueno sensitive capabilitygodot_debug_launchno sensitive capabilitygodot_debug_pauseno sensitive capabilitygodot_debug_set_breakpointsno sensitive capabilitygodot_debug_stack_traceno sensitive capabilitygodot_debug_step_intono sensitive capabilitygodot_debug_step_outno sensitive capabilitygodot_debug_step_overno sensitive capabilitygodot_debug_terminateno sensitive capabilitygodot_debug_variablesno sensitive capabilitygodot_delete_animationno sensitive capabilitygodot_delete_input_actionno sensitive capabilitygodot_delete_nodeno sensitive capabilitygodot_dependency_graphno sensitive capabilitygodot_detect_bottlenecksno sensitive capabilitygodot_docs_get_classno sensitive capabilitygodot_docs_get_methodno sensitive capabilitygodot_docs_list_classesno sensitive capabilitygodot_docs_searchno sensitive capabilitygodot_duplicate_nodeno sensitive capabilitygodot_duplicate_sceneno sensitive capabilitygodot_export_projectno sensitive capabilitygodot_find_dead_codeno sensitive capabilitygodot_fix_conventionsno sensitive capabilitygodot_generate_3d_modelno sensitive capabilitygodot_generate_soundno sensitive capabilitygodot_generate_textureno sensitive capabilitygodot_generate_tresno sensitive capabilitygodot_generate_tscnno sensitive capabilitygodot_get_animation_infono sensitive capabilitygodot_get_audio_bus_layoutno sensitive capabilitygodot_get_audio_infono sensitive capabilitygodot_get_childrenno sensitive capabilitygodot_get_collision_infono sensitive capabilitygodot_get_console_outputno sensitive capabilitygodot_get_current_sceneno sensitive capabilitygodot_get_dependenciesno sensitive capabilitygodot_get_editor_errorsno sensitive capabilitygodot_get_editor_settingsno sensitive capabilitygodot_get_editor_stateno sensitive capabilitygodot_get_filesystem_treeno sensitive capabilitygodot_get_import_settingsno sensitive capabilitygodot_get_input_actionsno sensitive capabilitygodot_get_navigation_infono sensitive capabilitygodot_get_network_infono sensitive capabilitygodot_get_node_propertiesno sensitive capabilitygodot_get_node_treeno sensitive capabilitygodot_get_particle_infono sensitive capabilitygodot_get_performance_metricsno sensitive capabilitygodot_get_physics_layersno sensitive capabilitygodot_get_plugin_infono sensitive capabilitygodot_get_profiler_datano sensitive capabilitygodot_get_project_infono sensitive capabilitygodot_get_project_settingsno sensitive capabilitygodot_get_project_statisticsno sensitive capabilitygodot_get_runtime_treeno sensitive capabilitygodot_get_scene_treeno sensitive capabilitygodot_get_selected_nodesno sensitive capabilitygodot_get_statusno sensitive capabilitygodot_get_translationsno sensitive capabilitygodot_import_assetno sensitive capabilitygodot_inspect_runtime_nodeno sensitive capabilitygodot_instance_sceneno sensitive capabilitygodot_is_playingno sensitive capabilitygodot_list_animationsno sensitive capabilitygodot_list_export_presetsno sensitive capabilitygodot_list_open_scenesno sensitive capabilitygodot_list_pluginsno sensitive capabilitygodot_list_project_filesno sensitive capabilitygodot_list_resourcesno sensitive capabilitygodot_lsp_completionno sensitive capabilitygodot_lsp_definitionno sensitive capabilitygodot_lsp_diagnosticsno sensitive capabilitygodot_lsp_formatno sensitive capabilitygodot_lsp_hoverno sensitive capabilitygodot_lsp_referencesno sensitive capabilitygodot_lsp_renameno sensitive capabilitygodot_lsp_signature_helpno sensitive capabilitygodot_lsp_symbolsno sensitive capabilitygodot_lsp_workspace_symbolsno sensitive capabilitygodot_manage_autoloadsno sensitive capabilitygodot_modify_project_godotno sensitive capabilitygodot_monitor_performanceno sensitive capabilitygodot_move_nodeno sensitive capabilitygodot_open_sceneno sensitive capabilitygodot_parse_tresno sensitive capabilitygodot_parse_tscnno sensitive capabilitygodot_pingno sensitive capabilitygodot_play_animationno sensitive capabilitygodot_play_mainno sensitive capabilitygodot_play_sceneno sensitive capabilitygodot_read_scriptno sensitive capabilitygodot_record_inputno sensitive capabilitygodot_redono sensitive capabilitygodot_reimport_assetno sensitive capabilitygodot_reload_handlersno sensitive capabilitygodot_reload_sceneno sensitive capabilitygodot_remove_from_groupno sensitive capabilitygodot_rename_nodeno sensitive capabilitygodot_reparent_nodeno sensitive capabilitygodot_replay_inputno sensitive capabilitygodot_save_resourceno sensitive capabilitygodot_save_sceneno sensitive capabilitygodot_save_scene_asno sensitive capabilitygodot_screenshot_gameno sensitive capabilitygodot_screenshot_viewportno sensitive capabilitygodot_search_ambientcgno sensitive capabilitygodot_search_assetsno sensitive capabilitygodot_search_filesno sensitive capabilitygodot_search_kenneyno sensitive capabilitygodot_search_nodesno sensitive capabilitygodot_search_polyhavenno sensitive capabilitygodot_select_nodesno sensitive capabilitygodot_set_audio_busno sensitive capabilitygodot_set_blend_parameterno sensitive capabilitygodot_set_convention_rulesno sensitive capabilitygodot_set_current_sceneno sensitive capabilitygodot_set_editor_settingsno sensitive capabilitygodot_set_input_actionno sensitive capabilitygodot_set_keyframeno sensitive capabilitygodot_set_localeno sensitive capabilitygodot_set_main_screenno sensitive capabilitygodot_set_navigation_layersno sensitive capabilitygodot_set_node_propertiesno sensitive capabilitygodot_set_particle_gradientno sensitive capabilitygodot_set_particle_materialno sensitive capabilitygodot_set_physics_layersno sensitive capabilitygodot_set_project_settingsno sensitive capabilitygodot_setup_animation_treeno sensitive capabilitygodot_setup_camera2dno sensitive capabilitygodot_setup_camera3dno sensitive capabilitygodot_setup_collisionno sensitive capabilitygodot_setup_collision2dno sensitive capabilitygodot_setup_environmentno sensitive capabilitygodot_setup_lightingno sensitive capabilitygodot_setup_material3dno sensitive capabilitygodot_setup_multiplayerno sensitive capabilitygodot_setup_navigation_agentno sensitive capabilitygodot_setup_navigation_regionno sensitive capabilitygodot_setup_occlusionno sensitive capabilitygodot_setup_parallaxno sensitive capabilitygodot_setup_physics_bodyno sensitive capabilitygodot_setup_rpcno sensitive capabilitygodot_setup_skeletonno sensitive capabilitygodot_setup_syncno sensitive capabilitygodot_setup_websocketno sensitive capabilitygodot_simulate_actionno sensitive capabilitygodot_simulate_gamepadno sensitive capabilitygodot_simulate_keyno sensitive capabilitygodot_simulate_mouseno sensitive capabilitygodot_simulate_touchno sensitive capabilitygodot_stop_animationno sensitive capabilitygodot_stop_sceneno sensitive capabilitygodot_uid_to_pathno sensitive capabilitygodot_undono sensitive capabilitygodot_update_resourceno sensitive capabilitygodot_validate_tscnno sensitive capabilityCross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).
Scan 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.2.0 latest |
B 88/100 | 5 | 1.9.0 | 2026-07-24 |
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 godot-catalyst --online
Security scan results for the Aether MCP server.
Security scan results for the Bedbook MCP server.
Security scan results for the Claudinho MCP server.
Security scan results for the Cpu Game MCP server.
Security scan results for the Dfhack MCP server.
Security scan results for the Endfield MCP server.