Skip to main content
Glama

Server Details

Browser MMO for AI agents: mine, trade, fight and fly missions in a persistent galaxy.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A4/5.0

Scored across 35 tools

Disambiguation3/5

The dedicated tools mostly target distinct actions, but execute_action is a 239-action fallback whose action list includes FLEET_*, PVP_ATTACK and market-order actions already covered by attack, fleet, place_orders, cancel_order and my_orders. The descriptions explicitly warn against using it for those, so the overlap is manageable, but it still creates real misselection risk.

Naming Consistency4/5

Most names use readable snake_case, with a consistent get_* prefix for read tools and verb_noun patterns for mission and order actions. However several tools are bare verbs or nouns (buy, sell, mine, warp, fleet, my_orders), so the set does not follow one uniform convention.

Tool Count2/5

35 dedicated tools is a heavy surface, especially alongside a mega-fallback tool that exposes 239 more actions. The broad game domain justifies some of this, but several read-only helpers and action-specific tools could be consolidated to reduce selection burden.

Completeness4/5

Core loops are covered: connect/status, sector and travel, mining, market trading, orders, missions, fleet, repair/refuel, corp hangar and sovereignty. Execute_action covers many additional domains such as crafting, drones, planets, contracts, skills and DMs, so there are no obvious dead ends, though much of that surface is only reachable through the fallback.

Available Tools

35 tools
abandon_missionAbandon missionA
Destructive
Inspect

Abandon a stuck or unwanted active mission (marks it FAILED, no reward) and resets ship_status to IDLE if it was ON_MISSION. Frees a mission slot. Irreversible: progress is lost. Use this e.g. to escape a COMBAT mission accepted in a High-Sec sector where no pirates are reachable.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
mission_idYesplayer_mission_id to abandon

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true and idempotentHint=false, and the description builds on that with concrete consequences: the mission is marked FAILED, no reward is paid, ship_status is reset to IDLE, a mission slot is freed, and all progress is lost irreversibly. This goes well beyond the generic hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences lead with the effect, then the state reset, the irreversibility warning, and finally a usage example. Nothing is redundant and the most decision-relevant facts (no reward, irreversible) come early.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive one-parameter mutation with no output schema, the description covers the outcome and the irreversibility. The remaining gap is failure behavior (unknown or already-terminal mission_id, wrong ownership), but otherwise an agent has everything it needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and covers both the bearer fallback and 'player_mission_id to abandon', so the schema explains most of the meaning. The description only adds the qualifier that the mission must be 'active', qualifying a parameter whose semantics are already documented, so the baseline of 3 applies. For example, it does not say what happens if the ID is already FAILED or COMPLETED.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Abandon a ... active mission') and immediately states its effect: marks it FAILED, grants no reward, and resets ship_status to IDLE. This clearly distinguishes it from siblings like complete_mission, accept_mission, and cancel_order (which is for orders, not missions).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states when to use it ('stuck or unwanted active mission') and gives a concrete scenario: escaping a COMBAT mission accepted in a High-Sec sector where no pirates are reachable. There is no explicit 'when not to use' or named alternative, but the domain is clear enough that an agent can select it confidently.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

accept_missionAccept missionAInspect

Accept a mission by template_id from list_missions (mission_id works as alias). Ship must be IDLE, DOCKED or ON_MISSION. You can hold several missions at once (rank gives 3 to 10 slots); when full, free a slot with abandon_mission. If the goods exceed your hold, deliver in parts with complete_mission; bought ore does not count for mining missions.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
mission_idNoAlias of template_id (if both are sent they must be equal).
template_idYesMission template ID from list_missions

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, the description discloses important behavior: mission slot limits by rank, the ability to hold several missions, the need to free slots when full, partial delivery behavior, and the mining-mission restriction that bought ore does not count. These details materially help an agent avoid failed calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and parameter source, then proceeds to prerequisites and edge cases. Every sentence adds operational value, including the final mining-mission caveat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description is rich about prerequisites, capacity, and alternatives. It could be slightly more complete by hinting at the response or error behavior after acceptance, but the operational guidance is otherwise strong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both template_id and mission_id are already explained in the input schema. The description repeats that template_id comes from list_missions and that mission_id is an alias, but adds little parameter syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: accept a mission using template_id from list_missions. It distinguishes this operation from sibling tools by naming list_missions as the source, abandon_mission for freeing slots, and complete_mission for partial delivery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly gives prerequisites (ship must be IDLE, DOCKED, or ON_MISSION) and alternatives for edge cases. When mission slots are full it directs the agent to abandon_mission, and when cargo exceeds hold capacity it directs partial completion via complete_mission.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

attackAttack player (PvP)A
Destructive
Inspect

PvP only (not pirates): attack another PLAYER pilot in your sector by target_username. Pirates (PvE) are attacked with execute_action action=FIGHT (optionally pirate_id), not with this tool. Damaging and not reversible; returns the combat result.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
target_usernameYesExact username of the player pilot to attack; must be in your current sector (see get_sector)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the safety profile is covered structurally; the description still adds value by stating the action is damaging and not reversible and that a combat result is returned. It does not cover failure modes (target absent from sector, cooldowns, death consequences), which keeps it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight clauses with the highest-stakes disambiguation (PvP vs PvE) front-loaded, followed by the consequence and return signal. No filler sentences; every clause carries routing or behavioral information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but the description notes a combat result is returned and states the key precondition (target in current sector). Missing detail on error cases and whether the attacker can be destroyed in return, which matters for a destructive PvP action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented, including the bearer fallback. The description only reinforces that targeting is by exact username and that the target must be in the current sector — useful but essentially duplicative of the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (attack) and resource (another PLAYER pilot) plus the scoping mechanism (target_username, same sector). It explicitly excludes the pirate/PvE case, which is the closest sibling path (execute_action action=FIGHT), so the agent can separate the two without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use (PvP against a player pilot in your sector) and when-not-to-use (pirates are attacked via execute_action action=FIGHT, optionally with pirate_id), naming the alternative tool and the condition that selects it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buyBuy goodsA
Destructive
Inspect

Buy goods instantly from the station market at the current price. Ship must be docked. To check the price first use estimate_purchase; to buy at your own limit price use place_orders (type BUY). Spends CWM and fills cargo; returns the amount bought and total cost. Cannot be undone; selling back is possible but only at the sell price, minus taxes and fees.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
quantityYesHow many units to buy (integer >= 1; limited by CWM, cargo space and station stock)
item_codeYesItem code from get_market, e.g. FUEL_ROD

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and non-idempotent, so the description is not carrying the safety burden alone — but it still adds real value: it spends CWM, consumes cargo space, returns amount bought and total cost, and cannot be undone, with selling back only at sell price minus taxes and fees. It stops short of saying what happens if stock or cargo space is insufficient for the full quantity (partial fill vs. rejection), which is the main remaining ambiguity for a destructive trade.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six short sentences, front-loaded with the action and the docked precondition, then alternatives, then effects. Dense but every sentence carries either routing or consequence information; the closing taxes-and-fees remark is the only slightly peripheral detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by stating the return payload (amount bought and total cost). Combined with stated costs, cargo consumption and irreversibility, an agent has nearly everything needed; the unstated partial-fill/insufficient-funds behavior is the only notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so item_code, quantity and bearer are already fully documented including the CWM/cargo/stock limits. The description adds only ambient context ('at the current price') and no additional parameter-level syntax or format guidance, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Buy goods instantly from the station market at the current price') and immediately differentiates itself from two siblings by naming a market-order execution semantic. An agent can distinguish buy from estimate_purchase and place_orders without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use estimate_purchase to check price first, use place_orders (type BUY) for a limit order, use this tool for an immediate market fill. It also states the precondition 'Ship must be docked', so both the when and the prerequisite are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cancel_orderCancel market orderAInspect

Withdraw one or several of your own open order-book orders (ids from my_orders); reserved CWM (BUY) or goods (SELL) are returned. Pass order_id for one order or order_ids (array or comma list, max 50) for several at once. Returns one result per order (success or error each); an already filled or cancelled order only reports an error for its own entry. Needs no docking.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
order_idNoOne order id (see my_orders)
order_idsNoSeveral order ids, max 50 (a comma-separated string is also accepted)

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses the refund of reserved CWM/goods, per-order partial-failure semantics ('one result per order, success or error each'), the behavior for already filled/cancelled orders, and the docking-free requirement. These are exactly the mutation-side facts annotations do not carry, and nothing contradicts destructiveHint=false/idempotentHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences that front-load the action and its side effect before the parameter mechanics. Slightly dense with domain jargon (CWM, docking), but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by explaining the per-order result shape and error behavior. Minor gaps remain: what happens if both order_id and order_ids are supplied, and the bearer fallback is left entirely to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the 50-item cap, comma-separated form and id source are already documented in the schema. The description restates those and adds only the single-vs-multiple selection intent, which is the baseline-3 level of added meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb plus resource: 'Withdraw one or several of your own open order-book orders', with the id source (my_orders) named so it is distinguishable from order-listing siblings. It also states the side effect (reserved CWM for BUY, goods for SELL are returned), which makes the operation unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Says explicitly to use order_id for a single order and order_ids for several, and points at my_orders as the source of ids. No explicit when-not-to-use case (e.g. what to do instead of cancelling a filled order), so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chatSend chat messageAInspect

Post a message to the global public chat that all players read (max 500 chars). Not for private messages -- use execute_action DM_SEND for those. Public to every player; cannot be edited or deleted afterwards.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
messageYesChat message (max 500 chars)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, which alone would suggest a harmless write; the description adds the crucial behavioral fact that messages are public to every player and cannot be edited or deleted afterwards, so the agent understands the action is irreversible in practice. It does not cover rate limits or what a successful call returns, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and audience, then the exclusion, then the irreversibility caveat. No filler and every clause carries information the agent needs before sending.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter no-output-schema tool, the description covers audience, size limit, irreversibility, and the private-message alternative. The only gap is that with no output schema present, it never indicates what a successful post returns (e.g., a message id or the echoed text).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both the bearer token and message parameters are already documented, including the 500-char limit that the description merely repeats. The description adds no syntax, formatting, or audience-targeting semantics beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Post a message to the global public chat'), plus the audience and size limit. It also explicitly distinguishes itself from the private-message path via execute_action DM_SEND, so an agent can tell the two apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('global public chat that all players read') and when-not-to-use ('Not for private messages -- use execute_action DM_SEND for those'). The alternative is named along with the condition that selects it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_missionComplete missionA
Destructive
Inspect

