Skip to main content
Glama
apettey

eve-esi-mcp

by apettey

Fit of an actual ship

ship_fitting
Read-only

Reads a character's real ship fitting (default: current ship) and returns modules, charges, drones, cargo, attributes, skill check, EFT and DNA. ESI asset cache may delay recent refits.

Instructions

Reads how a real ship in the character's assets is fitted (default: the ship they are flying) and returns the same rich output as fitting_get: named modules/charges per slot, drones, cargo, resources, attributes, skill check, EFT and DNA. Note ESI caches assets for up to an hour, so very recent refits may not show yet.

Input Schema

NameRequiredDescriptionDefault
shipNo'current' (default), a ship item_id, or a ship type/custom name.
characterNoCharacter name or id to act as. Defaults to the active character (see characters_list / character_select).
attributesNoPer-module attribute detail: none, summary (default; fitting-relevant categories) or full.
include_cargoNoInclude cargo/other holds (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnlyHint/openWorldHint annotations, the description discloses a real behavioral trait agents must know: ESI caches assets for up to an hour so recent refits may be stale. It also enumerates what the payload contains. It does not discuss auth requirements or failure modes, 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?

Two sentences, both front-loaded: the first gives purpose, scope and output shape, the second gives the ESI cache caveat. No filler and nothing buried.

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, so the description carries the return-value burden and does so by listing the concrete payload sections (modules/charges, drones, cargo, resources, attributes, skill check, EFT, DNA). Combined with the caching caveat, an agent has everything needed to call and interpret it.

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 all four parameters are already documented in structured fields, including the 'current' default and the attributes enum. The description adds only the in-line restatement of the own-ship default, no extra syntax or format 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?

States a specific verb and resource ('Reads how a real ship ... is fitted'), defines the default target (the ship they are flying), and explicitly contrasts itself with fitting_get by saying the output mirrors that tool but is sourced from actual assets. An agent can distinguish it from fittings_list/fitting_get 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 conveys clear context: use this when you want the real, undocked fitted state of a ship the character owns, with a documented default of 'current'. It stops short of a full routing rule (it never says 'for saved fits use fitting_get instead'), so the alternative is implied by the shared-output note rather than stated.

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