Skip to main content
Glama

Resolve dependencies

resolve_dependencies
Read-only

Resolves full transitive dependencies for one or more Thunderstore mods and returns the final install set, missing dependencies, version conflicts, and dependency tree.

Instructions

Full transitive dependency closure for one or more package versions (latest if no version given). Returns final install set (highest requested version wins, as r2modman does), missing deps, multi-version pins, and the tree.

Input Schema

NameRequiredDescriptionDefault
packagesYesMods as "Owner-Name" or "Owner-Name-1.2.3"
communityYesThunderstore community identifier, e.g. "lethal-company", "riskofrain2", "valheim". Use list_communities to discover.
includeTreeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

This description adds significant behavioral context beyond the simple 'readOnlyHint' annotation. It explicitly lists all return states (final install set, missing deps, multi-version pins, and the tree), detailing the complex outputs of the closure operation.

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 highly dense and functional. It front-loads the most important technical term ('Full transitive dependency closure') and defines the scope of the operation in a single, efficient paragraph.

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 complexity of dependency management and the lack of an output schema, this definition is exceptionally complete. It covers the input logic, the conflict resolution rules, and precisely what data the agent can expect back.

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?

While schema coverage is moderate at 67%, the description adds crucial semantic meaning. It clarifies that the input `packages` are used for dependency resolution, not merely listing files, and connects the `includeTree` flag to a specific structural output ('the tree').

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 identifies the core purpose: calculating 'Full transitive dependency closure.' It specifies the resource (package versions) and the specific technical function performed by the tool.

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 provides helpful usage rules by stating how the tool handles missing parameters ('latest if no version given'). It also sets expectations regarding logic, noting that 'highest requested version wins,' guiding the agent on the tool's internal decision-making process.

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