Skip to main content
Glama
tabbykat113

ksp-mods-mcp

by tabbykat113

get_recommendations_tool

Find related Kerbal Space Program mods by analyzing CKAN dependency and recommendation relationships. Provide known mod identifiers to get deduplicated related mods with relationship categories and sources.

Instructions

Get mods related to a given list of mods via CKAN dependency/recommendation relationships.

For each result, shows the same fields as search_mods plus the relationship category and which input mods it was found through.

If the same mod appears via multiple input mods or multiple relationship types, it is deduplicated: the highest-priority category wins, and all source mods are listed.

Args: identifiers: List of CKAN mod identifiers to find recommendations for. Use search_mods to find identifiers first. categories: Which relationship categories to include. Defaults to ["depends", "recommends", "suggests"]. Available categories (in priority order): - "depends": mods that the input mods depend on - "supports": mods that the input mods declare support for - "recommends": mods recommended by the input mods - "suggests": mods suggested by the input mods - "depends_by": mods that depend on any of the input mods - "supported_by": mods that declare support for any of the input mods - "recommended_by": mods that recommend any of the input mods - "suggested_by": mods that suggest any of the input mods Pass ["all"] to include all categories. limit: Number of results per page (default 20, max 100). offset: Pagination offset (default 0).

Returns JSON with keys: total, offset, limit, results. Each result has: identifier, name, abstract, tags, authors, max_ksp_version, latest_version, last_updated_at, download_count, download_size, install_size, category, related_mods.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
categoriesNo
identifiersYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full disclosure burden and meets it thoroughly: it discloses deduplication semantics ('the highest-priority category wins, and all source mods are listed'), category priority ordering, default categories, the meaning of each relationship type (depends, supports, recommends, suggests), and the pagination defaults. No behavioral trait such as dedup or priority is hidden.

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 well organized: purpose statement first, then dedup behavior, an Args block with clean bullet points, and a return-format note. It is long, but the category definitions, priority list, and result-field enumeration earn their place rather than padding; each sentence adds operational 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?

Despite 0% schema parameter coverage and no annotations, the description covers all four parameters with semantics and defaults, explains dedup and priority behavior, and enumerates the return JSON keys and per-result fields. An agent has everything needed to call the tool correctly, and the existing output schema covers the structured return contract.

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. identifiers comes with a workflow hint (use search_mods to find them), categories lists every option in priority order plus the special 'all' value and the default set, and limit/offset state their defaults and the max of 100. This adds substantial meaning beyond the bare schema for every 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?

The opening line, 'Get mods related to a given list of mods via CKAN dependency/recommendation relationships,' names a specific verb, resource, and mechanism. It clearly distinguishes this from siblings like search_mods_tool (text search) and get_mod_tool (fetch a single mod) without needing to open 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 Guidelines4/5

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

The description gives an explicit workflow prerequisite — 'Use search_mods to find identifiers first' — and the purpose implicitly defines when to use it: when the agent has mod identifiers and wants related/dependent mods. However, it never explicitly states when not to use this tool or how it differs from siblings beyond the prerequisite, so exclusion guidance is left to inference.

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