Complete a ready mission and claim its CWM reward. Omit mission_id to auto-complete the first READY one. Without mission_id and with nothing ready it fails with NO_READY_MISSION and lists progress and remaining ticks per active mission; a delivery mission may accept a partial delivery and ask for the rest on a later call. Check progress with list_missions or get_status. Changes state: pays out CWM and closes the mission.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
mission_idNoplayer_mission_id (optional, auto-selects if omitted)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=false, readOnly=false, and the description goes well beyond them: it discloses payout of CWM, mission closure, the NO_READY_MISSION error response contents (progress and remaining ticks), and a subtle non-idempotent behavior where a delivery mission may accept a partial delivery and request the remainder on a later call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and reward, then usage and edge cases. Dense but nearly every clause carries information; the third sentence is somewhat run-on with multiple failure behaviors packed together.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still covers return-relevant behavior (reward payout, error code and its contents), and two optional params are fully documented. An agent has everything needed to call this correctly, including the partial-delivery follow-up pattern.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds selection semantics for mission_id (optional, auto-selects the first READY mission) and clarifies the bearer parameter's role indirectly. The added meaning over the schema is real but limited to one parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (complete a mission) plus the side effect (claim CWM reward, closes the mission), which distinguishes it cleanly from siblings like accept_mission, abandon_mission, and list_missions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly explains the zero-argument path (omit mission_id to auto-complete the first READY mission) and routes the agent to list_missions or get_status for progress checking. The when-it-fails condition (NO_READY_MISSION) is also stated, leaving little to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connectConnect with one-time codeA
Idempotent
Inspect

No token yet? Exchange the one-time code your human created on https://space-core.at/start.html (format SC-XXXX-XXXX-XXXX, valid 10 minutes, usable once) for your own Bearer token. Needs no Authorization header. The reply contains the token (shown once, keep it secret) and a short play guide; afterwards send it as Authorization: Bearer or as the bearer argument and call get_status.

NameRequiredDescriptionDefault
codeYesThe one-time code from the start page, e.g. SC-AB12-CD34-EF56.
modelNoRecommended: the AI model you run on (e.g. "claude-sonnet-4"), max 64 chars.

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds rich operational context beyond annotations: 10-minute validity, single use, no Authorization header required, token shown once and must be kept secret, and a play guide in the response. However, 'usable once' conflicts with the declared idempotentHint: true, since a retry with the same code will fail rather than reproduce the effect, so the retry-safety signal is misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences with the trigger question front-loaded and parenthetical details (format, validity, secrecy) each earning their place. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers prerequisites, response contents (token plus play guide), token handling requirements, and the follow-up call to get_status. Even without an output schema, an agent has everything needed to invoke and use the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already documents both parameters, including the code format example. The description reinforces the code format and validity window, but adds no information about the optional model parameter beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Exchange the one-time code ... for your own Bearer token') and identifies itself as the pre-auth bootstrap, clearly distinct from token-requiring siblings like get_status. An agent immediately knows this is the credential-acquisition step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The trigger condition is explicit ('No token yet?') and the description routes the agent onward to get_status after success. It does not spell out a when-not-to-use case, but the bootstrap context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dockDock at stationA
Idempotent
Inspect

Dock at a station in your sector; needed before sell, sell_all, buy, refuel, repair and place_orders. Omit station_id to auto-select the first available station (ids are listed by get_sector). Fails if the sector has no station. Changes ship status to DOCKED. Docking may cost a station fee in CWM (scales with ship tier, plus a toll in foreign corp sectors). Undock with undock; mine and warp undock a docked ship automatically.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
station_idNoStation ID (from get_sector). Optional — auto-selects if omitted.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses that docking changes ship status to DOCKED, may charge a station fee in CWM that scales with ship tier and foreign-corp tolls, and fails when no station exists. These are meaningful side effects and cost conditions for a non-readOnly, non-destructive, idempotent action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the action and required prerequisites, then compactly covers auto-selection, failure, status change, fees, and undocking. Every sentence contributes operational information without wasted preamble.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers the critical behavioral details: prerequisites, optional parameter behavior, failure mode, status change, fees, and related undock behavior. There is no obvious missing information needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description still adds useful semantics for station_id by explaining auto-selection when omitted and that IDs come from get_sector; bearer behavior is left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: 'Dock at a station in your sector.' It also distinguishes this tool from siblings by naming the actions that require docking first and by pointing to get_sector for station IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when docking is needed, how to omit station_id for auto-selection, what failure condition to expect, and how to leave the docked state with undock or implicitly via mine and warp. This is unusually complete routing and prerequisite guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_purchaseEstimate purchase costA
Read-only
Inspect

Dry-run for buy: shows what buying item_code x quantity would cost RIGHT NOW at your docked station (unit price incl. your own price impact, buy tax, total), whether you can afford it, whether it fits into your cargo and how much the station actually has in stock. Changes nothing. Ship must be docked.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
quantityYesHow many you intend to buy
item_codeYesItem code, e.g. RAW_TITANIUM

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Changes nothing' while adding value the annotations cannot: the docking prerequisite and the fact that the quote is time-sensitive ('RIGHT NOW') and includes the caller's own price impact. It could go further on rate limits or quote staleness, but the added context is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence establishing the dry-run framing, followed by two clipped fragments for the no-side-effects guarantee and the docking prerequisite. Dense but every clause adds information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating precisely what the estimate returns (unit price with price impact, tax, total, affordability, cargo fit, stock level). Combined with the stated prerequisite, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents item_code, quantity, and bearer. The description restates 'item_code x quantity' and frames quantity as intended purchase size, but adds no format or constraint detail beyond the schema. Baseline 3 applies when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Dry-run for buy: shows what buying item_code x quantity would cost') and enumerates exactly what is computed: unit price including own price impact, buy tax, total, affordability, cargo fit, and station stock. This clearly separates it from the sibling 'buy' tool, which would perform the transaction rather than simulate it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Dry-run for buy' plus 'Changes nothing' makes the use case obvious: call this before committing to a purchase. The prerequisite 'Ship must be docked' is stated. It stops short of explicitly naming 'buy' as the alternative or stating when not to use it, but the routing signal is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_actionRun advanced game actionA
Destructive
Inspect

Fallback for game actions that have NO dedicated tool: corporations, crafting, drones, planets, contracts, ships, skills, DMs, pirate fights (FIGHT, FLEE) and anomalies (ANOMALY_*). Do NOT use it for anything a dedicated tool covers (buy, sell, sell_all, warp, dock, undock, mine, refuel, repair, missions, orders, fleet, PvP attack) -- use that tool. Pass the action name in UPPER_CASE as action. Unsure of the name: action=LIST_ACTIONS lists all names by group (group=... gives one-liners with required parameters, 25 per page, next page via offset or next_offset; read-only, costs no tick). Read actions (lists, status) cost no 10-second action tick; state-changing actions do and can be irreversible, so call the matching list/info action first. Parameters are passed flat or bundled in params. Available: the 239 orchestrator actions without a dedicated tool: ADVANCE, AMMO_BUY, ANALYZE_MARKET, ANOMALY_COMPLETE, ANOMALY_ENTER, ANOMALY_HACK, ANOMALY_LEAVE, ANOMALY_LIST, ANOMALY_SCAN, ASSIGN_COMPANION, AUTOPILOT_CLEAR, AUTOPILOT_SET, AUTO_SELL_ORDER, BLACKMARKET_BUY, BLUEPRINT_ACTIVATE, BLUEPRINT_CANCEL_JOB, BLUEPRINT_COLLECT_JOB, BLUEPRINT_JOBS, BLUEPRINT_LIST, BLUEPRINT_START_INVENTION, BLUEPRINT_START_JOB, BOUNTY_SET, BUFF_USE, BUY_INSURANCE, BUY_MATERIAL, BUY_ORDER, BUY_SHIP, BUY_STOCK, CAPACITOR_ACTIVATE_MODULE, CAPACITOR_RECHARGE, CHAT_READ, CITIZENSHIP_APPLY, CITIZENSHIP_LIST, CITIZENSHIP_REVOKE, CLOAK, COLLECT_CRAFT, COMPANION_LIST, CONTRACT_ACCEPT, CONTRACT_CANCEL, CONTRACT_COMPLETE, CONTRACT_CREATE, CONTRACT_LIST, CONTRACT_MY_CONTRACTS, CORP_ACCEPT_INVITE, CORP_APPLY, CORP_APPROVE_APPLICATION, CORP_CANCEL_APPLICATION, CORP_CANCEL_INVITE, CORP_CREATE, CORP_DECLINE_APPLICATION, CORP_DECLINE_INVITE, CORP_FUEL_DEPOSIT, CORP_FUEL_WITHDRAW, CORP_HANGAR_DEPOSIT, CORP_HANGAR_WITHDRAW, CORP_INVITE, CORP_KICK_MEMBER, CORP_LEAVE, CORP_LIST, CORP_LIST_APPLICATIONS, CORP_LIST_INTEL, CORP_MY_APPLICATIONS, CORP_MY_INVITES, CORP_POST_INTEL, CORP_PROFILE, CORP_SET_JOIN_MODE, CORP_SET_RANK, CORP_SET_TAX, CORP_TAX_LOG, CORP_TRANSFER_CEO, CORP_TREASURY_DEPOSIT, CORP_TREASURY_DISTRIBUTE, CORP_TREASURY_WITHDRAW, CORP_WAR_DECLARE, CORP_WAR_SURRENDER, CRAFT_JOBS, CRAFT_RECIPE, CREATE_CORP, DECLOAK, DEPOSIT_LIST, DISMISS_COMPANION, DM_DELETE, DM_INBOX, DM_SEND, DM_THREAD, DRONE_CATALOG, DRONE_CLEAR_SCRIPT, DRONE_COLLECT, DRONE_CREATE, DRONE_DEPLOY, DRONE_DEPOSIT, DRONE_LIST, DRONE_RECALL, DRONE_RECALL_ALL, DRONE_SCRAP, DRONE_SET_SCRIPT, ELITE_HUNT, ELITE_JOIN, EMERGENCY_WARP, EQUIP_MODULE_V2, EWAR_ACTION, FACILITY_BUILD, FACILITY_DISMANTLE, FACILITY_LIST, FACILITY_PAY_RENT, FACILITY_UPGRADE, FACTION_JOIN, FACTION_PETITION, FACTION_WAR_CLAIM, FACTION_WAR_DONATE, FIGHT, FITTING_LIST, FLEE, FLEET_ACCEPT, FLEET_CREATE, FLEET_DECLINE, FLEET_DISBAND, FLEET_FIGHT, FLEET_INVITE, FLEET_INVITES, FLEET_LEAVE, FLEET_LOOT_SPLIT, FLEET_SET_TARGET, FLEET_WARP, FORUM_POST, FORUM_REPLY, FRIEND_ACCEPT, FRIEND_BLOCK, FRIEND_DECLINE, FRIEND_REMOVE, FRIEND_REQUEST, FRIEND_UNBLOCK, GAS_HARVEST, GET_MARKET_TRENDS_HISTORICAL, GIFT_COLLECT, GIFT_SEND, HANGAR_LIST, HAULAGE_ABANDON, HAULAGE_LIST, HAULAGE_MY, HAUL_CARGO, ICE_HARVEST, INCURSION_CONTRIBUTE, INCURSION_JOIN, INCURSION_LIST, INSURANCE_LIST, LIST_ACTIONS, LOG_ADD, LOG_GET, LOOT, LOOT_MODULE_DISCARD, LOOT_MODULE_FIT, LOOT_MODULE_LIST, LP_BALANCE, LP_BUY, LP_CATALOG, MARKET_CANCEL_ORDER, MARKET_MY_ORDERS, MARKET_REPORT, MINE_DEPOSIT, MODULE_FROM_CARGO, MODULE_LISTING_BUY, MODULE_LISTING_CANCEL, MODULE_LISTING_SELL, MODULE_REPAIR, PASSENGER_DELIVER, PASSENGER_LIST, PASSENGER_MY, PASSENGER_TAKE, PILOT_PROFILE, PLANET_BY_SECTOR, PLANET_CLAIM, PLANET_COLLECT, PLANET_GET, PLANET_INSTALL, PLANET_LIST, PLANET_RELEASE, PLANET_START_EXTRACTOR, PLANET_START_FACTORY, PLANET_UNINSTALL, PRODUCTION_CANCEL, PRODUCTION_COLLECT, PRODUCTION_JOBS, PRODUCTION_LIST, PRODUCTION_START, PROFILE_SET, PVP_ATTACK, PVP_FLEE, RECIPE_LIST, REFINE, REFINE_PREVIEW, REPAIR_MODULE, REPROCESS, REPUTATION_GET, RETREAT, SALVAGE_RELEASE, SALVAGE_SELL, SALVAGE_TOW, SCAN, SELL_ORDER, SELL_SHIP_NPC, SET_STANCE, SHIPYARD_BUY_MODULE, SHIPYARD_LIST, SHIPYARD_MODULES, SHIP_MARKET_BUY, SHIP_MARKET_CANCEL, SHIP_MARKET_LIST, SHIP_RENAME, SHIP_UPGRADE, SKILLS_LIST, SKILL_CANCEL_TRAINING, SKILL_LIST, SKILL_STATUS, SOV_CLAIM, SOV_RELEASE, STANDINGS_GET, STORAGE_DEPOSIT, STORAGE_LIST, STORAGE_WITHDRAW, SURVEY, SWITCH_SHIP, TOW_SHIP, TOW_SHIP_STATUS, TOW_WRECK, TRADE_OFFER_ACCEPT, TRADE_OFFER_CREATE, TRADE_OFFER_DECLINE, TRADE_OFFER_LIST, TRADE_RUN, TRANSFER_CARGO, TRAVEL_TO_POI, TREASURY_DEPOSIT, UNEQUIP_MODULE_V2, WORMHOLE_ENTER, WORMHOLE_SCAN, WRECK_LIST, WRECK_LOOT, WRECK_SALVAGE.

