Godot Catalyst MCP Server

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.

Trust grade
B
88/100
Last scanned get badge →
Trust
B · 88/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
Critical
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
B Why this grade threat 100 − adoption risk = 88/100

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:

PointsAdoption-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.

Findings 5

critical Completed toxic-flow trifecta across toolsMTC-FLOW-002

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

high Tool "godot_eval_gdscript" exposes command/code executionMTC-CAP-001

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

high Shell/command execution in server code (dist/tools/networking-tools.js)MTC-SRC-002

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

medium Hardcoded egress to an external endpoint (dist/tools/ai-asset-tools.js)MTC-SRC-003

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

low Mutating tool "godot_eval_gdscript" declares no destructiveHintMTC-CAP-005

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

Tools 200

Each tool and what it can reach — statically extracted from the published source.

  • godot_create_http_requestnetwork egress
  • godot_download_assetingests untrusted input
  • godot_eval_gdscriptruns code / shell
  • godot_read_filereads sensitive data
  • godot_read_project_godotingests untrusted input
  • godot_read_resourceingests untrusted input
  • godot_activateno sensitive capability
  • godot_add_audio_busno sensitive capability
  • godot_add_audio_effectno sensitive capability
  • godot_add_audio_playerno sensitive capability
Show 190 more tools ↓
  • godot_add_gridmapno sensitive capability
  • godot_add_mesh_instanceno sensitive capability
  • godot_add_raycastno sensitive capability
  • godot_add_to_groupno sensitive capability
  • godot_add_trackno sensitive capability
  • godot_add_translation_keyno sensitive capability
  • godot_analyze_architectureno sensitive capability
  • godot_apply_particle_presetno sensitive capability
  • godot_bake_navigationno sensitive capability
  • godot_batch_create_nodesno sensitive capability
  • godot_batch_delete_nodesno sensitive capability
  • godot_batch_get_propertiesno sensitive capability
  • godot_batch_operationsno sensitive capability
  • godot_batch_set_propertiesno sensitive capability
  • godot_check_conventionsno sensitive capability
  • godot_clear_outputno sensitive capability
  • godot_close_sceneno sensitive capability
  • godot_create_animationno sensitive capability
  • godot_create_area2dno sensitive capability
  • godot_create_csgno sensitive capability
  • godot_create_gdscriptno sensitive capability
  • godot_create_inherited_sceneno sensitive capability
  • godot_create_line2dno sensitive capability
  • godot_create_multimeshno sensitive capability
  • godot_create_nodeno sensitive capability
  • godot_create_particlesno sensitive capability
  • godot_create_polygon2dno sensitive capability
  • godot_create_resourceno sensitive capability
  • godot_create_sceneno sensitive capability
  • godot_create_scriptno sensitive capability
  • godot_create_sprite2dno sensitive capability
  • godot_create_tilemapno sensitive capability
  • godot_create_translationno sensitive capability
  • godot_debug_continueno sensitive capability
  • godot_debug_launchno sensitive capability
  • godot_debug_pauseno sensitive capability
  • godot_debug_set_breakpointsno sensitive capability
  • godot_debug_stack_traceno sensitive capability
  • godot_debug_step_intono sensitive capability
  • godot_debug_step_outno sensitive capability
  • godot_debug_step_overno sensitive capability
  • godot_debug_terminateno sensitive capability
  • godot_debug_variablesno sensitive capability
  • godot_delete_animationno sensitive capability
  • godot_delete_input_actionno sensitive capability
  • godot_delete_nodeno sensitive capability
  • godot_dependency_graphno sensitive capability
  • godot_detect_bottlenecksno sensitive capability
  • godot_docs_get_classno sensitive capability
  • godot_docs_get_methodno sensitive capability
  • godot_docs_list_classesno sensitive capability
  • godot_docs_searchno sensitive capability
  • godot_duplicate_nodeno sensitive capability
  • godot_duplicate_sceneno sensitive capability
  • godot_export_projectno sensitive capability
  • godot_find_dead_codeno sensitive capability
  • godot_fix_conventionsno sensitive capability
  • godot_generate_3d_modelno sensitive capability
  • godot_generate_soundno sensitive capability
  • godot_generate_textureno sensitive capability
  • godot_generate_tresno sensitive capability
  • godot_generate_tscnno sensitive capability
  • godot_get_animation_infono sensitive capability
  • godot_get_audio_bus_layoutno sensitive capability
  • godot_get_audio_infono sensitive capability
  • godot_get_childrenno sensitive capability
  • godot_get_collision_infono sensitive capability
  • godot_get_console_outputno sensitive capability
  • godot_get_current_sceneno sensitive capability
  • godot_get_dependenciesno sensitive capability
  • godot_get_editor_errorsno sensitive capability
  • godot_get_editor_settingsno sensitive capability
  • godot_get_editor_stateno sensitive capability
  • godot_get_filesystem_treeno sensitive capability
  • godot_get_import_settingsno sensitive capability
  • godot_get_input_actionsno sensitive capability
  • godot_get_navigation_infono sensitive capability
  • godot_get_network_infono sensitive capability
  • godot_get_node_propertiesno sensitive capability
  • godot_get_node_treeno sensitive capability
  • godot_get_particle_infono sensitive capability
  • godot_get_performance_metricsno sensitive capability
  • godot_get_physics_layersno sensitive capability
  • godot_get_plugin_infono sensitive capability
  • godot_get_profiler_datano sensitive capability
  • godot_get_project_infono sensitive capability
  • godot_get_project_settingsno sensitive capability
  • godot_get_project_statisticsno sensitive capability
  • godot_get_runtime_treeno sensitive capability
  • godot_get_scene_treeno sensitive capability
  • godot_get_selected_nodesno sensitive capability
  • godot_get_statusno sensitive capability
  • godot_get_translationsno sensitive capability
  • godot_import_assetno sensitive capability
  • godot_inspect_runtime_nodeno sensitive capability
  • godot_instance_sceneno sensitive capability
  • godot_is_playingno sensitive capability
  • godot_list_animationsno sensitive capability
  • godot_list_export_presetsno sensitive capability
  • godot_list_open_scenesno sensitive capability
  • godot_list_pluginsno sensitive capability
  • godot_list_project_filesno sensitive capability
  • godot_list_resourcesno sensitive capability
  • godot_lsp_completionno sensitive capability
  • godot_lsp_definitionno sensitive capability
  • godot_lsp_diagnosticsno sensitive capability
  • godot_lsp_formatno sensitive capability
  • godot_lsp_hoverno sensitive capability
  • godot_lsp_referencesno sensitive capability
  • godot_lsp_renameno sensitive capability
  • godot_lsp_signature_helpno sensitive capability
  • godot_lsp_symbolsno sensitive capability
  • godot_lsp_workspace_symbolsno sensitive capability
  • godot_manage_autoloadsno sensitive capability
  • godot_modify_project_godotno sensitive capability
  • godot_monitor_performanceno sensitive capability
  • godot_move_nodeno sensitive capability
  • godot_open_sceneno sensitive capability
  • godot_parse_tresno sensitive capability
  • godot_parse_tscnno sensitive capability
  • godot_pingno sensitive capability
  • godot_play_animationno sensitive capability
  • godot_play_mainno sensitive capability
  • godot_play_sceneno sensitive capability
  • godot_read_scriptno sensitive capability
  • godot_record_inputno sensitive capability
  • godot_redono sensitive capability
  • godot_reimport_assetno sensitive capability
  • godot_reload_handlersno sensitive capability
  • godot_reload_sceneno sensitive capability
  • godot_remove_from_groupno sensitive capability
  • godot_rename_nodeno sensitive capability
  • godot_reparent_nodeno sensitive capability
  • godot_replay_inputno sensitive capability
  • godot_save_resourceno sensitive capability
  • godot_save_sceneno sensitive capability
  • godot_save_scene_asno sensitive capability
  • godot_screenshot_gameno sensitive capability
  • godot_screenshot_viewportno sensitive capability
  • godot_search_ambientcgno sensitive capability
  • godot_search_assetsno sensitive capability
  • godot_search_filesno sensitive capability
  • godot_search_kenneyno sensitive capability
  • godot_search_nodesno sensitive capability
  • godot_search_polyhavenno sensitive capability
  • godot_select_nodesno sensitive capability
  • godot_set_audio_busno sensitive capability
  • godot_set_blend_parameterno sensitive capability
  • godot_set_convention_rulesno sensitive capability
  • godot_set_current_sceneno sensitive capability
  • godot_set_editor_settingsno sensitive capability
  • godot_set_input_actionno sensitive capability
  • godot_set_keyframeno sensitive capability
  • godot_set_localeno sensitive capability
  • godot_set_main_screenno sensitive capability
  • godot_set_navigation_layersno sensitive capability
  • godot_set_node_propertiesno sensitive capability
  • godot_set_particle_gradientno sensitive capability
  • godot_set_particle_materialno sensitive capability
  • godot_set_physics_layersno sensitive capability
  • godot_set_project_settingsno sensitive capability
  • godot_setup_animation_treeno sensitive capability
  • godot_setup_camera2dno sensitive capability
  • godot_setup_camera3dno sensitive capability
  • godot_setup_collisionno sensitive capability
  • godot_setup_collision2dno sensitive capability
  • godot_setup_environmentno sensitive capability
  • godot_setup_lightingno sensitive capability
  • godot_setup_material3dno sensitive capability
  • godot_setup_multiplayerno sensitive capability
  • godot_setup_navigation_agentno sensitive capability
  • godot_setup_navigation_regionno sensitive capability
  • godot_setup_occlusionno sensitive capability
  • godot_setup_parallaxno sensitive capability
  • godot_setup_physics_bodyno sensitive capability
  • godot_setup_rpcno sensitive capability
  • godot_setup_skeletonno sensitive capability
  • godot_setup_syncno sensitive capability
  • godot_setup_websocketno sensitive capability
  • godot_simulate_actionno sensitive capability
  • godot_simulate_gamepadno sensitive capability
  • godot_simulate_keyno sensitive capability
  • godot_simulate_mouseno sensitive capability
  • godot_simulate_touchno sensitive capability
  • godot_stop_animationno sensitive capability
  • godot_stop_sceneno sensitive capability
  • godot_uid_to_pathno sensitive capability
  • godot_undono sensitive capability
  • godot_update_resourceno sensitive capability
  • godot_validate_tscnno sensitive capability

Toxic flows 1

Cross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).

What this scan could not see

Versions 1

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.

VersionScoreFindingsEngineScanned
v1.2.0 latest B 88/100 5 1.9.0 2026-07-24

Embed this score

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.

MCP Trust Score: B · 88/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/godot-catalyst/badge.svg)](https://mcptrustchecker.com/registry/godot-catalyst)
HTML
<a href="https://mcptrustchecker.com/registry/godot-catalyst"><img src="https://mcptrustchecker.com/registry/godot-catalyst/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/godot-catalyst/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

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

Use the free API → How scoring works

More in Gaming & Entertainment