kerbal-space-program-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KSP_MCP_URL | No | The base URL of the KSP plugin bridge. Defaults to the local bridge address. | http://127.0.0.1:8765 |
| KSP_MCP_TOKEN | No | The authentication token for the bridge, if one is configured in GameData/KspMcp/PluginData/config.cfg. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ksp_statusB | Read the current KSP scene, editor craft summary, compact flight telemetry, no-visual control capabilities, and bridge version. |
| ksp_realtime_stateA | Read compact cached no-visual telemetry and incremental KSP events. Prefer this over ksp_status while building or flying; use height_agl for local terrain clearance and follow next_since when events are truncated. |
| ksp_wait_for_eventB | Wait for the next KSP telemetry event and return immediately when the event cursor advances; this is the primary event-driven primitive for an AI without vision to observe construction, ignition, staging, orbit crossings, and touchdown. |
| ksp_watchC | Sample compact telemetry for a bounded interval so a model without vision can observe construction, staging, ascent, orbit, or landing in real time. Treat timeout, flameout, commandability loss, and vessel loss as explicit failures. |
| ksp_batchB | Send several safe KSP commands in one bridge round trip to reduce latency. Irreversible launch, abort, and recovery commands must use their dedicated tools. |
| ksp_wait_for_sceneC | Wait until KSP reaches a requested scene such as EDITOR or FLIGHT. |
| ksp_game_list_savesA | List real KSP save folders that can be loaded through the bridge; this is read-only and needs no visual UI. |
| ksp_game_load_saveC | Load one real KSP save through GamePersistence and request the Space Center scene, avoiding title-screen Computer Use. |
| ksp_parts_listC | List the actual parts loaded by the running KSP instance, including attachment nodes and modules. |
| ksp_editor_enterA | Enter the real KSP VAB or SPH editor through the in-game bridge without visual UI automation. |
| ksp_editor_newC | Start a new empty VAB or SPH craft and remove the current editor craft. |
| ksp_editor_get_craftB | Return the full current craft tree, part transforms, nodes, modules, resources, and staging. |
| ksp_editor_apply_craftC | Replace the editor with a complete craft document built from zero. This is the main bulk-building tool. |
| ksp_editor_job_statusB | Read the progress of an asynchronous editor build or load job without requesting the full craft tree. |
| ksp_editor_cancel_jobB | Stop an active frame-sliced editor build and keep the parts already generated for inspection or cleanup. |
| ksp_editor_add_partC | Add one real KSP part to the current editor craft, optionally attached to an existing part. |
| ksp_editor_attach_partC | Reconnect an existing editor part to a parent using explicit KSP attachment nodes. |
| ksp_editor_update_partC | Move, rotate, reparent, change stage, or update action groups on an editor part. |
| ksp_editor_remove_partB | Remove an editor part and, by default, its complete child subtree. |
| ksp_editor_set_stageC | Set the inverse/original stage number for an editor part. |
| ksp_editor_set_action_groupC | Assign a part action to a stock KSP action group such as SAS, RCS, Abort, Custom01, or None. |
| ksp_editor_validateA | Validate the current editor craft and return errors, warnings, cost, connectivity, and part counts. |
| ksp_editor_analyzeC | Analyze real KSP part modules for approximate mass, thrust-to-weight, staging delta-v, center-of-mass/thrust geometry, and launch-risk warnings. |
| ksp_editor_saveC | Save the current editor craft as a real KSP .craft file. |
| ksp_editor_loadC | Load a real KSP .craft file into the active VAB/SPH editor. |
| ksp_editor_clearB | Clear every part from the current editor craft. |
| ksp_editor_launchA | Launch the current validated editor craft through KSP's native path. Requires confirm=true. By default, MCP also clears occupied launch pads through KSP's stock recovery callback; set auto_clear_launchpad=false to leave the stock dialog open. The command returns a request, so a no-visual AI must wait for FLIGHT and verify the first telemetry state before starting guidance. |
| ksp_flight_stateC | Read active-vessel telemetry, resources, engines, current stage, controls, and orbital values. |
| ksp_flight_bodiesB | Read celestial-body radii, gravitational parameters, atmospheres, spheres of influence, and patched-conic orbit data from the running KSP instance. |
| ksp_flight_transfer_planB | Calculate a transparent circular-coplanar Hohmann estimate from the active vessel's body to a destination body. It is read-only and does not create or execute a burn. |
| ksp_moon_landing_planB | Read a live-data Kerbin-to-Mun (or current-body-to-moon) transfer estimate and the no-visual soft-landing handoff. This is read-only and does not create a node or burn. |
| ksp_flight_maneuver_nodesA | Read native KSP patched-conic maneuver nodes, including node-coordinate delta-v, burn vector, timing, and next-patch orbit. |
| ksp_flight_add_maneuver_nodeB | Create one native KSP patched-conic maneuver node after explicit confirmation. Delta-v uses radial-plus, normal-plus, prograde coordinates in m/s. |
| ksp_flight_clear_maneuver_nodesA | Remove all native KSP maneuver nodes after explicit confirmation. |
| ksp_flight_guidance_startA | Start a game-side closed-loop guidance plan controlled entirely through KSP state, without screenshots. It continuously refreshes controls in KSP frames, owns the fly-by-wire lease, reports preflight/ignition/staging state, and requires confirm=true. Profiles are ascent, orbit, landing, and node_burn. |
| ksp_flight_moon_soft_landing_startB | Start the game-side Mun powered-descent controller after the vessel is at Mun. It checks the active body, performs observable deorbit and powered descent, automatically stages/ignites compatible engines, exposes height_agl and touchdown events, and requires confirm=true. No visual UI interaction is required. |
| ksp_flight_maneuver_burn_startA | Start a confirmed, game-side finite-burn controller for one native KSP maneuver node. It aligns to the node burn vector, estimates burn duration from active thrust and mass, and exposes ignite/burn/complete phases through realtime telemetry. |
| ksp_flight_guidance_stopA | Stop the active closed-loop guidance plan and release MCP control. Use this as the AI safety exit on timeout, flameout, commandability loss, or an explicit human takeover. |
| ksp_flight_guidance_statusB | Read the active guidance profile, phase, target, control output, automatic ignition hold, deorbit completion, preflight report, and remaining time. |
| ksp_flight_guidance_updateC | Update targets and safety options on the active game-side guidance plan without releasing MCP control; useful for a no-visual real-time mission loop. |
| ksp_flight_stageB | Activate the next KSP staging step. |
| ksp_flight_set_controlsC | Set a short-lived fly-by-wire control lease for throttle, pitch, yaw, roll, translation, wheels, gear, brakes, or lights. |
| ksp_flight_set_sasC | Enable or disable stock SAS using the active vessel action group. |
| ksp_flight_set_rcsA | Enable or disable stock RCS using the active vessel action group. |
| ksp_flight_warpA | Set the stock time-warp rate index. Guidance allows only zero (real time); any time warp is rejected while a no-visual AI guidance plan is active because KSP can advance orbital state without running a reliable fly-by-wire callback for every physics step. |
| ksp_flight_activate_partC | Trigger a part event/action by MCP part id or vessel flight id. |
| ksp_flight_abortB | Fire the stock Abort action group. |
| ksp_flight_clear_controlA | Release the MCP fly-by-wire control lease and return control to KSP/player input. |
| ksp_flight_return_to_editorB | Return from the current flight to the real VAB or SPH editor through KSP's native FlightDriver path, without visual UI automation. |
| ksp_flight_recoverB | Request recovery/revert of the current flight when KSP allows it. |
| ksp_station_buildB | Generate and build a connected stock orbital-station core in the real VAB. The result is deliberately modular so a person or another MCP call can add solar arrays, labs, and extra modules. Live construction emits the same per-part events as rocket building. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 51 tools
Most tools have distinct purposes, but several status/telemetry readers overlap: ksp_status, ksp_flight_state, and ksp_realtime_state all report vessel/telemetry data with subtle differences, which could confuse selection. The flight guidance tools are also numerous but differentiated by phase (start, status, update, stop), which is clear.
All tools follow a consistent snake_case pattern with ksp_ prefix and domain-specific prefixes (flight_, editor_, game_, parts_). Verbs are used predictably (get, set, start, stop, list), making the set highly predictable.
With 51 tools, the server is heavily over-scoped for a single MCP. While the domain is complex (KSP simulation), the count far exceeds typical limits and increases cognitive load, risking misselection. Many tools could be consolidated (e.g., status readers).
The surface covers a full lifecycle: game/save management, editor construction and analysis, flight control, guidance, maneuver nodes, and telemetry. Both read and write operations are present for major entities, with no obvious dead ends for the stated purpose.