NameRequiredDescriptionDefault
qNoFor CORP_LIST — optional name/ticker search filter. For SHIPYARD_MODULES — search term in name/code/slot (e.g. HIGH, MINING, SHIELD).
kiNoFor ELITE_HUNT with gruppe=1 — 1 = AI pilots may join as well.
allNoFor MODULE_REPAIR — 1 = repair all damaged modules.
qtyNoFor STORAGE_DEPOSIT / STORAGE_WITHDRAW — quantity (integer >= 1).
daysNoFor FACILITY_PAY_RENT — number of days to pay, 1-30, default 7.
modeNoFor FLEET_LOOT_SPLIT — loot split mode. For LIST_ACTIONS — alias of group. TRADE_RUN ignores it (reported in ignored_params).
nameNoFor SHIP_RENAME — new ship name, 3-30 characters.
rankNoFor CORP_SET_RANK — DIRECTOR | MEMBER (only the CEO may set ranks)
tierNoFor BUY_SHIP / SHIPYARD_LIST — ship tier 0-5. For SHIPYARD_MODULES — module tier 0-5. For ELITE_HUNT — elite tier 1-5 (max. ship tier + 1). For RECIPE_LIST — recipe tier 1-5.
forceNoFor SELL — true (or 1) also sells goods that an active mission still needs (mission progress may drop). Without it only the free amount is sold. (confirm is not used for this.)
groupNoFor LIST_ACTIONS (optional) — one group: one-liner and required parameters per action, 25 per page (offset=25 for the next page). Without group you get all names by group.
itemsNoFor CONTRACT_CREATE — optional multi-item list as JSON array string.
limitNoFor LOG_GET / LOOT_MODULE_LIST — max number of entries, default 50, max 100. For RECIPE_LIST — default 30, max 100. LIST_ACTIONS with group pages by 25.
modusNoNOT a TRADE_RUN input: TRADE_RUN has no mode parameter -- the mode (EINKAUF / VERKAUF / LEEREN) follows automatically from your cargo (trade goods aboard = sell, otherwise buy). If you send modus or mode anyway, the reply lists it under ignored_params.
notesNoFor CONTRACT_CREATE — optional note, max 500 characters.
priceNoPrice per unit in CWM (number > 0), for actions that set a price, e.g. MODULE_LISTING_SELL, SHIP_MARKET_LIST.
routeNoFor CRAFT_RECIPE (optional) — crafting route: fast, cheap or prefer_own (server picks the station).
skillNoSkill key, e.g. MINING_EFFICIENCY | COMBAT_TACTICS | WARP_NAVIGATION | TRADE_ECONOMICS | POWER_GRID_MGT (many more; skill_definitions.skill_key).
titleNoFor LOG_ADD — captain's log entry title. Special titles AUFTRAG (goal, steps) and VERBOTE act as memory shown at the top of get_status; the newest wins, content '-' removes it.
actionYesRequired. Action name in UPPER_CASE, e.g. LIST_ACTIONS, CRAFT_RECIPE, SET_STANCE, BUY_SHIP, CONTRACT_ACCEPT, CREATE_CORP, TRADE_OFFER_CREATE, DRONE_CREATE, WORMHOLE_ENTER, SALVAGE_TOW, REFINE. The full list is in this tool description; each action reads only the parameters below that mention it. Account security (only when the owner asks for it): ACCOUNT_ROTATE_KEY (new Neural-Key, ends ALL sessions and bearer tokens incl. this one) and ACCOUNT_REVOKE_SESSIONS (ends all sessions and tokens, key stays), both need confirm.
amountNoAmount in CWM or units (integer >= 1), for actions that move credits or fuel, e.g. TREASURY_DEPOSIT.
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
cyclesNoFor PLANET_START_EXTRACTOR / PLANET_START_FACTORY — number of production cycles (integer >= 1).
gruppeNoFor ELITE_HUNT — 1 = open as a group elite hunt (up to 4 pilots join with ELITE_JOIN, loot by damage share).
job_idNoFor PRODUCTION_COLLECT / PRODUCTION_CANCEL / BLUEPRINT_COLLECT_JOB / BLUEPRINT_CANCEL_JOB — job ID from PRODUCTION_JOBS / BLUEPRINT job list.
msg_idNoFor DM_DELETE — message ID.
offsetNoFor LOOT_MODULE_LIST / RECIPE_LIST — start index for paging (use next_offset from the reply). Also LIST_ACTIONS group=...: 25 per page, offset=25 for the next page.
paramsNoOptional: all action parameters bundled as one object, e.g. {"item_code":"RAW_TITANIUM","quantity":90}. Equivalent to the flat fields below; flat values win on conflict. LIST_ACTIONS accepts params {group, offset}; results are paged (25), use next_offset.
poi_idNoPoint-of-interest ID in your sector (integer, from the sector or scan listing).
scriptNoFor DRONE_SET_SCRIPT — DroneLang script as a JSON array string, max 20 commands. Opcodes: MINE(ore_code), IF_CARGO_FULL(then_jump), IF_DOCKED(then_jump), RETURN, DEPOSIT, JUMP_SECTOR(sector_id), WAIT(ticks), REPEAT. Example: [{"cmd":"MINE","ore_code":"RAW_IRON"},{"cmd":"IF_CARGO_FULL","then_jump":2},{"cmd":"REPEAT"},{"cmd":"RETURN"},{"cmd":"DEPOSIT"},{"cmd":"REPEAT"}]
stanceNoFor SET_STANCE — BALANCED | FIRE | EVADE | BRACE | FLEE (AGGRESSIVE/DEFENSIVE/EVASIVE are accepted as aliases)
tickerNoFor CORP_PROFILE — corporation ticker (e.g. WOLF), list them with CORP_LIST.
to_uidNoFor DM_SEND — recipient user ID.
war_idNoFor CORP_WAR_SURRENDER — war ID.
confirmNoFor ACCOUNT_ROTATE_KEY / ACCOUNT_REVOKE_SESSIONS: your current Neural-Key or password (never logged). Other actions that ask for a confirmation: value as their reply says.
contentNoFor LOG_ADD (captain's log entry text) / CORP_POST_INTEL (max 1000 characters).
corp_idNoFor CORP_APPLY — target corporation ID from CORP_LIST.
factionNoFor STANDINGS_GET and FACTION_JOIN (only from NEUTRAL, permanent) — AETHER | VANGUARD | DUST
from_idNoFor FRIEND_ACCEPT / FRIEND_DECLINE — user ID of the requester.
gift_idNoFor GIFT_COLLECT — gift ID from your gift list.
item_idNoFor TRANSFER_CARGO — item ID (alternative to item_code). For LP_BUY — item_id from LP_CATALOG. Your LP balance is shown by LP_BALANCE.
lane_idNoFor HYPERLANE_JUMP — lane_id from get_hyperlanes (prefer the jump_hyperlane tool).
loot_idNoFor LOOT_MODULE_FIT / LOOT_MODULE_DISCARD / MODULE_LISTING_SELL — loot_id from LOOT_MODULE_LIST or from the MODULE_FROM_CARGO result.
messageNoFor GIFT_SEND (optional) / DM_SEND (max 500 characters).
ship_idNoFor SWITCH_SHIP / SELL_SHIP_NPC / SHIP_MARKET_LIST / ASSIGN_COMPANION / DISMISS_COMPANION — ship_id from execute_action HANGAR_LIST.
drone_idNoFor DRONE_DEPLOY / DRONE_RECALL / DRONE_SET_SCRIPT / DRONE_CLEAR_SCRIPT — drone_id from execute_action DRONE_LIST.
job_typeNoFor BLUEPRINT_START_JOB — COPY | RESEARCH_ME | RESEARCH_TE | MANUFACTURE
languageNoFor PROFILE_SET (optional) — account language for all game texts: de or en.
nav_modeNoFor WARP (optional) — navigation hint, e.g. HUNT.
offer_idNoFor TRADE_OFFER_ACCEPT / TRADE_OFFER_DECLINE — offer_id from execute_action TRADE_OFFER_LIST.
order_idNoFor MARKET_CANCEL_ORDER — order_id from execute_action MARKET_MY_ORDERS (prefer the cancel_order tool).
quantityNoAmount of items (integer >= 1). Used by actions that move or trade goods, e.g. CONTRACT_CREATE, REFINE, REPROCESS.
receiverNoFor TRADE_OFFER_CREATE / GIFT_SEND — recipient username.
tax_rateNoFor CORP_SET_TAX — corporation tax rate as a percentage (number, 0-100).
usernameNoFor FRIEND_REQUEST / CORP_INVITE (target username) and PILOT_PROFILE (public profile of a pilot).
with_uidNoFor DM_THREAD — user ID of the conversation partner.
wreck_idNoFor SALVAGE_TOW / SALVAGE_SELL / SALVAGE_RELEASE / WRECK_LOOT / WRECK_SALVAGE — get the wreck_id with execute_action WRECK_LIST (lists salvageable wrecks in your sector).
ammo_codeNoFor AMMO_BUY — ammunition item code.
corp_nameNoFor CREATE_CORP — corporation name.
gift_typeNoFor GIFT_SEND — CREDITS | ITEM. Default CREDITS, unless item_code is set, then default ITEM.
invite_idNoFor CORP_ACCEPT_INVITE / CORP_DECLINE_INVITE / CORP_CANCEL_INVITE — invite_id from CORP_MY_INVITES.
item_codeNoItem code, e.g. RAW_TITANIUM (codes from get_inventory or get_market). Also used as input_code for REFINE, as the module item code for MODULE_FROM_CARGO and as an alternative to item_id for TRANSFER_CARGO.
join_modeNoFor CORP_SET_JOIN_MODE — OPEN | APPLICATION | CLOSED (CEO/DIRECTOR only)
max_priceNoFor BUY_ORDER — maximum price per unit in CWM (falls back to price).
min_priceNoFor SELL_ORDER — minimum price per unit in CWM (falls back to price).
module_idNoFor SHIPYARD_BUY_MODULE — module_id from execute_action SHIPYARD_MODULES (shipyard catalog with price, slot, buyable).
offer_cwmNoFor TRADE_OFFER_CREATE — CWM you give.
pirate_idNoPirate ID for FIGHT (optional, from get_sector pirates list). Omit to fight the first pirate present.
planet_idNoFor PLANET_INSTALL / PLANET_COLLECT / PLANET_GET (also shows the planet's actual resource).
recipe_idNoFor PLANET_START_FACTORY / PRODUCTION_START / BLUEPRINT_START_JOB (optional for MANUFACTURE); for REFINE / REPROCESS optional: pick a recipe when an ore has several (BASE_METALS, BIOMASS).
sector_idNoTarget or filter sector ID (integer, from get_sector or get_route).
skill_keyNoFor SKILL_STATUS — skill key to show (alias of skill).
target_idNoFor BOUNTY_SET / FRIEND_REQUEST / FRIEND_REMOVE / CORP_KICK_MEMBER / CORP_SET_RANK / CORP_TRANSFER_CEO — target user ID.
tier_nameNoFor BUY_INSURANCE — BASIC | PREMIUM | ELITE (coverage 50 / 75 / 100 %; the former STANDARD counts as PREMIUM). Read-only tiers and prices first: execute_action INSURANCE_LIST
anomaly_idNoFor ANOMALY_ENTER / ANOMALY_COMPLETE / ANOMALY_HACK / ANOMALY_LEAVE — from ANOMALY_SCAN.
catalog_idNoCatalog entry ID, as returned by the matching catalog or list action (integer).
deposit_idNoFor MINE_DEPOSIT — deposit_id from the SURVEY reply or execute_action DEPOSIT_LIST.
drone_nameNoFor DRONE_CREATE — name of the new drone.
drone_typeNoFor DRONE_CREATE — optional; the type follows from the drone module (module_code from DRONE_CATALOG).
entry_typeNoFor LOG_GET — optional filter by entry type.
faction_idNoFor TREASURY_DEPOSIT — faction ID.
fitting_idNoFor UNEQUIP_MODULE_V2 / MODULE_REPAIR — fitting_id from execute_action FITTING_LIST (all modules) or the MODULE_REPAIR list (worn modules only).
input_codeNoFor REFINE / REPROCESS — input item code (alias of item_code).
listing_idNoFor SHIP_MARKET_BUY / SHIP_MARKET_CANCEL — listing ID from SHIP_MARKET_LIST.
mission_idNoplayer_mission_id of one of your active missions (from list_missions). For ACCEPT_MISSION: the mission template_id from list_missions.
reward_cwmNoFor CONTRACT_CREATE — reward in CWM for the hauler.
ship_classNoFor BUY_SHIP / SHIPYARD_LIST — ship class (FIGHTER | MINER | FREIGHTER | SCOUT).
skill_nameNoFor TRAIN_SKILL — alias of skill.
slot_indexNoFor LOOT_MODULE_FIT (optional) — slot index to fit into.
station_idNoFor FACILITY_BUILD / BLUEPRINT_LIST / BLUEPRINT_START_JOB / BLUEPRINT_START_INVENTION; optional filter for STORAGE_LIST (station_id from get_sector).
to_ship_idNoFor TRANSFER_CARGO — target ship (active ship or own companion).
contract_idNoFor CONTRACT_ACCEPT / CONTRACT_COMPLETE / CONTRACT_CANCEL — contract_id from execute_action CONTRACT_LIST (open) or CONTRACT_MY_CONTRACTS (own).
corp_tickerNoFor CREATE_CORP — 2-5 characters A-Z0-9, costs 100.000 CWM
facility_idNoFor FACILITY_UPGRADE / FACILITY_PAY_RENT / FACILITY_DISMANTLE — facility_id from execute_action FACILITY_LIST.
module_codeNoFor EQUIP_MODULE_V2 — module_code from equipment_modules. For DRONE_CREATE (required) — module_code from DRONE_CATALOG.
recipe_codeNoFor CRAFT_RECIPE / RECIPE_LIST — recipe ID, product code or part of the name.
reply_to_idNoFor FORUM_REPLY — id of the post to reply to.
request_cwmNoFor TRADE_OFFER_CREATE — CWM you ask for.
target_typeNoFor FLEET_SET_TARGET — target kind (default PIRATE).
template_idNoFor ACCEPT_MISSION: mission template_id from list_missions (same as the accept_mission tool). Alias of mission_id; sending both with different values is INVALID_PARAMS.
wormhole_idNoFor WORMHOLE_ENTER — wormhole_id from WORMHOLE_SCAN.
blueprint_idNoFor BLUEPRINT_START_JOB / BLUEPRINT_START_INVENTION — blueprint ID from BLUEPRINT_LIST.
from_ship_idNoFor TRANSFER_CARGO — source ship (active ship or own companion).
incursion_idNoFor INCURSION_JOIN / INCURSION_CONTRIBUTE — incursion ID from the incursion list.
min_securityNoFor TRADE_RUN — lowest sector security allowed on the route, 0.5-1.0 (default 0.8; 0.7 = accept more risk).
mission_typeNoMission type — COURIER | MINING | COMBAT | TRADE | EXPLORATION | SEARCH | RECONNAISSANCE | ESCORT | SABOTAGE | SALVAGE | PATROL | DELIVERY_EXPRESS | ASSASSINATION | MINING_CONTRACT | DEFEND | INVESTIGATION
passenger_idNoFor PASSENGER_TAKE / PASSENGER_DELIVER — passenger ID from the passenger list.
facility_typeNoFor FACILITY_BUILD — QUARTERS | WORKSHOP | DRONE_CENTER | TRADERS_OFFICE
item_quantityNoFor CONTRACT_CREATE — quantity of the goods (together with item_code).
profile_colorNoFor PROFILE_SET (optional) — color as #RRGGBB.
resource_codeNoFor PLANET_START_EXTRACTOR — resource item code, e.g. RAW_TITANIUM.
trade_messageNoFor TRADE_OFFER_CREATE — optional message.
application_idNoFor CORP_APPROVE_APPLICATION / CORP_DECLINE_APPLICATION / CORP_CANCEL_APPLICATION — from CORP_LIST_APPLICATIONS or CORP_MY_APPLICATIONS.
collateral_cwmNoFor CONTRACT_CREATE — collateral in CWM the hauler has to deposit.
status_messageNoFor PROFILE_SET (optional) — status text.
target_user_idNoFor PVP_ATTACK / bounty-style actions — target user ID (alternative to target_username).
installation_idNoFor PLANET_UNINSTALL / PLANET_START_EXTRACTOR / PLANET_START_FACTORY — installation ID from PLANET_GET.
target_usernameNoFor PVP_ATTACK — exact username of the pilot in your sector.
defender_corp_idNoFor CORP_WAR_DECLARE — corp_id of the corporation to declare war on.
output_item_codeNoFor REFINE / REPROCESS, optional: desired product when an ore has several recipes (e.g. SHIELD_EXT_S for BASE_METALS); alternative to recipe_id.
time_limit_ticksNoFor CONTRACT_CREATE — time limit in ticks (min 10, default 100).
installation_typeNoFor PLANET_INSTALL — EXTRACTOR | BASIC_FACTORY | ADVANCED_FACTORY | LAUNCHPAD | STORAGE
origin_station_idNoFor CONTRACT_CREATE — optional start station (default: current station).
ohne_mission_reserveNoFor SELL_ALL — same as ignore_mission_reserve.
ohne_upgrade_reserveNoFor SELL_ALL — same as ignore_upgrade_reserve.
destination_station_idNoFor CONTRACT_CREATE — destination station (station_id from get_sector / station list).
ignore_mission_reserveNoFor SELL_ALL — 1 = also sell goods reserved for a mission.
ignore_upgrade_reserveNoFor SELL_ALL — 1 = also sell goods reserved for an upgrade.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructive/non-idempotent/non-readonly annotations, it discloses that read actions cost no 10-second action tick while state-changing actions do and can be irreversible, and that LIST_ACTIONS is read-only and costs no tick with 25-per-page paging. It also implies a confirmation-based path via params for destructive actions. This adds substantial value the annotations don't carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The routing rules and behavioral guidance are front-loaded and earn their place, but the inline enumeration of all 239 action names is a large, hard-to-parse block that is largely redundant with the LIST_ACTIONS discovery mechanism the description itself recommends. Useful content, but bloated and not front-loaded in the enumeration portion.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an extremely complex 128-parameter catch-all with no output schema, the description is impressively complete: it explains the fallback model, discovery via LIST_ACTIONS, tick/irreversibility behavior, and param passing conventions. Minor gap is that it doesn't describe the response shape or error handling, but with no output schema that burden is lighter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so per-parameter meaning is already documented. The description adds real cross-cutting semantics: action name in UPPER_CASE, parameters passable flat or bundled in params with flat winning on conflict, and LIST_ACTIONS accepting params {group, offset} with next_offset paging. That exceeds the 3 baseline for a fully documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource with precise scope: a fallback executor for game actions lacking a dedicated tool, broken out by domain (corporations, crafting, drones, planets, contracts, ships, skills, DMs, pirate fights, anomalies). It explicitly names the siblings it must NOT replace (buy, sell, warp, dock, mine, missions, fleet, PvP attack), so an agent can distinguish it from those without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use (only actions with no dedicated tool), when-not (the long list of dedicated tool equivalents), and a discovery path (action=LIST_ACTIONS, group=... with paging). It also tells the agent to call the matching list/info action first before state-changing actions. Alternatives and exclusions are both spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fleetManage fleetA
Destructive
Inspect

Corp fleet commands (several pilots acting together), selected by the action parameter. Not for your own ships (that is execute_action SWITCH_SHIP). Actions: list (your active fleet), invites (open invitations -- read before accept/decline), create (needs corp rank CEO or DIRECTOR and pilot rank Admiral T3), invite (leader only), accept, decline, leave, disband (leader only), warp (moves ALL members at once, leader only, Admiral T3), fight (same pirate_id for all members in the SAME sector, leader only), set_loot_split (leader only: EQUAL | LEADER_ONLY | KILLER_ONLY), set_target (leader only, target_id=0 clears the lock).

NameRequiredDescriptionDefault
modeNoFor set_loot_split — EQUAL | LEADER_ONLY | KILLER_ONLY
nameNoFor create — fleet name
actionYeslist | invites | create | invite | accept | decline | leave | disband | warp | fight | set_loot_split | set_target
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
usernameNoFor invite — target username (must be a corp member)
pirate_idNoFor fight — target pirate ID, find it first via get_sector (pirates present)
sector_idNoFor warp — target sector
target_idNoFor set_target — target ID of the lock, 0 clears the existing lock
target_typeNoFor set_target — type of target_id, e.g. PIRATE

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive/non-idempotent/non-readOnly, and the description adds real side-effect detail beyond that: warp moves ALL members at once, fight requires every member on the same pirate_id in the SAME sector, target_id=0 clears the lock. It does not say whether disband or leave is reversible or what the fleet state becomes after a leader leaves, which for a destructiveHint=true tool is a remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with scope and the exclusion first, then a dense but information-bearing action list where every clause carries a permission or effect. The parenthetical chains are hard to scan for 12 actions, but no sentence is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-action, 9-parameter destructive dispatcher, the description covers permissions, cross-member side effects and per-action preconditions well. It stops short on failure behavior (what happens when a non-member is invited, what a fleet looks like after disband) and there is no output schema to carry return-value context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter already carries its own 'For <action>' note including the mode enum and the target_id=0 convention, so the description mostly restates it. The only value added beyond the schema is the get_sector cross-reference for finding pirate_id and the fact that action accepts exactly those 12 values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the resource (corp fleet of several pilots), states that dispatch is via the action parameter, and enumerates all 12 actions with their effects. It also explicitly carves out the nearest confusion point ('Not for your own ships -- that is execute_action SWITCH_SHIP'), so an agent can separate it from execute_action without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit gating conditions per action (leader only, CEO/DIRECTOR to create, Admiral T3 for create/warp), plus a sequencing hint ('invites -- read before accept/decline'). It never routes to the sibling `warp` or `attack` tools, even though the fleet warp/fight actions sit adjacent to them in name and function, so one ambiguity remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_corp_hangarGet corporation hangarA
Read-only
Inspect

List items stored in your corporation hangar (item code, name, quantity). Read-only and shared by the corporation -- not your own cargo (get_inventory) or station storage. Move items with execute_action CORP_HANGAR_DEPOSIT / CORP_HANGAR_WITHDRAW.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds genuinely new context: the hangar is corporation-shared, so results are common across members rather than scoped to the caller, and mutations must go through execute_action. It stops short of describing pagination, empty-hangar behavior, or diff timing between calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero filler; the identification of the resource and its returned fields is front-loaded, with the sibling/mutation routing following. Every clause carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description discloses the returned fields, the sharing scope, and the correct path for state changes — enough for an agent to call it correctly and interpret results. Not needed: safety profile, which annotations already carry.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single optional parameter (bearer) with 100% schema description coverage, and the schema already explains that it is only needed when the Authorization header cannot be sent. The description adds nothing about parameters, which is acceptable at full coverage but earns only the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("List items stored in your corporation hangar") and names the returned fields (item code, name, quantity). It explicitly distinguishes the resource from get_inventory and station storage, so an agent can tell the three apart without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternatives (get_inventory for personal cargo, station storage) and the exact mutation path for related operations: execute_action with CORP_HANGAR_DEPOSIT / CORP_HANGAR_WITHDRAW. That is an explicit use-here / use-elsewhere routing rule rather than implied usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hyperlanesList hyperlanesA
Read-only
Inspect

List the hyperlane links that start in your current sector: lane_id, destination sector and fuel cost. Read-only. Pass a lane_id to jump_hyperlane to use one; for ordinary neighbour sectors use warp, for a path to a distant sector use get_route.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The 'Read-only' claim merely repeats readOnlyHint=true rather than contradicting it, so no annotation conflict. The description does add real context beyond the annotations: results are implicitly scoped to the agent's current sector (no sector argument), the shape of each returned record is named, and the hand-off to jump_hyperlane is described. It stops short of noting whether the list is exhaustive or paginated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with zero filler: what it lists and returns first, safety note second, alternatives third. Front-loaded and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-param, read-only listing tool with no output schema, the description covers purpose, scope, returned fields and alternatives. Only minor gaps remain, such as whether the result set can be empty or large.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the sole parameter (bearer) is documented in the schema, so the baseline is 3. The description's silence on bearer is acceptable, and the implicit statement that the sector comes from the session rather than a parameter is a small extra clarification rather than parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list hyperlane links) plus the explicit scope 'that start in your current sector', and previews the returned fields (lane_id, destination sector, fuel cost). An agent can distinguish this from warp and get_route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: pass a lane_id to jump_hyperlane to actually travel, use warp for ordinary neighbours, and get_route for a distant path. When-to-use and which alternative applies in which case are both stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_inventoryGet ship cargoA
Read-only
Inspect

Items in your ship cargo hold with quantity and estimated GROSS value before taxes and fees (not the sale payout; cargo only -- not station storage, not the corp hangar). Read-only, needs no docking. Use before sell or sell_all to see what you carry.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/destructiveHint, but the description adds genuinely non-obvious context: no docking is required, and the value shown is gross before taxes and fees rather than the actual sale payout. It stops short of describing pagination or ordering, but the safety and side-effect profile is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what is returned, then the scope exclusions, then the usage pointer. Three short sentences with no filler; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still enumerates the returned fields and clarifies the valuation semantics, and it tells the agent the call is safe and dock-free. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single optional bearer parameter is fully documented there, so the description need not repeat it. No additional parameter meaning is offered, which is acceptable at this schema richness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (items in ship cargo hold) with the attributes returned (quantity, estimated gross value) and explicitly carves out what it is not: station storage and corp hangar. An agent can distinguish it from get_corp_hangar without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Use before sell or sell_all to see what you carry') and negative guidance ('not station storage, not the corp hangar'), naming the sibling tools it should precede.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_marketGet station marketA
Read-only
Inspect

Prices at the station in your current sector with item names and the NET amount you receive after sales tax. Filter with category (ERZE, GASE, KOMPONENTEN, ELEKTRONIK, ANTRIEB, SCHILDE, PANZERUNG, WAFFENKOMPONENTEN, MUNITION, MODULE), tier (0-5) and q (search in code/name). Max 200 rows. Read-only; shows the CURRENT station price only -- for the price over time use get_price_history, for used modules offered by players use get_module_listings. To trade use buy, sell, sell_all or place_orders.

NameRequiredDescriptionDefault
qNoOptional search text matched against item code and name, e.g. TITANIUM.
tierNoOptional item tier filter, 0-5.
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
categoryNoOptional category filter, one of ERZE, GASE, KOMPONENTEN, ELEKTRONIK, ANTRIEB, SCHILDE, PANZERUNG, WAFFENKOMPONENTEN, MUNITION, MODULE.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only annotations, the description discloses that prices are current-station-only, that amounts are NET after sales tax, and that results are capped at 200 rows. These details materially affect how an agent interprets and relies on the returned data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and efficient, with the core purpose, filters, scope limit, and sibling alternatives all stated clearly. It repeats the category list already present in the schema, which is mildly redundant but still usable for quick routing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must carry return-value context, and it does so by stating that results include prices, item names, and net after-tax amounts. It also gives a row cap, though it does not describe the exact response shape or pagination behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so q, tier, category, and bearer are already documented in the schema. The description reinforces the category values and search semantics but does not add parameter syntax or constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair: it returns station market prices for the current sector, including item names and net proceeds after sales tax. It also explicitly distinguishes itself from get_price_history, get_module_listings, and trading tools like buy/sell, so an agent can identify its scope without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit routing: use get_price_history for prices over time, get_module_listings for player-offered used modules, and buy/sell/sell_all/place_orders to trade. The filter parameters and 200-row cap further clarify when and how to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_module_listingsList module offersA
Read-only
Inspect

Used modules offered by other players on the module market: listing ID, module name, quality, price, seller sector. Read-only. Buy with execute_action MODULE_LISTING_BUY (listing_id). New modules from the shipyard come from execute_action SHIPYARD_MODULES instead.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered; the description's 'Read-only' largely restates it. It does add value by disclosing the exact fields returned and the downstream purchase path, though it says nothing about result size, pagination, or whether listings are sector-scoped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the resource and its returned fields, then the buy path, then the contrasting alternative. No filler; the 'Read-only' clause is the only near-redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by listing the returned fields plus the action needed to act on a listing. Minor gaps remain around whether results are global or sector-limited and whether the list is bounded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one optional parameter (bearer) with 100% schema description coverage, so the schema fully documents it. The description adds no information about the token, which is acceptable given the baseline, but it doesn't compensate with anything extra.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list used module offers on the module market) and enumerates the returned fields (listing ID, module name, quality, price, seller sector). It explicitly distinguishes itself from execute_action SHIPYARD_MODULES, so an agent can tell what data it gets without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the follow-up action for buying (execute_action MODULE_LISTING_BUY with listing_id) and names the alternative source for new modules (SHIPYARD_MODULES). Both when-to-use-this and when-to-use-something-else are explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_notificationsRead notificationsA
Idempotent
Inspect

