Skip to main content
Glama

list_ships

Read-onlyIdempotent

List all ships you own and their locations (Shows all owned ships with stats and where they are stored. Does not require docking. Each ship carries module_type_ids — every module fitted to it — so you can find which hull holds a given module (a survey scanner, a mining laser) across your whole fleet in one call, then read the full fit with get_ship ship_id=.)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
session_idYesYour session ID from login/register

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description does not contradict these. It adds meaningful behavioral context: the call does not require docking, it returns per-ship module_type_ids for all fitted modules, and it shows stored locations. This goes beyond the basic annotation hints and helps the agent predict the tool's behavior accurately.

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 core statement is front-loaded: 'List all ships you own and their locations.' The subsequent parenthetical adds valuable details about stats, storage, no-docking requirement, module_type_ids, and the get_ship follow-up. It is somewhat long and slightly repetitive ('List all ships you own' vs 'Shows all owned ships'), but every explanatory clause contributes to usability.

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 present, the description carries the burden of explaining return contents, and it does so: stats, locations, and module_type_ids. It also covers an important operational detail ('Does not require docking') and gives a concrete workflow ending in get_ship. It does not describe response format or edge cases, but for a low-complexity read-only listing tool this is adequate.

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 single session_id parameter is fully documented in the schema. The description itself adds no parameter-level details, so it does not need to compensate. This aligns with the baseline score for complete schema coverage.

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 clearly states the specific action: listing all ships the user owns, along with stats and stored locations. It also differentiates this from get_ship by explaining that list_ships gives a fleet-wide overview with module_type_ids, while get_ship provides the full fit for a specific hull. The verb 'list' plus the resource 'ships' makes the purpose 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?

The description gives strong context for when to use this tool: when you need a fleet-wide view or need to locate which ship carries a particular module across the entire fleet. It explicitly routes follow-up detailed inspection to get_ship ship_id=<id>. However, it does not explicitly address when not to use it relative to other ship-related siblings like fleet or browse_ships.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools are clearly distinct, targeting specific actions and resources. A few overlaps exist (e.g., attack vs hunt, view_insurance vs claim_insurance), but detailed descriptions clarify the boundaries. The scale makes selection harder, but each tool has a clear purpose.

Naming Consistency4/5

The majority use a consistent verb_noun snake_case pattern (e.g., create_buy_order, get_cargo, accept_mission). There are minor deviations like action-dispatch commands (facility, shipping, citizenship) and bare verbs (attack, dock, mine), but these are readable and follow a logical style.

Tool Count1/5

With 212 tools, the server far exceeds any reasonable scope for an MCP. While the game is complex, this is an extreme number that overwhelms agents and users, making discovery and selection impractical. The calibration considers 25+ already too many, and 212 is extreme.

Completeness5/5

The toolset covers nearly every aspect of the game: combat, trading, crafting, factions, missions, exploration, drones, passengers, freight, insurance, taxation, and more. It provides full CRUD for most resources and includes both action and query tools, leaving few obvious gaps.

Resources