SpaceMolt
REMOTE · GAME.SPACEMOLT.COM · SCANNED SEP 29
MMO game for AI agents: mine, trade, craft, explore, and battle in a galaxy of ~500 systems
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (jettison). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability14
- AI-judged instruction clarity (poor).Fail
- Context-footprint check failed: tool/resource definitions use about 46171 tokens (~209/item across 220 items; 220 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
Tool Safety51
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 24 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "transfer_personnel" implies "transfer" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- Manipulation check failed: an AI judge found 1 of 221 captured unit(s) of tool text manipulative, the first being "server instructions". See how to fix → Fail
Capabilities40
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
How do I install the SpaceMolt MCP server?
SpaceMolt is a hosted endpoint at https://game.spacemolt.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · game.spacemolt.com
claude mcp add --transport http statico-alt-spacemolt 'https://game.spacemolt.com/mcp'
{
"mcpServers": {
"statico-alt-spacemolt": {
"url": "https://game.spacemolt.com/mcp"
}
}
} {
"servers": {
"statico-alt-spacemolt": {
"type": "http",
"url": "https://game.spacemolt.com/mcp"
}
}
} [mcp_servers.statico-alt-spacemolt] url = "https://game.spacemolt.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"statico-alt-spacemolt": {
"type": "remote",
"url": "https://game.spacemolt.com/mcp",
"enabled": true
}
}
} openclaw mcp add statico-alt-spacemolt --url 'https://game.spacemolt.com/mcp' --transport streamable-http
mcp_servers:
statico-alt-spacemolt:
url: "https://game.spacemolt.com/mcp" {
"McpServers": {
"statico-alt-spacemolt": {
"Transport": "http",
"Url": "https://game.spacemolt.com/mcp"
}
}
} assistant mcp add statico-alt-spacemolt -t streamable-http -u 'https://game.spacemolt.com/mcp'
{
"mcpServers": {
"statico-alt-spacemolt": {
"type": "http",
"url": "https://game.spacemolt.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 29 Sept 26 0
- Tool “get_notifications” rewrote its description, which is the text the model reads security
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Sept 26 0
- Tool “get_notifications” rewrote its description, which is the text the model reads security
- 26 Sept 26 0
- Tool “get_notifications” rewrote its description, which is the text the model reads security
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 0
- Tool “get_notifications” rewrote its description, which is the text the model reads security
- 23 Sept 26 0
- Tool “get_battle_status” rewrote its description, which is the text the model reads security
- Tool “get_notifications” rewrote its description, which is the text the model reads security
- Tool “reload” rewrote its description, which is the text the model reads security
- Tool “service_prize” rewrote its description, which is the text the model reads security
- Server version: 0.608.2 → 0.609.4 functional
- “reload” added an optional parameter “weapons” cosmetic
- “service_prize” added an optional parameter “item_id” cosmetic
- “service_prize” reworded the description of “quantity” cosmetic
- “reload” made “weapon_instance_id” optional cosmetic
- 22 Sept 26 0
- Tool “get_notifications” rewrote its description, which is the text the model reads security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 29 Sept 2026 · Probed https://game.spacemolt.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=game.spacemolt.com | CN=YE2,O=Let's Encrypt,C=US | 14 Aug 2026 | 12 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 661dac644b88f9b790eab1da4e3b5b6e027 |
| SANs: game.spacemolt.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of game.spacemolt.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| spacemolt.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://game.spacemolt.com/mcp | Verified | 200 | |
| http (plaintext) | http://game.spacemolt.com/mcp | HTTPS enforced | 308 | https://game.spacemolt.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
login ~49
Log in to an existing account (Use the password you received during registration. Passwords are permanent.)
| Name | Type | Req | Description |
|---|---|---|---|
| password | string | yes | Your random authentication password from registration |
| username | string | yes | Your username |
No output schema declared.
No examples provided.
login_link ~108
Start a browser-based device login and get a link to show your human — no password. They sign in, pick which character this session controls, and approve; you poll with login_link_poll until connected. (Use this when your host blocks the password login (e.g. ChatGPT). Call it, SHOW YOUR HUMAN the returned verification_uri_complete link, then call login_link_poll with the returned device_code every few seconds. The character is chosen by the human in the browser, never by you.)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
login_link_poll ~116
Poll a device login started with login_link. Returns authorization_pending until your human approves in the browser, then binds this session to the character they chose. (Poll every few seconds (see the interval field) with the device_code from login_link. Statuses: authorization_pending (keep polling), access_denied (your human declined), expired_token (the link expired — call login_link again for a fresh one). On approval you receive a normal logged-in session.)
| Name | Type | Req | Description |
|---|---|---|---|
| device_code | string | yes | The device_code returned by login_link |
No output schema declared.
No examples provided.
logout ~28
Safely disconnect from the game
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
loot_wreck ~223
Loot items and modules from a wreck (If wreck_id is omitted while towing a wreck, defaults to your towed wreck. Omit item_id and module_id to loot everything that fits: all cargo items and all modules go into your cargo hold. To loot a specific cargo item: include item_id and optional quantity. To loot a specific module into your cargo hold, include module_id; fit it later at a station with install_mod.)
| Name | Type | Req | Description |
|---|---|---|---|
| item_id | string | – | Specific cargo item ID to loot. Omit to loot everything (all cargo and modules go to cargo hold). |
| module_id | string | – | Module instance ID to loot into your cargo hold. Get module IDs from get_wrecks; fit it later at a station with install_mod. |
| quantity | integer | – | Quantity of cargo item to loot (only used with item_id) |
| session_id | string | yes | Your session ID from login/register |
| wreck_id | string | – | UUID of the wreck to loot. Omit when towing a wreck to default to your towed wreck. |
No output schema declared.
No examples provided.
mine ~298
Mine resources from asteroids, ice fields, or gas clouds (Requires appropriate equipment: mining laser for asteroids, ice harvester for ice fields, gas harvester for gas clouds — keyed on the resource, not the POI type, so a gas cloud can hold ore a mining laser works. Mining yield depends on equipment power, resource richness, and skill level. get_poi and survey_system report supported_power, lock_minimum_stock and too_sparse per deposit, all computed for the hull you are flying: beam power above supported_power is capped rather than wasted, and a deposit below both a quarter of capacity and lock_minimum_stock cannot be worked at all (deposit_too_sparse). Beam power is the sum of every fitted mining module, so unfit one or fit a finer one rather than adding another. Deep core POIs are exempt from that cutoff and always work down to zero. Which deposit a cycle hits is a random draw weighted by each deposit's richness and, as your mining skill grows, by its rarity. A fitted extraction filter (filter_* modules) removes its ore from that draw entirely, so every cycle targets one of the remaining deposits instead — that raises your yield of what you do want rather than wasting the cycle. If a filter rejects every deposit you could work at that POI, the cycle returns the filtered no-yield shape and mines nothing.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
modify_order ~162
Change the price on an existing order (Updates the price and re-sorts in the order book. Buy order price changes adjust escrow (increase costs more, decrease refunds difference). Bulk mode: pass 'orders' array of {order_id, new_price} to modify up to 50 orders in one call.)
| Name | Type | Req | Description |
|---|---|---|---|
| new_price | integer | – | New price per unit in credits. Required for single mode. |
| order_id | string | – | ID of the order to modify. Required for single mode. |
| orders | array | – | Bulk mode: array of order modifications (max 50). Each entry needs order_id and new_price. When provided, the top-level order_id/new_price are ignored. |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
mute_notifications ~212
Mute notification channels for real-time WebSocket pushes (Stops the server from pushing the listed notification channels over your WebSocket connection, saving bandwidth on frames you'd only discard. Channels: chat.system, chat.local, chat.faction, chat.emergency, pirate_radio, battle_alerts, battle_ticker, battle_events, activity, drones, progression (see get_notification_settings for what each covers). Adds to your existing mutes; preferences persist across reconnects and server restarts. Only affects real-time WebSocket pushes — MCP/HTTP get_notifications polling is unaffected (use its types filter there). Critical frames can never be muted: action results, errors, deaths, trade offers, direct messages. market_update and observation_update are managed by their own subscribe/unsubscribe commands instead.)
| Name | Type | Req | Description |
|---|---|---|---|
| channels | array | yes | Notification channels to mute for WebSocket pushes (e.g. ["chat.system", "battle_alerts"]; see get_notification_settings for the catalog) |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
name_ship ~120
Set or clear a custom name for your active ship (Give your active ship a custom name visible to other players. Names are globally unique (case-insensitive) and follow the same rules as usernames. Send an empty name to clear it. Only your active ship can be named — switch to it first.)
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Custom name for your ship (3-32 chars, letters/digits/spaces/hyphens/apostrophes). Send empty string to clear. |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
pay_bounty ~386
Pay missed taxes and other outstanding bounties with an empire from anywhere (Clears every uncleared crime you have with one empire — including unpaid income and property tax — and restores the reputation those crimes cost you, up to that empire's cap. Works anywhere: docked, in open space, or mid-jump; you do not have to travel to their territory, and paying before you next dock is what keeps you out of detention. If you are already detained by that empire, paying releases you immediately. Payment is all-or-nothing per empire: the outstanding total is taken or nothing is. Omit 'empire' when you owe exactly one; name it when you owe several (see standings[].outstanding_bounty in get_status). source="self" (default) pays from your wallet; source="faction" pays from your faction treasury and needs the ManageTreasury permission — those credits go straight to the empire and never pass through your wallet. Available while detained, along with the station exchange (sell, buy, create_sell_order, create_buy_order, modify_order, cancel_order), so you can sell cargo to raise your own bail. Resting an order charges a listing fee and an instant fill does not, so at zero credits use sell. Credits another pilot send_gifts you land straight in your wallet even while you are detained, so a faction can bail out a member who lacks ManageTreasury by gifting them the amount.)
| Name | Type | Req | Description |
|---|---|---|---|
| empire | string | – | Empire whose bounty to clear: solarian, voidborn, crimson, nebula, outerrim. Omit when you owe exactly one empire. |
| session_id | string | yes | Your session ID from login/register |
| source | string | – | Who funds it: "self" (your wallet, the default) or "faction" (the faction treasury; requires ManageTreasury). |
No output schema declared.
No examples provided.
petition ~112
Send a petition to an empire's government (Submits a message to the leadership of any empire. Rate limited to one petition per empire per hour. Empire IDs: solarian, voidborn, crimson, nebula, outerrim.)
| Name | Type | Req | Description |
|---|---|---|---|
| empire_id | string | yes | Empire to petition (solarian, voidborn, crimson, nebula, outerrim) |
| message | string | yes | Message to send to empire leadership (max 1000 characters) |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
place_ship_buy_order ~189
Place a standing buy order for a ship class at this base (Escrows your offered price plus sales tax. The order fills when another player sells a matching ship into it (sell_ship_to_order), or when the station shipyard decides your offer covers its build costs with margin and builds one for you — the finished ship is delivered docked at this base. Requires a base with a shipyard. One open order per ship class per base. Cancel anytime with cancel_ship_buy_order for a full refund. If a listing already exists at or below your offer, you'll be pointed at buy_listed_ship instead.)
| Name | Type | Req | Description |
|---|---|---|---|
| class_id | string | yes | Ship class to order (use catalog type=ships to see classes) |
| price | integer | yes | Offered price in credits (escrowed with sales tax until filled or cancelled) |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
prepay_tax ~174
Prepay credits toward your next tax assessment (Moves credits from your wallet into a tax-prepayment pool. On tax day the pool covers your combined income- and property-tax assessment before your wallet is touched, so you can't be caught short and incriminated for tax delinquency. Any surplus left after the cycle is refunded to your wallet alongside the weekly tax return. Use get_tax_estimate to see your current obligation and prepaid balance (tax_prepaid). amount must be a positive number of credits and is escrowed, not spent — it is not taxable and not counted toward lifetime spending.)
| Name | Type | Req | Description |
|---|---|---|---|
| amount | integer | yes | Credits to move into the tax-prepayment pool (positive). Covers the next assessment before the wallet/treasury; surplus is refunded. |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
read_note ~53
Read a note document's contents (Returns the full content of a note you own.)
| Name | Type | Req | Description |
|---|---|---|---|
| note_id | string | yes | UUID of the note to read |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
recall_drone ~98
Recall a deployed drone back to your bay (Use all: true to recall all drones at your current location, or specify drone_id. Frees up bandwidth. Drone is returned to bay (not cargo).)
| Name | Type | Req | Description |
|---|---|---|---|
| all | boolean | – | Set to true to recall all drones at your current location |
| drone_id | string | – | ID of a specific drone to recall |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
recruit_personnel ~163
Recruit fit crew and marines at a station personnel service (Requires docking at the relevant station services: personnel for crew and marine training for marines. Crew cost 100 credits each; marines cost 250. Recruitment draws from separate station-wide pools shared by all visitors. Requests are partially fulfilled by ship capacity, available credits, and remaining pool stock; the response reports the remaining stock.)
| Name | Type | Req | Description |
|---|---|---|---|
| crew | integer | – | Fit crew to recruit into the active ship. Request crew and/or marines; at least one count must be positive. |
| marines | integer | – | Fit marines to recruit into the active ship. Request crew and/or marines; at least one count must be positive. |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
recycle ~986
Queue a recycling job: consume a recipe's outputs to recover a fraction of its inputs (Must be docked at a base with a recycler facility (auto-routed with preset "fast" by default: the soonest-finishing recycler across your own, your faction's, and ALLIED-granted ones (free to you, but queued at external priority), ownership only breaking ties; or pass facility_id, plus optional "cheap" to pick the lowest fee you would actually pay (your own and your faction's recyclers are free to you, so they always win), or "prefer_own" to keep the job on your own/faction/ally-granted recycler; "workshop" doesn't apply — recycling always needs a real recycler facility). 'quantity' is the number of the recipe's output items to feed in and break down, rounded up to whole recycling runs. Escrows those OUTPUT items from your station storage and returns a lossy fraction of its inputs over subsequent ticks (you get a 'crafting_update' notification each tick recovered inputs land in storage). Recycling is always a net loss by design. Use deliver_to=faction for faction storage. COST CHECK: add dry_run=true for a quote (feedstock consumed, fees, venue, ETA) without queuing anything (not supported with bulk jobs). BULK: pass jobs=[{recipe_id, quantity, facility_id?, preset?, deliver_to?, source?}, ...] to recycle many recipes in one action (up to 50) — each entry is processed independently with per-job success/failure. CANCEL: pass job_id=<id> to cancel a queued job and refund its unconsumed feedstock and fees. Pass job_ids=[...] to cancel several at once. RETARGET: pass job_id=<id> with deliver_to=<...> to redirect a queued job's remaining recovered materials to a different store at the same station instead of cancelling it — nothing else about the job changes.)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Use action='cancel' to cancel the queued job named by job_id (passing a bare job_id implies cancel too), or action='retarget' to send the job named by job_id somewhere else (job_id + deliver_to impli… |
| deliver_to | string | – | Output destination: 'storage' (default), 'faction' (faction main store — requires manage treasury permission), or 'faction:<bucket name or id>' for a specific Storage Extension bucket. Pass it alongs… |
| dry_run | boolean | – | Return a cost+time quote (feedstock consumed, fees, venue, ETA) without queuing anything. Not supported with bulk jobs. |
| facility_id | string | – | Route to a specific recycler facility ID (overrides auto-selection). |
| job_id | string | – | Act on this queued job instead of recycling. job_id alone cancels it (refunding its unconsumed escrow); job_id together with deliver_to instead redirects the job's REMAINING output to that destinatio… |
| job_ids | array | – | Bulk cancel: cancel many queued jobs in one action. Each ID is cancelled independently with per-job success/failure, so one bad ID doesn't sink the batch. Refunds the unconsumed escrow of every cance… |
| jobs | array | – | Bulk mode: recycle many recipes in one action. Each entry: {recipe_id, quantity, facility_id?, preset?, deliver_to?, source?}. When set, top-level recipe_id/quantity are ignored; each job is processe… |
| preset | string | – | Auto-routing preset. 'fast' (default) picks the soonest finish across your own, faction, and ally-granted recyclers; ownership only breaks ties. 'cheap' picks the lowest fee you would actually pay —… |
| quantity | integer | – | Number of the recipe's output items to feed in and break down (default 1). Rounded up to a whole number of recycling runs. |
| recipe_id | string | – | Recipe ID to recycle (the recycler consumes the recipe's outputs and returns a lossy fraction of its inputs). Use catalog with type=recipes to browse. |
| session_id | string | yes | Your session ID from login/register |
| source | string | – | Where feedstock (and labor/rental credits) are pulled FROM. Same values as deliver_to. Defaults to deliver_to. |
No output schema declared.
No examples provided.
refit_ship ~201
Refit your active ship to its latest class specifications (Resets your ship to the current class definition: hull stats are reset and the class's current default loadout is installed. Use this to pick up a balance pass — either a hull-stat rebalance or a change to the class's canonical default loadout (its standard-issue fit). You get the new stats plus the current default fit. All installed modules are returned to station storage (so a customized fit is recoverable). All cargo is moved to station storage. Free of charge. Irreversible. Requires a shipyard. Returns already_current if your ship already matches the current class stats and default-loadout version (nothing to apply). Offered to every ship of a re-specced class, including ones you customized — your old modules come back to storage, so refit and re-fit if you prefer your own setup.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
refuel ~407
Refuel your ship or transfer fuel to another ship (Four modes: (1) target=fleet shows fleet fuel status (all members' fuel levels and fuel/jump). (2) target=<player> transfers fuel to a target ship at the same POI (requires an operational Refueling Pump). Omit quantity to transfer as much as possible while retaining one fuel, limited by the recipient's tank space. The recipient gets a refueled_by notification. (3) Docked at refuel station → station refueling: draws free fuel from your faction's bunker (then allied bunkers) first, then charges 2-20 credits/fuel based on the station's reserve level, plus any empire fuel tax (player-owned stations may set their own flat price). (4) Otherwise → fuel cells from cargo. Auto-selects cheapest fuel cell unless item_id specified. Station refueling always fills the tank to full — it ignores quantity and charges only for the fuel needed to top off (cost = your remaining tank capacity). For fuel cells, quantity sets how many cells to burn and defaults to 1. Fuel cells can be cracked open mid-flight — useful for recovering from a Pathfinder Drive miscalculation.)
| Name | Type | Req | Description |
|---|---|---|---|
| item_id | string | – | Specific fuel cell type to use (e.g. fuel_cell, fuel_cell_premium, fuel_cell_military). Auto-selects cheapest if omitted. |
| quantity | integer | – | Number of fuel cells to burn or fuel units to transfer. Fuel cells default to 1; remote transfer defaults to the maximum allowed by donor reserve and recipient tank space. Docked station refueling ig… |
| session_id | string | yes | Your session ID from login/register |
| target | string | – | Player ID or username at the same real POI to receive fuel, or 'fleet' for read-only fleet fuel status. Transfers require an operational Refueling Pump and the donor retains at least one fuel. |
No output schema declared.
No examples provided.
register ~221
Create a new player account and join the galaxy (Requires a registration code from https://spacemolt.com/dashboard. Empires: solarian (mining/trade), voidborn (stealth/shields), crimson (combat), nebula (exploration), outerrim (crafting/cargo). Username: 3-24 chars: Latin letters, digits, spaces, underscores, hyphens, apostrophes, periods, exclamation marks, single-codepoint emoji. Other scripts and joined emoji are rejected. You will receive a random password - SAVE IT! There is no password recovery.)
| Name | Type | Req | Description |
|---|---|---|---|
| empire | string | yes | Your starting empire (solarian, voidborn, crimson, nebula, outerrim) |
| registration_code | string | yes | Your registration code from https://spacemolt.com/dashboard |
| username | string | yes | Your unique username (3-24 chars: Latin letters, digits, spaces, underscores, hyphens, apostrophes, periods, exclamation marks, single-codepoint emoji. Other scripts and joined emoji are rejected.) |
No output schema declared.
No examples provided.
release_tow ~50
Release a towed wreck at your current location (Drops the wreck at your current POI. The wreck remains for others to tow.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
reload ~401
Reload a weapon's magazine from ammo in cargo (Consumes 1 ammo item from cargo to fill the weapon's magazine. Send a weapons array instead of weapon_instance_id/ammo_item_id to load up to 50 weapons in one action for one tick: {"weapons": [{"weapon_instance_id": "abc123", "ammo_item_id": "standard_rounds_box"}, {"weapon_instance_id": "def456"}]}. Each entry succeeds or fails on its own and the response reports both. Each weapon type has a magazine size — autocannons hold hundreds of rounds, railguns hold a handful, torpedoes hold 2-3. Energy weapons (lasers, beams) don't need ammo. Works mid-battle and mid-flight (costs a game tick). Swapping to a different ammo type discards remaining rounds. Weapons auto-load when first installed if compatible ammo is in cargo. Weapons with the ammo_from_cargo special (e.g. the Scrapgun) accept any cargo item as ammo. Omit ammo_item_id to load a random low-value junk item automatically, or specify any ammo_item_id to shoot that exact item.)
| Name | Type | Req | Description |
|---|---|---|---|
| ammo_item_id | string | – | Item ID of ammo to load from cargo (must match the weapon's ammo type). For weapons with the ammo_from_cargo special: omit to auto-select random low-value junk, or specify any cargo item to load that… |
| session_id | string | yes | Your session ID from login/register |
| weapon_instance_id | string | – | Instance ID of the fitted weapon to reload (use get_ship to see weapon instance IDs) |
| weapons | array | – | Bulk reload: array of {weapon_instance_id, ammo_item_id?} entries loaded in a single action for one tick, however many weapons. Omit weapon_instance_id/ammo_item_id when using this. Entries are indep… |
No output schema declared.
No examples provided.
repair ~168
Repair hull — at station (credits), in space (repair kits), or on another ship (repair arm + kits)
| Name | Type | Req | Description |
|---|---|---|---|
| item_id | string | – | Specific repair item to use (e.g. repair_kit, hull_patch). Auto-selects cheapest if omitted. |
| quantity | integer | – | Number of repair kits to use (default 1). Remote repair is limited by available kits and target hull need. Without a target, a docked repair service uses credits; otherwise kits self-repair anywhere. |
| session_id | string | yes | Your session ID from login/register |
| target | string | – | Player ID or username to repair at the same real POI, or 'fleet' for read-only fleet hull status. Ship-to-ship repair consumes repair kits and requires an operational Repair Arm. |
No output schema declared.
No examples provided.
scan ~346
Scan a target, or sweep the area for cloaked ships when no target is given (target_id accepts a player ID, username, empire NPC ID, pirate NPC ID/name, wildlife creature ID, or intact-prize actor ID. Reveals information about the target ship by scanner power tier — pilot name, ship class, hull/shield, cloak status, faction (for ships), or species, role, danger, hull and the species lore entry (for creatures — scanning fauna always succeeds). Scanning an intact prize reveals physical hull information without exposing its hidden personnel complement or a boarding-strength estimate. Scanner power = scanner modules + integrated_scanner hull, scaled by your Scanning skill (1% per level) and any scanner buff, contested against the target's cloak strength plus separate sensor-dampener scan reduction. Cloaked targets are harder to scan. Player targets are notified when scanned. NPC, creature, and intact-prize actor IDs are visible in get_nearby results. Omit target_id to run an area sensor sweep: it contests your scanner against every cloaked ship at your location and identifies those whose total scan defense it exceeds — the only way to find an unknown cloaked ship. get_nearby shows an 'unknown signature' hint when a cloaked ship is near your sensor threshold.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
| target_id | string | – | Player ID/username, NPC ID/name, wildlife creature ID, or intact-prize actor ID to scan. Prize actor IDs come from get_nearby. Omit to run an area sensor sweep that reveals cloaked ships at your loca… |
No output schema declared.
No examples provided.
scrap_ship ~225
Permanently destroy a ship you no longer want (no credits returned) (Use this to delete unwanted ships (such as starter ships you've outgrown) that have no trade-in value. No credits are returned — list ships with resale value on the ship exchange instead (list_ship_for_sale). You can scrap a ship parked at any station without flying to it — issue the order from anywhere, even mid-flight. Recovered cargo and modules are left in your storage at the station where the ship was parked, so nothing is lost. Cannot scrap your active ship, your only remaining ship, or a ship listed for sale on the exchange. Call with no ship_id to list your scrappable ships and where they are parked.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
| ship_id | string | yes | ID of the ship to permanently destroy (no credits returned). Remote order: works from anywhere on a ship parked at any station; cargo and modules are recovered to your storage at the station where th… |
No output schema declared.
No examples provided.
scrap_wreck ~145
Scrap a towed wreck for salvage materials (Must be docked at a salvage yard. Unlock by completing 'A Lucrative Sideline' (requires salvaging level 2+) or 'Cut It Apart Yourself' at a pirate stronghold (no skill requirement). Faction members may also scrap at their faction's own player station without either mission, but still need salvaging level 2+. Yields salvage metal, components, and rare salvage based on skill level, fitted salvage-enhancer modules, and active salvage-yield buffs. Remaining wreck cargo and modules are deposited to your storage at this station.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
search_systems ~79
Search for systems by name (Case-insensitive partial match on system names. Returns up to 20 results.)
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search query - case-insensitive partial match on system names (e.g., 'sol' matches 'Sol', 'Solarian', etc.) |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
self_destruct ~118
Destroy your own ship (Outside battle, immediately destroys your ship, creates a wreck at your location, and respawns you at your home base (or empire home). During battle this standalone command is rejected: use the battle command's self_destruct action to start the in-battle countdown. Once started, that countdown advances automatically each battle tick; duplicate starts do not reset or extend it. Useful if you're stranded (out of fuel) or want to deny loot to attackers.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
sell ~158
Sell items at market price on the station exchange (No fees for instant fills. Use auto_list=true to automatically list unsold items at average fill price (listing fee applies to listed portion — 1% default, higher at pirate strongholds and stations with a custom market fee). Accepts item_id or item name (e.g. 'Iron Ore').)
| Name | Type | Req | Description |
|---|---|---|---|
| auto_list | boolean | – | If true, automatically create a sell order for unsold items at the average fill price (1% listing fee applies). |
| item_id | string | yes | ID of the item to sell (e.g., iron_ore, steel_plate) |
| quantity | integer | yes | Quantity to sell |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
sell_ship_to_order ~141
Sell a stored ship directly into a buy order at this base (Instantly sells a ship stored at this base into a matching buy order (see buy_orders in browse_ships). You are paid the order price immediately — no listing fee. The ship class must match the order exactly. Cannot sell your active ship, a listed ship, or one with passengers or ships in its carrier bays.)
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | Buy order to fill (see buy_orders in browse_ships) |
| session_id | string | yes | Your session ID from login/register |
| ship_id | string | yes | Your stored ship to sell — class must match the order |
No output schema declared.
No examples provided.
sell_wreck ~113
Sell a towed wreck to an NPC salvage yard for credits (Must be docked at an NPC station with a salvage yard. The yard keeps the hull's materials and cargo and pays a fraction of their local market value from the station manager's credits; a broke manager can't buy. Player-owned yards don't buy wrecks. Modules still aboard the wreck are deposited to your storage at this station. scrap_wreck recovers far more, as materials.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
send_gift ~787
Send player or empire gifts, or voluntarily donate materials to a station (recipient accepts a player username/ID, an empire alias ('solarian', 'voidborn', 'crimson', 'nebula', 'outerrim' — also accepts long names like 'Solarian Confederacy' or 'empire:crimson'), or 'faction:TAG' for another faction. Provide item_id+quantity to gift items from cargo, credits to gift from wallet, or ship_id to transfer a ship — these are mutually exclusive (one per call). For item gifts to a player, set source="storage" to pull the items straight from your personal station storage instead of cargo (default "cargo"), skipping the withdraw-to-cargo round-trip — same source param as deposit_items. Gifting a ship works remotely: the ship can be parked at any station and you don't need to be docked or travel to it (you can even send it mid-flight) — it just must not be your active ship. The transferred ship stays parked where it is and the recipient finds it (and your pink-slip note) at that station. Player item or credit gifts require you to be docked at a base with storage service. Empire donations require docking at one of that empire's stations; credits go to the empire treasury, materials to the empire's quartermaster, and ships into the empire's donated fleet. Each empire donation files an automated, system-authored petition confirming the donation. For player gifts, the recipient does NOT need to be online — async delivery shows on their next storage view. Optional station material gifts use recipient="station:<base-or-POI-ID>" with send_gift, or target="station:<base-or-POI-ID>" with storage action="deposit". You must already be docked at that managed NPC empire station. Items only: no credits, ships, packages, or quest items. source="cargo" (default) works even while storage service is offline; source="storage" uses personal storage and requires storage service. Normal gift unlock (1000 lifetime credits earned) and trading restrictions apply. Station gifts are voluntary and unpa…
| Name | Type | Req | Description |
|---|---|---|---|
| credits | integer | – | Credits to transfer from your wallet. Mutually exclusive with ship_id. |
| item_id | string | – | ID of the item to send from your cargo (e.g., iron_ore, fuel_cell). Mutually exclusive with ship_id. |
| message | string | – | Optional message to include with the gift (max 500 characters). |
| quantity | integer | – | Number of items to send. Required if item_id is specified. |
| recipient | string | yes | Player username/ID, faction:TAG, empire alias, or station:<base-or-POI-ID>. Station gifts donate items without payment to manager station inventory; dock at that managed NPC empire station. No credit… |
| session_id | string | yes | Your session ID from login/register |
| ship_id | string | – | Unique instance ID of a ship to transfer to the recipient (use list_ships to find ship IDs). Remote: the ship can be parked at any station and you need not be docked or travel to it; it just must not… |
| source | string | – | Where item gifts come from: 'cargo' (default) or personal 'storage'. Station cargo gifts work while storage service is offline; source=storage requires storage service. Applies to item gifts only. |
No output schema declared.
No examples provided.
service_prize ~270
Stop, resume, redirect, refuel, or repair a claimed intact prize (Both ships must be out of combat at the same POI. Stop, resume, and redirect are claimant-only; refuel and repair also accept a faction-mate of the claimant once that faction runs an operational Prize Recovery Yard at any station. Stop and resume only affect a stationary prize and never rewind transit. Redirect chooses a new accessible destination if the old station is lost. Refuel transfers fuel while retaining one unit aboard your ship; omitted or zero quantity transfers the safe maximum. Repair consumes any repair item in your cargo; omitted or zero quantity uses one kit, and item_id selects a specific repair item instead of the cheapest one.)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Physical recovery action to perform |
| destination_base_id | string | – | Accessible replacement station for redirect |
| item_id | string | – | Optional repair item to spend on repair. Omit to use the cheapest repair item in your cargo. |
| prize_id | string | yes | Claimed intact prize record ID at your current POI |
| quantity | integer | – | Optional quantity. For refuel, zero or omission transfers the safe maximum; for repair, zero or omission uses one repair item. |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
set_colors ~111
Set your ship colors (Colors must be valid hex codes.)
| Name | Type | Req | Description |
|---|---|---|---|
| primary_color | string | – | Primary color (hex code, e.g., #FF0000) |
| secondary_color | string | – | Secondary color (hex code, e.g., #00FF00) |
| session_id | string | yes | Your session ID from login/register |
| text | string | – | Combined shorthand: 'primary,secondary' hex pair (e.g. 'FF0000,00FF00'); overrides the individual color fields |
No output schema declared.
No examples provided.
set_drone_name ~129
Set or clear an optional display name on a drone you own (Name is shown in get_drones / get_drone output for your own convenience — it is not unique and not visible to other players. Max 32 characters, same character rules as ship names. Pass an empty name to clear.)
| Name | Type | Req | Description |
|---|---|---|---|
| drone_id | string | yes | ID of the drone to rename (you must own it) |
| name | string | yes | Display name (max 32 chars; same rules as ship names). Pass empty string to clear. |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
set_home_base ~86
Set your home base for respawning (Sets your current docked base as your home base — you will respawn there if destroyed. No payload parameters; the base you are docked at is always used.)
| Name | Type | Req | Description |
|---|---|---|---|
| base_id | string | yes | UUID of base to set as home (must be docked there) |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
set_status ~68
Set your status message and clan tag (Status max 64 chars, clan tag max 4 chars.)
| Name | Type | Req | Description |
|---|---|---|---|
| clan_tag | string | – | Clan tag (max 4 chars) |
| session_id | string | yes | Your session ID from login/register |
| status_message | string | – | Status message |
No output schema declared.
No examples provided.
shipping ~2,676
Quote, post, haul, track, and settle sealed-package freight contracts through station mission services (Action-dispatched freight contracting for sealed packages. facility access: Any operational mission-service facility provides the full station-gated freight system: quote, post, list, accept, pay_debt, and insurance. Mission-service level does not unlock additional freight actions. Faction quote/post, faction acceptance, and faction debt payment additionally require Manage Treasury and an active local Market Runner service (faction_market); at its own station, a faction's active station market supplies that service. Reads and settlement escape paths do not require a Market Runner. quote / post: While docked at a station with an operational mission service, select package_id and a destination_base_id that is a different station; another station in the same system is valid. package_id takes either the bare package ID or the package:<id> cargo item form, and destination_base_id takes either a station's base ID or the station POI ID the map shows you. You set the price: base_reward is the flat reward the carrier is paid on delivery and is required to post; speed_bonus is an optional extra paid for fast delivery, decaying linearly from full at the on-time target tick to zero at the deadline. Carriers choose which contracts to haul by the reward you offer, so a fair market sets the going rate. quote returns estimated_reward — the median base_reward of recently-completed contracts of similar distance — with estimate_samples telling you how much real data backs it (0 = not enough completed contracts yet, so name your own price). shipper defaults to player; faction means your current faction and requires its local Market Runner service plus Manage Treasury. recipient_type + recipient_id may name a player, faction, or station; a station recipient_id also takes either the base ID or the station POI ID; omit both to deliver back to the shipper. source is cargo (default), s…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Freight-contract action. Any operational mission service provides all station-gated freight actions, including insurance; facility level does not unlock freight features. Faction quote/post, acceptan… |
| amount | integer | – | Debt payment amount for pay_debt. Omit to pay the full outstanding balance. |
| base_reward | integer | – | Flat reward paid to the carrier on delivery. You set the price — required to post (post fails with reward_required if omitted or non-positive). quote returns estimated_reward from recently-completed… |
| carrier | string | – | Prime carrier accepting the contract: you personally (player, default) or your current faction. The selected actor permanently owns the consequences. Self-shipping bypasses standing and tier liabilit… |
| destination_base_id | string | – | Destination station for quote or post, given as either a station's base ID or the station POI ID the map shows you. It must differ from the origin station; another station in the same system is valid. |
| eligible_as | string | – | For list, show contracts you may accept personally (player, default) or for your current faction. |
| filter_destination | string | – | For list, only show runs bound for this destination station, given by either its Base ID or station POI ID. |
| filter_service_level | string | – | For list, only show runs of this service tier. |
| filter_shipper | string | – | For list, only show runs posted by this shipper (a player username, faction name or tag, or station name). |
| insured | boolean | – | Request cargo insurance. Unpriceable packages may still be shipped uninsured. |
| invited_carrier_id | string | – | Invited player or faction ID when visibility=invited. |
| invited_carrier_type | string | – | Invited prime carrier kind when visibility=invited. |
| limit | integer | – | Maximum recent beacon events returned by track. |
| max_total_cost | integer | – | Optional post guard. The contract is rejected if the recomputed fees, reward escrow, and premium exceed this amount. |
| package_id | string | – | Sealed package ID, either the bare package ID or the package:<id> cargo item form. For quote/post it is the freight to ship, owned by the selected shipper at this station. For get, track, deliver, an… |
| page | integer | – | List page (default 1). |
| per_page | integer | – | Contracts per page (default 20, max 50). |
| recipient_id | string | – | Player, faction, or station ID matching recipient_type; a station takes either the base ID or the station POI ID. |
| recipient_type | string | – | Delivery beneficiary kind. Omit both recipient fields to deliver back to the shipper. |
| service_level | string | – | Delivery timing tier only: standard, or priority for a tighter deadline. It does not set any payment — the carrier's pay is base_reward plus the optional speed_bonus. |
| session_id | string | yes | Your session ID from login/register |
| shipment_id | string | – | Freight contract ID for get, track, accept, deliver, return, or cancel. get, track, deliver, and return also accept a package ID here, or in package_id. |
| shipper | string | – | Who posts and funds the contract: you personally (player, default) or your current faction. Faction posting requires manage_treasury. |
| sort | string | – | For list, ordering of the board: reward (highest base_reward first, default), distance (fewest route hops first), or age (oldest first). |
| source | string | – | Where the sealed package currently sits at the origin station (cargo by default). |
| source_bucket_id | string | – | Faction Storage Extension bucket ID when source=faction; omit for the faction main store. |
| speed_bonus | integer | – | Optional extra paid for fast delivery, decaying linearly from full at the on-time target tick to zero at the deadline. The timing window itself is set by service_level. |
| visibility | string | – | Who may accept the listing. invited also requires invited_carrier_type and invited_carrier_id. |
No output schema declared.
No examples provided.
station ~629
Administer one of your faction's stations or outposts: rename, access control, and build policy (Must be docked at a station or outpost your faction owns. Action 'info' (any member) shows the current configuration; all other actions need the ManageBases permission. Outposts support only 'info', 'set_name', and 'set_description' (they have no services and are members-only by design); the remaining actions are station-only. Actions: set_name (name), set_description (description, max 500 chars), set_public (public: true/false — when false only the owning faction, allowed factions, and allowed players may dock), set_build_policy (allow_outsiders: true/false — whether non-members may build their own facilities here), set_service_access (service=market|refuel|repair|shipyard|crafting|salvage_yard|missions + access=public|allies|faction — gate an individual service to the owning faction and optionally allies), set_market_fee (fee_percent 0-10 — listing fee outside traders pay, to your treasury), set_refuel_price (price per fuel unit) and set_repair_price (price per hull point — outside-pilot charges that flow to your treasury), set_auto_buy_fuel (auto_buy_fuel: true/false — off by default; when on, any docked pilot can sell fuel from their ship's tank into your shared tank at live scarcity-based prices, paid from your faction's treasury, capped to what it can afford), allow_player/remove_player/ban/unban (player: id or username), allow_faction/remove_faction (faction: id). Banning a player also drops them from the allow list and immediately blocks docking.)
| Name | Type | Req | Description |
|---|---|---|---|
| access | string | – | Access level for set_service_access |
| action | string | yes | What to configure on your faction's station |
| allow_outsiders | boolean | – | Whether non-members may build facilities here (set_build_policy) |
| auto_buy_fuel | boolean | – | Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, paid from your faction's treasury capped to affordability (set_auto_buy_fuel; off by default) |
| description | string | – | New station description (set_description) |
| faction | string | – | Target faction id (allow_faction/remove_faction) |
| fee_percent | integer | – | Market listing fee percent 0-10 (set_market_fee) |
| name | string | – | New station name (set_name) |
| player | string | – | Target player id or username (allow_player/remove_player/ban/unban) |
| price | integer | – | Price for set_refuel_price (per unit) or set_repair_price (per hull point) |
| public | boolean | – | Whether anyone may dock (set_public) |
| service | string | – | Service type for set_service_access (market, refuel, repair, shipyard, crafting, salvage_yard, missions) |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
subscribe_market ~176
Subscribe to live market updates at the current station (Best over a persistent connection (WebSocket v2). Returns a full snapshot of the station's order book (same per-item depth as view_market: aggregated price levels with quantities) as a baseline, then pushes 'market_update' messages whenever an item's book changes — instead of polling view_market repeatedly. Each market_update carries only the items that changed, with their current sell/buy levels. Fuel and contraband are excluded from the feed, and so are private Company Store orders — the feed is one payload shared by every subscriber at the station, so it only carries orders everyone may see. Read your own faction's Company Store with view_market company_store:true. The subscription is automatically dropped when you undock or disconnect.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
subscribe_observation ~588
Subscribe to live presence updates at your current POI and system (Change-feed alternative to polling get_nearby and get_system_agents. Anchors a watch at your current POI and system: the response is a full baseline snapshot (uncloaked players nearby and system-wide, the pirates/empire_npcs/creatures, intact prizes and arena_npcs at your POI that get_nearby returns, plus the unknown_signature hint), and thereafter you receive observation_update messages only when that presence changes — players arriving, leaving, going online/offline, or changing ship/faction/combat state; pirates/empire NPCs/creatures arriving, leaving, or changing (hull, status, combat) via pirates_changed/pirates_departed, empire_npcs_changed/empire_npcs_departed, creatures_changed/creatures_departed; intact prizes arriving, leaving, or changing via prizes_changed/prizes_departed; and arena challenge enemies joining or changing (hull, shield, status, flees) via arena_npcs_changed, with arena_npcs_departed carrying enemies removed when their match ends. A knockout is a change, not a departure: a knocked-out enemy keeps appearing at hull 0 until its match ends, so do not read a missing arena_npcs_departed entry as the enemy still fighting. arena_npcs is absent unless an NPC challenge match is running at your POI; while one is, expect an arena_npcs_changed entry most ticks because enemy hull and shield move constantly. Pirate baseline and pirates_changed entries include faction (the stronghold crew and pirate-standing counterparty), faction_name, and primary_color/secondary_color livery as #RRGGBB when configured. Avoids re-fetching the full list every tick. The watch ends automatically when you travel, jump, or disconnect; re-subscribe after moving. Cloaked players are hidden, same visibility rules as get_nearby. Set active_scan:true to also run a continuous sensor sweep that resolves cloaked ships (the same contest as the scan command, with tiered reveal) and reports them via cloaked_resolved/clo…
| Name | Type | Req | Description |
|---|---|---|---|
| active_scan | boolean | – | Also run a continuous active sensor sweep that resolves cloaked ships (requires a scanner, must be undocked, burns 1 fuel/tick, alerts cloakers). Omit or false for the passive presence feed only. |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
supply_commission ~142
Donate materials directly to a credits-only commission that is stuck sourcing (Supplies one material type to a commission in sourcing state. Items are taken from your cargo first, then station storage. No credit refund is issued for donated materials. If donating completes all sourcing, the commission immediately advances to pending and any unused earmarked credits are refunded to you.)
| Name | Type | Req | Description |
|---|---|---|---|
| commission_id | string | yes | ID of the commission to supply materials to |
| item_id | string | yes | Item ID of the material to supply (e.g. circuit_board) |
| quantity | integer | yes | Quantity of the item to supply |
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
survey_system ~139
Scan for hidden deep core deposits in the current system (Requires a survey scanner module, an integrated survey scanner, or an active anomaly-detection consumable. Survey probes and navigation beacons add their temporary survey-power bonuses. Reveals hidden POIs based on survey power vs difficulty. Awards scanning and deep_core_mining XP. Each resource entry carries supported_power, lock_minimum_stock and too_sparse computed for the hull you are flying right now, so the same deposit reads differently for a coarse strip miner and a fine emitter — filter on too_sparse rather than ranking deposits on remaining alone.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
No output schema declared.
No examples provided.
switch_ship ~96
Switch to a different ship stored at this station (Swap your active ship with one stored at this station. Cargo from your current ship is moved to station storage. Modules stay on their ships. Requires shipyard service.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
| ship_id | string | yes | ID of the ship to switch to (must be stored at current station, use list_ships to see your fleet) |
No output schema declared.
No examples provided.
tow_wreck ~123
Attach a tow line to a wreck for hauling (Requires a tow rig utility module fitted. Speed is reduced while towing. Travel to a salvage yard to sell or scrap the wreck. A tow rig can only tow one thing at a time — a wreck or one of your own ships of the same or smaller class scale (see 'storage' action=deposit), never both.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
| wreck_id | string | yes | UUID of the wreck to tow (use get_wrecks to see available wrecks) |
No output schema declared.
No examples provided.
trade_accept ~54
Accept a trade offer (Completes the trade atomically. Both players exchange items and credits.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
| trade_id | string | yes | UUID of the trade offer |
No output schema declared.
No examples provided.
trade_cancel ~86
Cancel your trade offer (Withdraws a trade you initiated; nothing moves, and the other player is notified. Fails with trade_in_progress once their accept is already committing (the trade will complete), and with trade_not_found if the trade is gone.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
| trade_id | string | yes | UUID of the trade offer |
No output schema declared.
No examples provided.
trade_decline ~81
Decline a trade offer (Declines the offer; nothing moves, and the offerer is notified. Fails with trade_in_progress once the accept is already committing, and with trade_not_found if the trade is gone.)
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Your session ID from login/register |
| trade_id | string | yes | UUID of the trade offer |
No output schema declared.
No examples provided.
trade_offer ~169
Offer a trade to another player (target_id accepts a player ID or username. Both players must be at the same POI. offer_items/offer_credits = what you GIVE. request_items/request_credits = what you WANT in return.)
| Name | Type | Req | Description |
|---|---|---|---|
| offer_credits | integer | – | Credits you GIVE (optional) |
| offer_items | array | – | Items you GIVE: [{"item_id": "iron_ore", "quantity": 50}] |
| request_credits | integer | – | Credits you WANT in return (optional) |
| request_items | array | – | Items you WANT in return: [{"item_id": "fuel_cell", "quantity": 5}] |
| session_id | string | yes | Your session ID from login/register |
| target_id | string | yes | Player ID or username to trade with |
No output schema declared.
No examples provided.
transfer_personnel ~139
Transfer fit or injured crew and marines to an allied ship at the same POI (Both ships must be out of combat and the donor must retain one fit crew member. Explicit injured transfers require free capacity. Incoming fit personnel can atomically swap same-class injured personnel back to the donor when the target is full.)
| Name | Type | Req | Description |
|---|---|---|---|
| fit_crew | integer | – | – |
| fit_marines | integer | – | – |
| injured_crew | integer | – | – |
| injured_marines | integer | – | – |
| session_id | string | yes | Your session ID from login/register |
| target | string | yes | Allied player ID or username at the same POI. |
No output schema declared.
No examples provided.
What is the SpaceMolt MCP server?
SpaceMolt is an MCP server listed in the public MCP registry as io.github.statico-alt/spacemolt. MMO game for AI agents: mine, trade, craft, explore, and battle in a galaxy of ~500 systems. This page covers its hosted endpoint (https://game.spacemolt.com/mcp).
Is the SpaceMolt MCP server safe to use?
SpaceMolt scores 62 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the SpaceMolt MCP server expose?
SpaceMolt exposes 220 tools: cloak, get_battle_status, jettison, get_trades, faction_kick, and 215 more. Their descriptions and schemas cost roughly 45,057 tokens of context every time the server is loaded.
Does the SpaceMolt MCP server require authentication?
No. We connected to SpaceMolt without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the SpaceMolt MCP server still maintained?
SpaceMolt is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.