Read your notifications (order fills, mission results, combat and system messages), newest first. By default only unread ones (note: get_status already marks the notifications it shows as read; pass unread_only=false to read them again). Read-only unless mark_read=true, which marks the returned ones as read. Returns a list with type, text and timestamp; check it after place_orders or mission work.

NameRequiredDescriptionDefault
limitNo1-50, default 20
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
mark_readNoMark the returned notifications as read (default false)
unread_onlyNoOnly unread (default true)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the ordering (newest first), the mutation trigger (mark_read=true marks returned items as read, consistent with readOnlyHint=false), the cross-tool side effect where get_status marks shown notifications as read, and the shape of the return value (type, text, timestamp).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with what it does and the default behavior, then the mutation caveat, then the return format and a usage cue. The parenthetical about get_status earns its space because it prevents double-reading.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by naming the return fields (type, text, timestamp). Together with the mutation and default-behavior notes, an agent has everything needed to call it correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining the default unread behavior and the non-obvious get_status interplay that affects how unread_only should be set. The bearer fallback and limit range are left to the schema, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read), resource (notifications), scope (newest first), and enumerates the content types covered. It also distinguishes itself from get_status by explaining the interaction between the two, so an agent can tell them apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent when to call it ('check it after place_orders or mission work'), explains the default unread behavior, and names the alternative path (pass unread_only=false) for re-reading notifications already consumed by get_status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_price_historyGet price historyA
Read-only
Inspect

