Skip to main content
Glama
tabbykat113

ksp-mods-mcp

by tabbykat113

get_part_tool

Retrieve full stats for a KSP part from a mod's cached ZIP, including module data and resources. Use list_parts_tool for the part name and provide the mod identifier.

Instructions

Get full details for a single KSP part from a mod's cached download ZIP.

Returns structured part data including formatted stats for all supported modules (engines, RCS, reaction wheels, solar panels, etc.) and a list of unsupported module names.

Use list_parts_tool with detail="basic" first to get valid part names. Only works for mods present in the local CKAN download cache.

Args: identifier: Exact CKAN mod identifier (e.g. "CryoEngines"). part_name: Internal part name as it appears in the CFG file (e.g. "cryoengine-stromboli-1"). This is the "name" field, not the display title. Use list_parts_tool to find it.

Returns a part object with: name, title, category, cost, mass, tech_required, bulkhead_profiles, modules (list of formatted module data per supported module type), unsupported_modules (list of module type names with no formatter), resources (list of {name, amount, max_amount}). Returns an error object if the mod is not cached, the ZIP cannot be read, or the part name is not found.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
part_nameYes
identifierYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it delivers: it discloses the partial-success behavior (formatted stats for supported modules plus a list of unsupported module names), and enumerates three specific failure modes returning an error object (mod not cached, ZP unreadable, part name not found). It stops short of explicitly stating this is a read-only operation, but 'Get' semantics strongly imply it.

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 longer than average, but it is organized into clear sections (summary, usage guidance, Args, Returns) and every sentence carries information. Minor redundancy: the cache constraint appears twice ('cached download ZP' in summary and 'local CKAN download cache' in usage). A small tightening would make it flawless, but structure is strong.

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 an output schema exists to cover return values, the description adds precisely the non-schema context an agent needs: the prerequisite cache condition, the correct calling sequence via list_parts_tool, full parameter semantics, and error-object behavior. For a 2-parameter read tool with no annotations, nothing critical is missing—an agent can invoke this correctly on first try without opening any other tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate—and it does. The Args section explains both parameters beyond the schema: identifier gets a format example and the word 'Exact'; part_name gets a CFG-file source explanation, an example, the critical warning that it's the 'name' field not the display title, and a pointer to list_parts_tool. This is model-level 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?

The description opens with a specific verb+resource: 'Get full details for a single KSP part from a mod's cached download ZIP.' This clearly distinguishes it from siblings: list_parts_tool (lists parts), get_mod_tool (mod-level data), and search_mods_tool (search). The word 'single' and the mention of module-level stats make the scope unambiguous.

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 is provided: 'Use list_parts_tool with detail="basic" first to get valid part names.' It also states the hard prerequisite—'Only works for mods present in the local CKAN download cache'—so an agent knows when the tool will fail. This is exactly the when/when-not guidance that helps an agent select correctly.

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