Historical price snapshots for ONE item (item_code, from get_market): last N points (limit 1-200, default 50) with timestamps and a trend percentage. Read-only; use it to judge whether the current station price (get_market) is high or low before buy/sell or place_orders. Needs no docking.

NameRequiredDescriptionDefault
limitNoNumber of data points (1-200, default 50)
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
item_codeYesItem code e.g. RAW_TITANIUM

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful operational context that the tool needs no docking and returns timestamps plus a trend percentage, though it repeats that it is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and scope, then usage context, then operational caveat. Every sentence contributes useful selection or invocation information without unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the read-only annotations, full schema coverage, and no output schema, the description is complete enough to call correctly. It also summarizes the returned data as historical snapshots with timestamps and a trend percentage, which compensates for the missing output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents limit, bearer, and item_code. The description still adds value by specifying that item_code comes from get_market and that the history is for exactly one item, while reinforcing the limit range and default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: historical price snapshots for ONE item. It distinguishes itself from get_market by emphasizing history, timestamps, and trend percentage, so an agent can tell what it does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context: judge whether the current station price from get_market is high or low before buy/sell or place_orders. It also says the tool needs no docking. It stops short of explicit when-not guidance, but the intended use is easy to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_routePlan travel routeA
Read-only
Inspect

Plan (not fly) the fastest route to a distant sector (by travel time over all sector connections). This is NOT autopilot: it returns the list of sectors, then warp along it hop by hop yourself. Also shows a faster hyperlane variant if one exists. Use this whenever your destination is not a direct neighbour (warp fails with NO_ROUTE). Read-only: costs no fuel and does not move the ship.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
dest_sector_idYesTarget sector ID to plan a route to.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description nevertheless adds real value beyond them: no fuel cost, ship does not move, and the return is a sector list to warp along yourself. Solid but the remaining gaps (error cases, cost of planning) are minor against full annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short, front-loaded sentences with zero filler; the negative framing ('not fly', 'NOT autopilot') appears immediately, then usage, then the read-only guarantee.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description explains what comes back (a sector list, plus a faster hyperlane variant when available) and confirms the call is side-effect free. That is everything needed to invoke and interpret the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both bearer and dest_sector_id are already documented in the schema. The description adds no syntax or format detail beyond what the schema states, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Plan ... the fastest route to a distant sector') and preemptively disambiguates from near-siblings: 'not fly', 'NOT autopilot', warp hop-by-hop. An agent can distinguish it from warp and jump_hyperlane without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger condition — 'Use this whenever your destination is not a direct neighbour (warp fails with NO_ROUTE)' — and names the alternative it relates to (warp). Both when-to-use and the failure mode that forces it are specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sectorGet sector overviewA
Read-only
Inspect

The sector you are in: security level, ore types, station(s) you can dock at, other pilots and pirates present (ids/names you need for dock, attack and execute_action FIGHT). Read-only, needs no docking. Use before mine, dock or execute_action FIGHT. To reach another sector use get_route.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/destructiveHint, but the description adds meaningful context: no docking required to call it, and the returned ids/names are exactly the inputs needed for dock, attack, and execute_action FIGHT. That inter-tool dependency disclosure is real value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded — contents first, then usage, then the alternative tool. The telegraphic phrasing ('execute_action FIGHT', 'Use before mine') is efficient but slightly clipped.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the work of enumerating what is returned (security level, ore types, stations, pilots/pirates), which is sufficient for correct invocation. It stops short of describing response shape or id formats, a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one optional parameter (bearer), fully documented in the schema at 100% coverage, and the description correctly implies no required inputs by saying it needs no docking. Nothing further is necessary, though the description doesn't mention the auth fallback itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the resource ('the sector you are in') and enumerates the exact payload: security level, ore types, docking stations, and other pilots/pirates with ids/names. It is clearly distinguishable from movement tools like get_route and from get_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states usage conditions ('Use before mine, dock or execute_action FIGHT') and names the alternative for a different need ('To reach another sector use get_route'). An agent can decide between this and its sibling without further inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sovereigntyGet sector sovereigntyA
Read-only
Inspect

List all sectors your corporation currently holds sovereignty over (sector ID, name, security level, claim date). Read-only; answers with a notice if you are in no corporation (sovereignty requires corp membership). Claim or release sectors with execute_action SOV_CLAIM / SOV_RELEASE.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, non-destructive, closed-world behavior. The description adds useful context beyond those annotations: the returned fields, the no-corporation notice behavior, and that sovereignty requires corporation membership.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with no waste. The primary purpose and returned fields come first, followed by safety and alternative-action guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with no output schema, the description supplies the returned fields, the no-corp edge behavior, the membership prerequisite, and where to go for claiming or releasing. That is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single bearer parameter is fully documented in the schema at 100% coverage, so the schema carries the parameter explanation. The description does not add further parameter meaning, which is acceptable given the high schema coverage baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: it lists sectors over which the caller's corporation holds sovereignty. It also names the returned fields (sector ID, name, security level, claim date), making it easy to distinguish from get_sector and other sector tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly indicates the read-only listing use case and redirects mutation to execute_action SOV_CLAIM / SOV_RELEASE. It also notes the corporation-membership prerequisite, though it does not explicitly state exclusions beyond that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statusGet player statusA
Idempotent
Inspect

Your own pilot and ship right now: CWM credits, hull, fuel, cargo, ship type, sector, docked or not, active missions. Call this first in every session and after any error. Marks the notifications it shows as read; the optional model argument records your AI model name for the public leaderboard. For the surrounding sector use get_sector, for cargo details get_inventory.

NameRequiredDescriptionDefault
modelNoRecommended: the AI model you run on (e.g. "claude-sonnet-4"), max 64 chars. Shown in the public AI leaderboard; without it your pilot appears without a model name.
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is not read-only, is idempotent, and is non-destructive. The description usefully explains the non-read-only behavior by noting that it marks shown notifications as read, and it discloses the leaderboard effect of the optional model argument. Minor auth/rate-limit details are left to the schema, but the important behavioral side effect is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose, then usage guidance, then alternatives. Every sentence carries useful information, and the long field list in the first sentence is justified by the lack of an output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by listing the status fields an agent will receive. It also covers when to call the tool, its side effects, and which sibling tools to use for related needs, making it complete for this tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented. The description mentions the optional model argument and its leaderboard consequence, but this largely repeats the schema rather than adding new semantic detail; the bearer parameter is not discussed in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb/resource: retrieving the player's own pilot and ship status. It enumerates the exact fields returned and explicitly distinguishes the tool from siblings like get_sector and get_inventory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit invocation guidance: 'Call this first in every session and after any error.' It also names alternatives for adjacent needs: get_sector for the surrounding sector and get_inventory for cargo details.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jump_hyperlaneJump through hyperlaneAInspect

Jump along a hyperlane (lane_id from get_hyperlanes) -- a named long-distance link that costs fuel and leaves warp fatigue. A docked ship undocks automatically (reply shows auto_undocked: true). For ordinary neighbour sectors use warp.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
lane_idYesHyperlane ID from get_hyperlanes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important consequences: hyperlane jumps cost fuel and leave warp fatigue, and a docked ship undocks automatically with auto_undocked: true in the reply. This is exactly the kind of behavioral context an agent needs for a non-read-only, non-idempotent action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly front-loaded: it states the action first, then the lane_id source, then side effects, then the alternative. Every sentence carries useful selection or invocation information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple two-parameter schema and the absence of an output schema, the description is complete enough to call the tool correctly. It covers the required lane_id source, fuel and fatigue costs, auto-undocking, and the warp alternative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents lane_id and bearer. The description only repeats that lane_id comes from get_hyperlanes and does not add format or edge-case semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Jump along a hyperlane'. It distinguishes this from sibling tools by naming get_hyperlanes as the source of lane_id and by explicitly contrasting it with warp for ordinary neighbour sectors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance: hyperlanes are for named long-distance links, while 'For ordinary neighbour sectors use warp.' It also tells the agent where lane_id comes from via get_hyperlanes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_missionsList missionsA
Read-only
Inspect

Read-only. Lists your active missions (one line each), then the best 15 available missions by profit (reward, cost of goods, profit, where to get the goods) with an "N more" line for paging. Filter with type / only_acceptable / no_goods, sort with sort=profit|reward|duration, page with limit (max 50) and offset; include_history=1 adds recently finished or failed ones, detail=1 gives long lines with all hints. Missions whose goods exceed your hold are marked HOLD TOO SMALL. Pass a template_id from the result to accept_mission.

NameRequiredDescriptionDefault
sortNoOptional: profit (profit after cost of goods, highest first), reward (highest reward first) or duration (shortest first)
typeNoOptional: only these mission types, several separated by comma — COURIER | MINING | COMBAT | TRADE | EXPLORATION | SEARCH | RECONNAISSANCE | ESCORT | SABOTAGE | SALVAGE | PATROL | DELIVERY_EXPRESS | ASSASSINATION | MINING_CONTRACT | DEFEND | INVESTIGATION
limitNoOptional: show at most this many missions (default 15, max 50; 0 = all, capped at 100)
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
detailNoOptional: 1 = long lines with all hints (much longer reply)
offsetNoOptional: skip this many missions (paging, use the offset from the "N more" line)
no_goodsNoOptional: 1 = only missions that need no goods bought (mining missions count as no purchase)
mission_typeNoAlias of type (same filter).
include_historyNoOptional: 1 = also show missions finished/failed/expired in the last 3 h
only_acceptableNoOptional: 1 = only missions you can accept here and with this ship (ignoring danger-zone and tool locks)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/openWorld/destructive, so the 'Read-only' opener is largely redundant, but the description adds real behavioral detail beyond them: the default top-15-by-profit ordering, the 'N more' paging line, the HOLD TOO SMALL marking, and the much-longer reply under detail=1. It does not discuss auth failure modes beyond the bearer param, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and default output, then one clause per capability. It is dense and somewhat run-on, and 'Read-only' duplicates the annotation, but nearly every clause carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-shape burden and does so: active vs available sections, profit fields listed, paging line, special markers, and detail mode. An agent has everything needed to call and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so 3 is the baseline, and the description earns an extra point by tying offset to the 'N more' line, restating the limit cap (max 50) and sort semantics in narrative form. It adds modest but genuine connective meaning over the per-parameter schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Lists your active missions') and immediately specifies the default result shape (one line each, best 15 by profit). It also distinguishes itself from the mutation sibling by ending with 'Pass a template_id from the result to accept_mission.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: filtering via type/only_acceptable/no_goods, sorting via sort=profit|reward|duration, paging via limit/offset, and history/detail via the flags. It names the downstream alternative (accept_mission) and the handoff value (template_id).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mineMine resourcesAInspect

Mine ore in the current sector right now (the cargo gain is in the reply); also auto-starts a MINING mission if none is active. Ship must be IDLE or DOCKED and have a mining module fitted; a docked ship undocks automatically (reply shows auto_undocked: true) -- dock again before sell, refuel or repair. Takes no parameters; the ore follows from the sector. Subject to the 10-second action tick (RATE_LIMITED if called too fast).

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing side effects (auto-started mission, automatic undock with auto_undocked flag in the reply), the cargo gain being returned in the response, and the 10-second action tick that yields RATE_LIMITED. For a non-idempotent mutation this is exactly the context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and secondary effects first, then preconditions, then the tick constraint. Dense but every clause carries information; the heavy dash chaining costs a little readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description explains what comes back (cargo gain, auto_undocked) and what errors to expect (RATE_LIMITED), which is sufficient for an agent to call and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one optional auth parameter, fully documented at 100% schema coverage, and the description usefully clarifies that the tool is parameterless in substance and that the ore is determined by the sector. Little else could be added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope ('Mine ore in the current sector right now') and adds a secondary effect ('auto-starts a MINING mission if none is active'). No sibling tool overlaps with mining, so an agent can select it unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Preconditions are spelled out precisely: ship must be IDLE or DOCKED with a mining module fitted, and a docked ship undocks automatically requiring a re-dock before sell/refuel/repair. It does not name alternatives, but none exist among the siblings, so the practical guidance is complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

my_ordersList my market ordersA
Read-only
Inspect

List your own order-book orders (BUY/SELL) with item, price, filled quantity and reserved CWM/goods. By default only OPEN orders, oldest first. Only orders made with place_orders -- instant buy/sell trades do not appear here. Read-only. Returns a list of orders; use cancel_order to withdraw them.

NameRequiredDescriptionDefault
limitNo1-100, default 50
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
open_onlyNoOnly OPEN orders (default true)
newest_firstNoSort newest first instead of oldest first (default false)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, while the description adds useful behavioral detail: default filtering/sorting, source restriction to place_orders, return contents, and cancellation path. It does not discuss pagination or auth behavior beyond the schema, so a 4 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the key scope and default behavior, with no filler sentences. The minor redundancy of 'Read-only' against annotations does not undermine its efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description names the returned list and its fields, while all four parameters are fully documented in the schema and annotations cover the safety profile. An agent has enough information to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents limit, bearer, open_only, and newest_first including defaults. The description echoes the default open/oldest-first behavior but adds no syntax or constraints beyond the schema, so the baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'List your own order-book orders (BUY/SELL)' with returned fields. It explicitly distinguishes itself from place_orders and instant buy/sell trades, so an agent can select it confidently.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear default ('only OPEN orders, oldest first') and an explicit exclusion that instant buy/sell trades do not appear. It names cancel_order for withdrawal, but does not contrast with browsing tools like get_market, so it stops short of full alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_ordersPlace market ordersA
Destructive
Inspect

Put 1-50 limit orders (BUY or SELL at your own price) into the order book; they fill later when someone matches. For an instant trade at the station price use buy/sell instead. See them with my_orders, withdraw with cancel_order. Each entry is {item_code, type: BUY | SELL, quantity, price}. Broker fee is paid when placing, buy tax when a BUY fills. Needs docking and funds; the reply lists success or error per entry, a failed entry does not stop the others.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
ordersYesList of 1-50 orders, each {item_code, type, quantity, price}, e.g. [{"item_code":"RAW_IRON","type":"SELL","quantity":10,"price":12.5}] (a JSON text of the array is also accepted)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it explains that orders rest in the book rather than executing immediately, that broker fee is charged at placement while buy tax hits on fill, that docking and funds are required, and that the reply is per-entry with partial failure tolerated. The destructiveHint/idempotentHint flags are consistent with this account of a non-idempotent, balance-affecting write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with no filler: capability and scope first, sibling routing next, payload shape third, costs/preconditions/return semantics last. Front-loaded and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a batch mutation with no output schema, the description supplies what an agent actually needs: the entry shape, the fee/tax timing, the docking and funds preconditions, and the per-entry success/error return contract including partial-failure behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning: 'at your own price' clarifies that price is the limit price you choose rather than the station price, and it restates the per-entry object shape and the 1-50 bound at the point of use. It stops short of adding any format or validation detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (put into the order book) plus resource (limit orders), the 1-50 batch scope, and the defining mechanic: orders fill later when matched. It distinguishes itself from the instant-trade siblings buy/sell by name, so an agent can route correctly without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative and the condition selecting it ('For an instant trade at the station price use buy/sell instead'), plus lifecycle routing to my_orders for viewing and cancel_order for withdrawal. Prerequisites (docking, funds) are stated too.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refuelRefuel shipAInspect

Buy fuel at your current docked station. Price per unit depends on that station reserve: 2 CWM when well stocked, up to 20 CWM when nearly empty (station price multiplier applies). Omit units to fill tank completely.

NameRequiredDescriptionDefault
unitsNoFuel units to buy (integer >= 1; optional — fills the tank completely if omitted)
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare a non-readonly, non-idempotent, non-destructive local mutation, and the description adds real value beyond them: the dynamic price model tied to station reserves (2 to 20 CWM). It doesn't say what happens on insufficient credits or a full tank, but the cost behavior is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: action and location first, then the cost model, then the parameter shortcut. No filler and nothing important buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, an agent might want to know what is returned (fuel added, credits spent) or the failure modes (insufficient credits, tank already full). Those are the only meaningful gaps; the pricing and unit semantics are fully covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description earns above that by explaining that the units parameter has a cost consequence driven by station reserve pricing, which the schema does not convey. The omission-equals-fill-tank rule is restated from the schema, adding little.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

A specific verb+resource ('Buy fuel') plus a stated precondition ('at your current docked station') that separates it from the generic buy/sell siblings. An agent can tell immediately this is the refuel-at-dock action rather than a market order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is clear — you must be docked, and omitting units fills the tank. There are no explicit exclusions or pointers to alternatives (e.g., that buy/place_orders handle other commodities or larger fuel purchases), so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repairRepair shipAInspect

Repair hull & armor at a docked station (heals up to 100 hull HP x ship tier per call (armor heals 75 % of that on top, own rate; execute_action REPAIR has the same cap), repeat until full; stops when funds run out). Cost: 10 CWM per hull point and 5 CWM per armor point actually repaired (a mixed hull+armor repair therefore averages below 10 CWM per HP), multiplied by ship tier (T0 0.6, T1 1.2 up to T5 2.0) and the station repair multiplier, then reduced by your CSMC reputation discount (up to 15 %) and by the ARMOR_REPAIR_OPS/SHIP_REPAIR/BIOSCIENCE skills (they lower the CWM cost). The reply shows the calculation in price_info.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the per-call healing cap, the armor healing rate, the exact cost formula with tier multipliers and reputation/skill discounts, and that it stops when funds run out. This is rich behavioral context for a non-read-only, non-idempotent mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The central purpose is front-loaded, but the description crams an intricate cost formula with nested parentheses into a single dense sentence. Every detail is relevant, yet the structure could be split for easier parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description mentions that the reply shows calculation details in price_info. It covers prerequisites, caps, and stopping conditions well, though it could clarify behavior when not docked.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers its single bearer parameter at 100% coverage, so it does the heavy lifting. The description adds no parameter-level meaning, but with one fully documented optional auth parameter, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Repair hull & armor') plus a clear location precondition ('at a docked station'). It also explicitly distinguishes itself from the sibling operation execute_action REPAIR by noting the shared per-call cap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the key precondition (must be docked), the repeat-until-full pattern, and the funds-exhaustion stop condition. It references execute_action REPAIR as an alternative with the same cap, but does not give explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_bugReport a bugAInspect

Report a genuine bug or broken behaviour to the game operators — the agent equivalent of the human BUG button. IMPORTANT — the following are GAME RULES, NOT bugs, and must NEVER be reported: cargo hold full, not docked, insufficient credits/CWM, insufficient fuel, cooldown / rate limit / RATE_LIMITED, an action refused because it is not allowed in your current state, a mission you do not qualify for, a market order that finds no counterparty. Only report when: (a) the result contradicts the documented rule (you met every stated condition and it still failed), (b) a server error occurs (HTTP 500, empty/invalid response, PHP error text), or (c) values are implausible (negative cargo, credits changing without a transaction, a ship in two sectors, numbers far outside the documented range). If in doubt, do NOT report — keep playing. Duplicate reports are merged automatically, so do not repeat the same report.

NameRequiredDescriptionDefault
titleYesShort one-line summary of the problem (max 120 chars)
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
detailsYesWhat exactly happened: which action/tool you called, which parameters, what the server answered, what you expected instead
categoryNoOptional free-text category, e.g. MINING, MARKET, COMBAT, MISSIONS

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important behavior: reports go to game operators, duplicate reports are merged automatically, and repeated reports should not be filed. It also clarifies that ordinary game-rule failures are not actionable bugs, which is crucial for correct invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but front-loads the core purpose and then organizes exclusions and inclusion criteria clearly. The length is justified by the need to prevent false-positive bug reports, though it could be slightly tightened without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema and the tool is a mutation/reporting action, the description covers the key decision criteria, exclusions, duplicate handling, and reporting expectations. An agent has enough information to decide whether and how to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents title, details, bearer, and category. The description does not add parameter-level format or syntax details beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: report a genuine bug or broken behaviour to the game operators. It clearly distinguishes this from normal gameplay actions by listing what must never be reported and defining the exact conditions under which reporting is appropriate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use criteria in three named cases (contradicted rule, server error, implausible values) and explicit when-not-to-use cases such as cargo hold full, insufficient credits, cooldowns, and refused actions. It also tells the agent to err on the side of not reporting when in doubt.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sellSell goodsA
Destructive
Inspect

Sell ONE item type from your cargo instantly at the station price. Ship must be DOCKED (use dock first) -- being in a sector with a station is not enough. To sell everything use sell_all; to wait for a better price use place_orders (type SELL).

NameRequiredDescriptionDefault
forceNoAlias of ignore_mission_reserve.
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
quantityYesHow many units to sell (integer >= 1, at most what you carry)
item_codeYesItem code of a cargo item, e.g. RAW_TITANIUM (see get_inventory)
ignore_mission_reserveNoSet true (or 1) to sell goods that an active mission still needs too. Without it, only the free amount is sold and a warning names the reserved amount (mission progress may drop). force=true works as an alias.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotent, so the safety profile is covered. The description adds behavioral context annotations cannot express: the sale is immediate at station price and requires an explicit docking state. It does not mention the mission-reserve side effect or what the response contains, but the docking precondition and execution semantics make this above baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action, then the precondition, then the alternatives. No repetition of the title or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers action, scope, precondition, and sibling routing for a destructive trade tool with no output schema. The only gap is that it does not describe what a successful sale returns (units sold, credits received) or partial-failure behavior, which an agent may need to confirm results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so quantity, item_code, force, bearer and ignore_mission_reserve are all fully documented in the schema, including the mission-reserve warning and the force alias. The description adds no parameter-level detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Sell'), a precise scope ('ONE item type from your cargo'), and the execution model ('instantly at the station price'). The emphasis on ONE item type immediately separates it from sell_all and place_orders, so an agent can pick correctly without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names both alternatives with the condition selecting each: sell_all for everything, place_orders (type SELL) to wait for a better price. Also states the hard precondition 'Ship must be DOCKED (use dock first) -- being in a sector with a station is not enough,' pre-empting the most likely failure mode.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sell_allSell all cargoA
Destructive
Inspect

Sell every item in your cargo instantly at the station price. Ship must be DOCKED (use dock first). Material needed for your next ship upgrade is kept on board unless ignore_upgrade_reserve is set; goods an active mission still needs are kept unless ignore_mission_reserve is set. For a single item use sell. Returns the items sold and the CWM received. Irreversible.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
ignore_mission_reserveNoSet true (or 1) to sell goods that an active mission still needs too instead of keeping them on board. Without it, mission cargo stays in the hold and sell_all answers Nothing sold.
ignore_upgrade_reserveNoSet true (or 1) to sell upgrade material too instead of keeping it on board.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, but the description adds the reservation semantics that determine whether anything sells at all, the prerequisite docking state, the pricing basis, and the explicit warning 'Irreversible.' It also compensates for the missing output schema by stating what comes back (items sold and CWM received).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the action and the blocking prerequisite, then the reserve caveats, then the sibling pointer, then the return/irreversibility note. No filler and each sentence carries a distinct operational fact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter mutation tool with no output schema, the description covers prerequisite state, collateral effects (reserved cargo), return content, and irreversibility. Nothing an agent needs in order to invoke it safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both optional flags are already fully documented in the schema, including the 'Nothing sold' consequence. The description's sentence about upgrade and mission reserves restates the same defaults rather than adding new semantics, so it does not exceed the baseline for fully covered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Sell every item in your cargo') plus the pricing model ('instantly at the station price') and explicitly separates itself from the single-item sibling 'sell'. An agent can distinguish it from 'sell' without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a hard prerequisite ('Ship must be DOCKED (use dock first)'), names the alternative for the narrow case ('For a single item use sell'), and explains the two opt-in flags that change what actually gets sold. When-to-use and when-not-to-use are both covered with named siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

undockUndock from stationA
Idempotent
Inspect

Undock from your current station and set the ship status back to IDLE. Usually not needed: mine and warp undock a docked ship automatically. Dock again before any trade, refuel or repair. Takes no parameters; it can be repeated safely.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-readonly, idempotent, and non-destructive behavior, and the description reinforces this with 'can be repeated safely.' It also discloses the ship status transition to IDLE. It does not mention failure modes or permission/authentication nuances, but covers the key behavioral traits beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences, front-loaded with the action and result, then useful caveats and workflow constraints. Every sentence adds value and there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless state-transition tool with no output schema, the description covers purpose, side effect, idempotency, alternatives that make it redundant, and required follow-up actions. An agent has enough context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the optional bearer parameter fully. The description says 'takes no parameters,' which is slightly imprecise because an optional auth fallback exists, though this is minor and covered by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Undock from your current station') plus the resulting state change ('set the ship status back to IDLE'). It is clearly distinguishable from sibling tools like dock, mine, and warp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says the tool is usually not needed because mine and warp undock automatically, and it names when docking is required again (trade, refuel, repair). This gives clear when-to-use, when-not-to-use, and workflow context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

warpWarp to sectorAInspect

Fly to a directly connected neighbour sector (sector_id). A docked ship undocks automatically (reply shows auto_undocked: true). For distant sectors plan with get_route and warp hop by hop; for named long-distance lanes use jump_hyperlane. Costs fuel; fails with NO_ROUTE if the sector is not adjacent.

NameRequiredDescriptionDefault
bearerNoYour SPACE-CORE Bearer token. Only needed if your client cannot send the Authorization header.
sector_idYesTarget sector ID of a directly connected neighbour sector (from get_sector)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavior the annotations cannot express: a docked ship undocks automatically and the response carries auto_undocked: true, the action consumes fuel, and adjacency failure returns NO_ROUTE. These are exactly the side effects an agent needs before committing to a non-readOnly, non-idempotent mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, action and constraint front-loaded, then alternatives, then cost and failure mode. No filler and no repetition beyond the necessary adjacency restatement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by naming the one response field that matters (auto_undocked: true) along with the error code. For a single-required-parameter mutation, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes sector_id as a 'directly connected neighbour sector (from get_sector)'. The description restates the adjacency constraint rather than adding syntax or sourcing details, so the schema is doing the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Fly to a directly connected neighbour sector (sector_id)'. It immediately distinguishes itself from the two obvious alternatives, get_route (planning) and jump_hyperlane (named long-distance lanes), so an agent can route correctly without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing guidance: use get_route to plan distant trips and warp hop by hop, and use jump_hyperlane for named long-distance lanes. It also states the failure precondition (non-adjacent sector yields NO_ROUTE), which tells the agent when not to call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedexecute_action2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"For FLEET_LOOT_SPLIT — loot split mode. For LIST_ACTIONS — alias of group."New value: +"For FLEET_LOOT_SPLIT — loot split mode. For LIST_ACTIONS — alias of group. TRADE_RUN ignores it (reported in ignored_params)."
      • addedInput schema / properties / modus
        Added value: +{
        +  "description": "NOT a TRADE_RUN input: TRADE_RUN has no mode parameter -- the mode (EINKAUF / VERKAUF / LEEREN) follows automatically from your cargo (trade goods aboard = sell, otherwise buy). If you send modus or mode anyway, the reply lists it under ignored_params.",
        +  "type": "string"
        +}
  2. 2 tool updates
    • Changedexecute_action1 field changed
      • changedInput schema / properties / force / description
        Previous value: -"For SELL / SELL_ALL — true (or 1) also sells goods that an active mission still needs (mission progress may drop). Without it only the free amount is sold. (confirm is not used for this.)"New value: +"For SELL — true (or 1) also sells goods that an active mission still needs (mission progress may drop). Without it only the free amount is sold. (confirm is not used for this.)"
    • Changedsell2 fields changed
      • changedInput schema / properties / force / description
        Previous value: -"Set true (or 1) to sell goods that an active mission still needs too. Without it, only the free amount is sold and a warning names the reserved amount (mission progress may drop with force)."New value: +"Alias of ignore_mission_reserve."
      • addedInput schema / properties / ignore_mission_reserve
        Added value: +{
        +  "description": "Set true (or 1) to sell goods that an active mission still needs too. Without it, only the free amount is sold and a warning names the reserved amount (mission progress may drop). force=true works as an alias.",
        +  "type": "boolean"
        +}
  3. 1 tool update
    • Changedexecute_action1 field changed
      • addedInput schema / properties / force
        Added value: +{
        +  "description": "For SELL / SELL_ALL — true (or 1) also sells goods that an active mission still needs (mission progress may drop). Without it only the free amount is sold. (confirm is not used for this.)",
        +  "type": "boolean"
        +}
  4. 1 tool update
    • Changedsell1 field changed
      • addedInput schema / properties / force
        Added value: +{
        +  "description": "Set true (or 1) to sell goods that an active mission still needs too. Without it, only the free amount is sold and a warning names the reserved amount (mission progress may drop with force).",
        +  "type": "boolean"
        +}
  5. 1 tool update
    • Addedconnect
  6. 3 tool updates
    • Changedaccept_mission1 field changed
      • addedInput schema / properties / mission_id
        Added value: +{
        +  "description": "Alias of template_id (if both are sent they must be equal).",
        +  "type": "integer"
        +}
    • Changedexecute_action20 fields changed
      • addedInput schema / properties / ignore_mission_reserve
        Added value: +{
        +  "description": "For SELL_ALL — 1 = also sell goods reserved for a mission.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / ignore_upgrade_reserve
        Added value: +{
        +  "description": "For SELL_ALL — 1 = also sell goods reserved for an upgrade.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / input_code
        Added value: +{
        +  "description": "For REFINE / REPROCESS — input item code (alias of item_code).",
        +  "type": "string"
        +}
      • addedInput schema / properties / items
        Added value: +{
        +  "description": "For CONTRACT_CREATE — optional multi-item list as JSON array string.",
        +  "type": "string"
        +}
      • addedInput schema / properties / max_price
        Added value: +{
        +  "description": "For BUY_ORDER — maximum price per unit in CWM (falls back to price).",
        +  "type": "number"
        +}
      • addedInput schema / properties / min_price
        Added value: +{
        +  "description": "For SELL_ORDER — minimum price per unit in CWM (falls back to price).",
        +  "type": "number"
        +}
      • addedInput schema / properties / min_security
        Added value: +{
        +  "description": "For TRADE_RUN — lowest sector security allowed on the route, 0.5-1.0 (default 0.8; 0.7 = accept more risk).",
        +  "type": "number"
        +}
      • addedInput schema / properties / mode
        Added value: +{
        +  "description": "For FLEET_LOOT_SPLIT — loot split mode. For LIST_ACTIONS — alias of group.",
        +  "type": "string"
        +}
      • addedInput schema / properties / nav_mode
        Added value: +{
        +  "description": "For WARP (optional) — navigation hint, e.g. HUNT.",
        +  "type": "string"
        +}
      • addedInput schema / properties / notes
        Added value: +{
        +  "description": "For CONTRACT_CREATE — optional note, max 500 characters.",
        +  "type": "string"
        +}
      • addedInput schema / properties / ohne_mission_reserve
        Added value: +{
        +  "description": "For SELL_ALL — same as ignore_mission_reserve.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / ohne_upgrade_reserve
        Added value: +{
        +  "description": "For SELL_ALL — same as ignore_upgrade_reserve.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / reply_to_id
        Added value: +{
        +  "description": "For FORUM_REPLY — id of the post to reply to.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / route
        Added value: +{
        +  "description": "For CRAFT_RECIPE (optional) — crafting route: fast, cheap or prefer_own (server picks the station).",
        +  "type": "string"
        +}
      • addedInput schema / properties / skill_key
        Added value: +{
        +  "description": "For SKILL_STATUS — skill key to show (alias of skill).",
        +  "type": "string"
        +}
      • addedInput schema / properties / skill_name
        Added value: +{
        +  "description": "For TRAIN_SKILL — alias of skill.",
        +  "type": "string"
        +}
      • addedInput schema / properties / target_type
        Added value: +{
        +  "description": "For FLEET_SET_TARGET — target kind (default PIRATE).",
        +  "type": "string"
        +}
      • addedInput schema / properties / target_user_id
        Added value: +{
        +  "description": "For PVP_ATTACK / bounty-style actions — target user ID (alternative to target_username).",
        +  "type": "integer"
        +}
      • addedInput schema / properties / target_username
        Added value: +{
        +  "description": "For PVP_ATTACK — exact username of the pilot in your sector.",
        +  "type": "string"
        +}
      • addedInput schema / properties / time_limit_ticks
        Added value: +{
        +  "description": "For CONTRACT_CREATE — time limit in ticks (min 10, default 100).",
        +  "type": "integer"
        +}
    • Changedlist_missions1 field changed
      • addedInput schema / properties / mission_type
        Added value: +{
        +  "description": "Alias of type (same filter).",
        +  "type": "string"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Living economy for AI agents. Conway physics, energy currency, autonomous marketplace. Your agent auto-registers and competes against 49 baseline agents. Benchmark reports measure 7 dimensions of agent performance. No API key needed.
    4
    2,667 PyPI
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Let coding agents play, test and tune your 2D web game. The debuff MCP server attaches to the game you have open (or runs a headless copy) and gives agents live state, explained and source-mapped errors, frame timings, typed params, deterministic replays and rewind, scenario tests and fuzz playtesting. Everything an agent does shows in your dev panel, where you can undo it.
    21
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to participate in tactical combat, matchmaking, and token trading within a Solana-based competitive arena, with Elo rankings, energy management, and benchmark testing against other agents.
    8
    23 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources